我是靠谱客的博主 沉默芒果,最近开发中收集的这篇文章主要介绍经典SQL语句大全(非增删改查),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

推荐大家使用一个插件SQL Prompt,智能提示很好
  1. SQL Server数据库备份
EXEC sp_addumpdevice 'disk', 'TestBackUp', 'F:/1.bat'
BACKUP DATABASE DataBase_Name TO TestBackUp
  1. 查询数据库在进程池的连接数
SELECT *
FROM master.dbo.sysprocesses
WHERE dbid IN ( SELECT dbid
FROM master.dbo.sysdatabases
WHERE name = 'DataBase_Name' )
  1. 查询数据库被锁表和解除数据库被锁表
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)
  1. 恢复数据库约束
ALTER TABLE TABLE_Name
WITH CHECK CHECK CONSTRAINT CK_Employee_BirthDate (约束名称)
  1. 去除数据库约束
ALTER TABLE TABLE_Name
NOCHECK CONSTRAINT CK_Employee_BirthDate (约束名称)
  1. 恢复数据库全部约束
EXEC sp_MSforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
  1. 去除数据库全部约束
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
  1. 内连接
内连接(Inner Join)的结果是左右两表同时符合条件的组合
注意与笛卡尔积的交叉连接的区别:
内连接:
SELECT *
FROM table1
INNER JOIN table2 ON table1.条件列名 = table2.条件列名
笛卡尔积的交叉连接:
SELECT table1.* ,
table2.*
FROM table1 ,
table2
WHERE table1.条件列名 = table2.条件列名
笛卡尔积需要先生成行数乘积的数据表再进行筛选,因此内连接效率高于笛卡尔积的交叉连接
  1. 外连接
左连接(Left Join)的结果是左表的所有行,如果左表中的某行在右表没有匹配,则在关联结果中右表的相关列为空(NULL)
右连接与之相反


后续补充中……

最后

以上就是沉默芒果为你收集整理的经典SQL语句大全(非增删改查)的全部内容,希望文章能够帮你解决经典SQL语句大全(非增删改查)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部