SQLServer数据库实用SQL语句
2023-06-13 09:14:41 时间
--查看指定表的外键约束
select*fromsysobjectswhereparent_objin(
selectidfromsysobjectswherename="表名")
andxtype="PK"
--查看所有表
select*fromsysobjectswherextype="PK"
--删除列中含数字的
deletenewswherepatindex("%[0-9]%",title)>0
--删除删去字段title值重复的行,且只保留id较小的这个
deletenewswhereexists(select1fromnewstwheret.title=news.titleandt.id<news.id)
--查看数据库信息
select*fromsys.databaseswherename="master"
1.按姓氏笔画排序:
Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as
2.分页SQL语句
select*from(select(row_number()OVER(ORDERBYtab.IDDesc))asrownum,tab.*from表名Astab)Astwhererownumbetween起始位置And结束位置
3.获取当前数据库中的所有用户表
select*fromsysobjectswherextype="U"andcategory=0
4.获取某一个表的所有字段
selectnamefromsyscolumnswhereid=object_id("表名")
5.查看与某一个表相关的视图、存储过程、函数
selecta.*fromsysobjectsa,syscommentsbwherea.id=b.idandb.textlike"%表名%"
6.查看当前数据库中所有存储过程
selectnameas存储过程名称fromsysobjectswherextype="P"
7.查询用户创建的所有数据库
select*frommaster..sysdatabasesDwheresidnotin(selectsidfrommaster..sysloginswherename="sa")
或者
selectdbid,nameASDB_NAMEfrommaster..sysdatabaseswheresid<>0x01
8.查询某一个表的字段和数据类型
selectcolumn_name,data_typefrominformation_schema.columns
wheretable_name="表名"
9.使用事务
在使用一些对数据库表的临时的SQL语句操作时,可以采用SQLSERVER事务处理,防止对数据操作后发现误操作问题
开始事务
Begintran
InsertIntoTableNameValues(…)
SQL语句操作不正常,则回滚事务。
回滚事务
Rollbacktran
SQL语句操作正常,则提交事务,数据提交至数据库。
提交事务
Committran
10.按全文匹配方式查询
字段名LIKEN"%[^a-zA-Z0-9]China[^a-zA-Z0-9]%"
OR字段名LIKEN"%[^a-zA-Z0-9]China"
OR字段名LIKEN"China[^a-zA-Z0-9]%"
OR字段名LIKEN"China
11.计算执行SQL语句查询时间
declare@ddatetime
set@d=getdate()
select*fromSYS_ColumnPropertiesselect[语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
12、说明:几个高级查询运算词
A:UNION运算符
UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。
B:EXCEPT运算符
EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行。
C:INTERSECT运算符
INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。
select*fromsysobjectswhereparent_objin(
selectidfromsysobjectswherename="表名")
andxtype="PK"
--查看所有表
select*fromsysobjectswherextype="PK"
--删除列中含数字的
deletenewswherepatindex("%[0-9]%",title)>0
--删除删去字段title值重复的行,且只保留id较小的这个
deletenewswhereexists(select1fromnewstwheret.title=news.titleandt.id<news.id)
--查看数据库信息
select*fromsys.databaseswherename="master"
1.按姓氏笔画排序:
Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as
2.分页SQL语句
select*from(select(row_number()OVER(ORDERBYtab.IDDesc))asrownum,tab.*from表名Astab)Astwhererownumbetween起始位置And结束位置
3.获取当前数据库中的所有用户表
select*fromsysobjectswherextype="U"andcategory=0
4.获取某一个表的所有字段
selectnamefromsyscolumnswhereid=object_id("表名")
5.查看与某一个表相关的视图、存储过程、函数
selecta.*fromsysobjectsa,syscommentsbwherea.id=b.idandb.textlike"%表名%"
6.查看当前数据库中所有存储过程
selectnameas存储过程名称fromsysobjectswherextype="P"
7.查询用户创建的所有数据库
select*frommaster..sysdatabasesDwheresidnotin(selectsidfrommaster..sysloginswherename="sa")
或者
selectdbid,nameASDB_NAMEfrommaster..sysdatabaseswheresid<>0x01
8.查询某一个表的字段和数据类型
selectcolumn_name,data_typefrominformation_schema.columns
wheretable_name="表名"
9.使用事务
在使用一些对数据库表的临时的SQL语句操作时,可以采用SQLSERVER事务处理,防止对数据操作后发现误操作问题
开始事务
Begintran
InsertIntoTableNameValues(…)
SQL语句操作不正常,则回滚事务。
回滚事务
Rollbacktran
SQL语句操作正常,则提交事务,数据提交至数据库。
提交事务
Committran
10.按全文匹配方式查询
字段名LIKEN"%[^a-zA-Z0-9]China[^a-zA-Z0-9]%"
OR字段名LIKEN"%[^a-zA-Z0-9]China"
OR字段名LIKEN"China[^a-zA-Z0-9]%"
OR字段名LIKEN"China
11.计算执行SQL语句查询时间
declare@ddatetime
set@d=getdate()
select*fromSYS_ColumnPropertiesselect[语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
12、说明:几个高级查询运算词
A:UNION运算符
UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。
B:EXCEPT运算符
EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行。
C:INTERSECT运算符
INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。
相关文章
- SQLServer 错误 825 在失败 %d 次(错误: %ls)之后,按偏移量 %#016I64x 对文件“%ls”读取成功。 SQL Server 错误日志和系统事件日志中的其他消息中可能有更详细的信息。 此错误情况威胁到数据库的完整性,因此必须予以更正。 请运行一次完整的数据库一致性检查 (DBCC CHECKDB)。 此错误可能是由多种因素导致的;有关详细信息,请参阅 SQL Server 联机丛书。 故障 处理 修复 支持远程
- SQLServer 错误 945 由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库“%.*ls”。 有关详细信息,请参阅 SQL Server 错误日志。 故障 处理 修复 支持远程
- 使用SQLServer客户端工具轻松实现数据库管理(sqlserver客户端工具)
- 数据库C语言实现快速连接SQL Server数据库(c链接sqlserver)
- 数据库操作在Linux系统中操作SQL数据库(linux下sql)
- SQL党进阶必备:轻松转换Oracle数据库教程(sql转oracle)
- 未装SQL Server,如何快速搭建数据库环境?(未装sqlserver)
- Sqlserver 批处理:事半功倍的一步操作(批处理sqlserver)
- 如何在SQLServer中创建表列名(列名 sqlserver)
- 分布式SQL Server:全新的数据库体验!(分布式sqlserver)
- 解决SQLServer数据库乐观锁的新技巧(乐观锁sqlserver)
- SQL Server 数据库技术迭代:4G新体验(sqlserver 迭代)
- SQL Server 探寻对列的认知(sqlserver识别列)
- SQL Server:数据库管理的艺术之路(sqlserver结尾)
- 探究SQL Server数据库解决方案的答辩(sqlserver答辩)
- 本使用SQLServer离线版本:简单易行(sqlserver离线版)
- SQL Server:实现数据库管理的利器(sqlserver干什么)
- 全确保SQLServer环境的安全性(sqlserver安)
- SQL Server:非常实用的数据库!(sqlserver好用吗)
- 深入浅出MySQL主键SQL,轻松学会数据库设计(mysql主键sql)
- sql与数据服务的桥梁:SQLServerSQLServer:连接SQL与数据服务的桥梁(sqlserver 介于)
- SQL Server数据库的主进程解析(sqlserver主进程)
- SQLServer口令sqlserver安全性