常用SQL_数据库查询总结1

  • 一、增删改查
    • 1、增(创建表、复制表、创建视图、创建存储过程)
    • 2、删(删除表,删除行数据,清空表数据)
    • 3、改(改行数据,改表结构,增加行数据)
    • 4、查
  • 二、其他常用sql语句
    • 1、insert和 select 结合实现“插入某字段在数据库中的最大值+1”
    • 2、使用正则过滤查询结果(Oracle)
    • 3、读取XML格式文件,openxml方法
    • 5、日期类型
    • 6、字符串(替换)

SQLSERVER环境

一、增删改查

简单根据语句的作用,分类整理一下。

1、增(创建表、复制表、创建视图、创建存储过程)

--创建表CREATE TABLE TEST(ID varchar (50) NOT NULL,NAME varchar (50) NULL) ;--复制表  与Oracle一致--复制表结构和数据CREATE TABLE USER4COPY AS SELECT * FROM USER;--复制表结构CREATE TABLE USER4COPY AS SELECT * FROM USER WHERE  1 = 2;--创建视图
--判断是否存在IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'VW_TEST')DROP VIEW VW_TEST  --存在的话删除GOCREATE VIEW VW_TEST AS SELECT * FROM TEST1    --创建存储过程IF (EXISTS (SELECT * FROM SYS.OBJECTS WHERE NAME = 'GETUSER')) DROP PROC GETUSERGOCREATE PROC GETUSER@ID INT --参数ASSET NOCOUNT ON;  --不返回计数,提高应用程序性能SELECT * FROM USER WHERE ID = @ID  --执行SQL语句
--调用存储过程EXEC GETUSER 201909260001;

2、删(删除表,删除行数据,清空表数据)

drop table 表名称
delete from 表名称 where 列名称 = 值
truncate table 表名称;--清空

3、改(改行数据,改表结构,增加行数据)

update 表名称 set 字段='值' where 条件;
alter table FSSCOASQD add gdzt varchar(2);--增加字段
alter table FSSCOASQD add hetqdzje decimal(18,6) --增加字段
insert into test1(ID,NAME,SEX,AGE) values('1','1','1','1');

4、查

select * from 表名称 where 条件;
select distinct 字段名 from 表名称 where 条件;--去除重复值
select count(*) from user_tab_cols where table_name='表名';--查询表的列数
select table_name from user_tables;--查询所有表名称
select * from all_tables where owner='用户名';--查询用户名下所有表名称
select owner from dba_tables where table_name='表名称';--查询表的所有者
select count(*), LSBMZD_BMBH FROM LSBMZD GROUP BY  LSBMZD_BMBH HAVING  count(*)>1;-- 查询重复项及其次数SQL server
select name from sysobjects where xtype='u' and name like '%wqsx%'if exists (SELECT 1 FROM  sysobjects  WHERE  id = object_id('VM_ROYWSQCX') and type = 'V')         drop view VM_ROYWSQCX;--如果存在视图,则删除视图select count(1) as col_Count FROM syscolumns WHERE id = OBJECT_ID('表名');--查表列数sp_help TBTZZB ;--展示表结构
sp_columns TBTZZB ;--展示表列Oracle
select t.*, t.rowid from t;--通过rowid查看行数—rowid是每一行的唯一标识符

二、其他常用sql语句

1、insert和 select 结合实现“插入某字段在数据库中的最大值+1”

insert into ZZY_NBZZD(ID,ZYJE) values ('1111',(select max(ZYJE+1) from ZZY_NBZZD));

2、使用正则过滤查询结果(Oracle)

select BANKACCOUNTID from BANKACCOUNTS;
select BANKACCOUNTID from BANKACCOUNTS where regexp_replace(BANKACCOUNTID,'\d','') is not null;--过滤掉纯数字
select BANKACCOUNTID from BANKACCOUNTS where regexp_replace(BANKACCOUNTID,'^[-\+]?\d+(\.\d+)?$','') is not null;--过滤掉纯字母
--去掉not就变成筛选出纯数字和纯字母了

3、读取XML格式文件,openxml方法

declare @idoc int
declare @GoodsXml nvarchar(max);
set @GoodsXml='<OrderItemGoods>
<Goods><GoodsAttributeId>21</GoodsAttributeId><GoodsCount>2</GoodsCount><GoodsPrice>1.1</GoodsPrice><GoodsId>1</GoodsId></Goods>
<Goods><GoodsId>2</GoodsId><GoodsAttributeId>22</GoodsAttributeId><GoodsCount>2</GoodsCount><GoodsPrice>1.1</GoodsPrice></Goods>
<Goods><GoodsId>3</GoodsId><GoodsAttributeId>23</GoodsAttributeId><GoodsCount>2</GoodsCount><GoodsPrice>1.1</GoodsPrice></Goods>
</OrderItemGoods>'
exec sp_xml_preparedocument @idoc output, @GoodsXml ;
selectT.GoodsId,T.GoodsAttributeId,T.GoodsCount,T.GoodsPrice
from
openxml(@idoc, '/OrderItemGoods/Goods',2)
with
(GoodsId bigint 'GoodsId',GoodsAttributeId bigint,GoodsCount int,GoodsPrice float
)as T
--where T.GoodsId=1
--系统sp_xml_removedocument删除SQLServer服务器内存中的XML数据
exec sp_xml_removedocument @idoc ;

5、日期类型

--1、日期作差(SQL server)
(select DateDiff (day,'2019-9-11 11:07:00.260',getdate()))--返回date2 与date1两个日期之间的差值 date2-date1
Year Yy yyyy 年
Quarter Qq q 季
Month Mm m 月
Day of year Dy y 一年的日数
Day Dd d 日
Weekday Dw w 一周的日数
Week Wk ww 周,
Hour Hh h 时
Minute Mi n 分钟
Second Ss s 秒
Millisecond Ms--2、日期转换
CONVERT(VARCHAR(22), ROBXZT_ZTSJ, 120);--2019-07-02 16:35:03
select FORMAT(getdate(),'yyyy-MM-dd');--2019-10-11

6、字符串(替换)

SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') from dual;--fgsgswsgs
SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') from dual;--fgeeerrrtttsweeerrrttts

wahson 20191014

常用SQL_数据库查询总结1相关推荐

  1. 常用oracle数据库查询命令

    (1)Select * from tables(表名):  //查询表tables的内容 (2)Truncate table tables(表名)://清除表内数据:但保留格式 (3)Select  ...

  2. select每门可说大于90分_MYSQL数据库查询

    作为测试人员最常用的数据库查询语句,本篇博文做了一个具体的总结,以下只是为了概述查询方法而举的例子,并不一定是最好的查询方式. 红色标记的地方是该查询语句中重点想要表达的查询方法. 一. 新建一个数据 ...

  3. mysql 姓刘或姓李_MYSQL数据库查询

    作为测试人员最常用的数据库查询语句,本篇博文做了一个具体的总结,以下只是为了概述查询方法而举的例子,并不一定是最好的查询方式. 红色标记的地方是该查询语句中重点想要表达的查询方法. 一. 新建一个数据 ...

  4. 【ThinkPHP】ThinkPHP5 常用数据库查询语句

    来源:我的博客站 OceanicKang |<[ThinkPHP]ThinkPHP5 常用数据库查询语句> tp_data 数据表 id name status 3 thinkphp 1 ...

  5. 数据库查询常用语句语法

    select xx from 表格 where 内容="" 检查一个项目是否在列表中 可以用in 列表,用(' ' , ' ' ,' ')单引号分隔开 名字不在里面 name no ...

  6. SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  7. “万能数据库查询分析器” 5.03发布,访问EXCEL将自动为表名前后加上中括弧

    "万能数据库查询分析器" 5.03发布,访问EXCEL将自动为表名前后加上中括弧 1          引言     中国本土程序员马根峰推出的个人作品----万能数据库查询分析器 ...

  8. oracle查询并更新数据库,oracle数据库查询和更新

    package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...

  9. php简单的mysql类_超简单php mysql数据库查询类

    本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host;        //主机名称:一般是localhost private ...

  10. php输出json到表格,PHP中把数据库查询结果输出为json格式

    header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "localhost" ...

最新文章

  1. ubuntu操作系统下载
  2. webpack预览页面配置
  3. 记一次Redis和NetMQ的测试
  4. 能源利用率逼近理论极限 阿里巴巴展示液冷黑科技
  5. jQuery初识和常用事件(一)
  6. svn .a文件上传不了
  7. Python中的正则表达式找到请求体为form-data格式的请求参数
  8. 【Vue指令】—v-if、v-show二者用法及区别
  9. Centos7 下安装tomcat7
  10. WPS中JS宏简单运用
  11. 基于51单片机智能交通灯电路方案设计
  12. 【车牌识别】基于模板匹配算法实现国外车牌识别附matlab源码
  13. 基于zigbee的智能家用空气监测系统
  14. js禁止苹果页面底部滚动_js禁止页面滚动
  15. 大二Git-Branching学习
  16. 数据库设计3个泛式和经验谈
  17. OpenJ_Bailian - 2711
  18. 自然语言16_Chunking with NLTK
  19. BeanCopy和BeanCopier在实际开发中的使用(属性copy效率优化)
  20. Mysql出现问题:什么是prepare语句解决方案

热门文章

  1. 雷观(十八):我的世界观
  2. linux系统软路由软件,Linux中增加软路由的三种方法
  3. HDU 3966(树链剖分)
  4. VisualSVN 用户权限设置时,Everyone,Group,User优先级组合原则(与 Subversion 对比)...
  5. 数模2021暑期培训
  6. 显卡是什么?显卡和Graphics的区别在哪里?
  7. Flutter 城市/通讯录列表字母索引联动效果实现
  8. 攻击局域网计算机,局域网攻击,网络攻击知识之几种IP地址攻击方式
  9. Eureka报错“EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ”
  10. 第三方支付和聚合支付