常用SQL_数据库查询总结1
常用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相关推荐
- 常用oracle数据库查询命令
(1)Select * from tables(表名): //查询表tables的内容 (2)Truncate table tables(表名)://清除表内数据:但保留格式 (3)Select ...
- select每门可说大于90分_MYSQL数据库查询
作为测试人员最常用的数据库查询语句,本篇博文做了一个具体的总结,以下只是为了概述查询方法而举的例子,并不一定是最好的查询方式. 红色标记的地方是该查询语句中重点想要表达的查询方法. 一. 新建一个数据 ...
- mysql 姓刘或姓李_MYSQL数据库查询
作为测试人员最常用的数据库查询语句,本篇博文做了一个具体的总结,以下只是为了概述查询方法而举的例子,并不一定是最好的查询方式. 红色标记的地方是该查询语句中重点想要表达的查询方法. 一. 新建一个数据 ...
- 【ThinkPHP】ThinkPHP5 常用数据库查询语句
来源:我的博客站 OceanicKang |<[ThinkPHP]ThinkPHP5 常用数据库查询语句> tp_data 数据表 id name status 3 thinkphp 1 ...
- 数据库查询常用语句语法
select xx from 表格 where 内容="" 检查一个项目是否在列表中 可以用in 列表,用(' ' , ' ' ,' ')单引号分隔开 名字不在里面 name no ...
- SELECT中常用的子查询操作
MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...
- “万能数据库查询分析器” 5.03发布,访问EXCEL将自动为表名前后加上中括弧
"万能数据库查询分析器" 5.03发布,访问EXCEL将自动为表名前后加上中括弧 1 引言 中国本土程序员马根峰推出的个人作品----万能数据库查询分析器 ...
- oracle查询并更新数据库,oracle数据库查询和更新
package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...
- php简单的mysql类_超简单php mysql数据库查询类
本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private ...
- php输出json到表格,PHP中把数据库查询结果输出为json格式
header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "localhost" ...
最新文章
- ubuntu操作系统下载
- webpack预览页面配置
- 记一次Redis和NetMQ的测试
- 能源利用率逼近理论极限 阿里巴巴展示液冷黑科技
- jQuery初识和常用事件(一)
- svn .a文件上传不了
- Python中的正则表达式找到请求体为form-data格式的请求参数
- 【Vue指令】—v-if、v-show二者用法及区别
- Centos7 下安装tomcat7
- WPS中JS宏简单运用
- 基于51单片机智能交通灯电路方案设计
- 【车牌识别】基于模板匹配算法实现国外车牌识别附matlab源码
- 基于zigbee的智能家用空气监测系统
- js禁止苹果页面底部滚动_js禁止页面滚动
- 大二Git-Branching学习
- 数据库设计3个泛式和经验谈
- OpenJ_Bailian - 2711
- 自然语言16_Chunking with NLTK
- BeanCopy和BeanCopier在实际开发中的使用(属性copy效率优化)
- Mysql出现问题:什么是prepare语句解决方案
热门文章
- 雷观(十八):我的世界观
- linux系统软路由软件,Linux中增加软路由的三种方法
- HDU 3966(树链剖分)
- VisualSVN 用户权限设置时,Everyone,Group,User优先级组合原则(与 Subversion 对比)...
- 数模2021暑期培训
- 显卡是什么?显卡和Graphics的区别在哪里?
- Flutter 城市/通讯录列表字母索引联动效果实现
- 攻击局域网计算机,局域网攻击,网络攻击知识之几种IP地址攻击方式
- Eureka报错“EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ”
- 第三方支付和聚合支付