概述
推荐大家使用一个插件SQL Prompt,智能提示很好
- SQL Server数据库备份
EXEC sp_addumpdevice 'disk', 'TestBackUp', 'F:/1.bat'
BACKUP DATABASE DataBase_Name TO TestBackUp
- 查询数据库在进程池的连接数
SELECT *
FROM master.dbo.sysprocesses
WHERE dbid IN ( SELECT dbid
FROM master.dbo.sysdatabases
WHERE name = 'DataBase_Name' )
- 查询数据库被锁表和解除数据库被锁表
SELECT request_session_id spid ,
OBJECT_NAME(resource_associated_entity_id) tableName
FROM sys.dm_tran_locks
WHERE resource_type = 'OBJECT'
DECLARE @spid INT
SET @spid = 100
DECLARE @KillProcess VARCHAR(100)
SET @KillProcess = 'Kill ' + CAST(@spid AS VARCHAR)
EXEC(@KillProcess)
- 恢复数据库约束
ALTER TABLE TABLE_Name
WITH CHECK CHECK CONSTRAINT CK_Employee_BirthDate (约束名称)
- 去除数据库约束
ALTER TABLE TABLE_Name
NOCHECK CONSTRAINT CK_Employee_BirthDate (约束名称)
- 恢复数据库全部约束
EXEC sp_MSforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
- 去除数据库全部约束
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
- 内连接
内连接(Inner Join)的结果是左右两表同时符合条件的组合
注意与笛卡尔积的交叉连接的区别:
内连接:
SELECT *
FROM table1
INNER JOIN table2 ON table1.条件列名 = table2.条件列名
笛卡尔积的交叉连接:
SELECT table1.* ,
table2.*
FROM table1 ,
table2
WHERE table1.条件列名 = table2.条件列名
笛卡尔积需要先生成行数乘积的数据表再进行筛选,因此内连接效率高于笛卡尔积的交叉连接
- 外连接
左连接(Left Join)的结果是左表的所有行,如果左表中的某行在右表没有匹配,则在关联结果中右表的相关列为空(NULL)
右连接与之相反
后续补充中……
最后
以上就是沉默芒果为你收集整理的经典SQL语句大全(非增删改查)的全部内容,希望文章能够帮你解决经典SQL语句大全(非增删改查)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复