SQL server 笔记
安装&配置
SQL Server Management Studio 下载
https://learn.microsoft.com/zh-cn/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver16
库
新建库
删除库
分离&附加
分离分离数据库 - SQL Server | Microsoft Learn
附加附加数据库 - SQL Server | Microsoft Learn
备份&还原
SQL数据库中BAK文件的备份和还原_sql数据库备份为bak文件-CSDN博客
复制
还原
表
新建表
1 | create [dbo].[名称] |
删除表
1 | drop [dbo].[名称] |
修改表
1 | alter [dbo].[名称] |
字段名
修改字段
1 | exec sp_rename '表名.字段名','新字段名','column' |
添加字段
1 | add 字段名 字段类型 default null |
修改数据类型
1 | alter colum 名称 新类型 |
数据行
增
在已有表,添加数据
1 | insert into 表 values('[列]', '[列 2]',......) |
新建表
1 | insert into 表([列], [列 2]) values(@内容 1,@内容 2) |
自增内容添加,IDENTITY_INSERT [表] ON 打开自增修改
1 | set IDENTITY_INSERT[PDM测试].[dbo].[CardLists] on |
删
删除,筛选指定值的行
1 | delete from 表 where 列1='列名' and 列2='列名' |
删除多行
1 | delete from 表 where 列 in('内容1','内容2') |
改
修改,筛选指定值的行
1 | update 表 set 列1='列名1',列2='列名2' |
修改第一行的字段内容
1 | update 表 set 字段名 ='修改新内容' where sysno = 1 |
查
获得指定列
1 | Select 列 from 表; |
筛选指定值
1 | select * from 表 where 列=值; |
筛选指定多值
1 | select * from 表 where 列 IN ('值1', '值2', '值3', ...); |
其他:Text 类型
1 | SELECT *FROM 表 WHERE CONVERT(VARCHAR, 列) = '值' |
查询表内字段列的信息
1 | select 字段名 form 表名 |
1. 查询特定表的当前自增值
这是最直接的方法,用于了解表的下一个插入值大概是多少。
1 | SELECT IDENT_CURRENT('表') AS 列; |
多表联查
1.使用传统连接方式查询
(1). 有两张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),查询每本书的书名和图书类型。
1 | SELECT BookName, TypeName |
(2). 有三张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),Author(AuthorID,AuthorName,…)查询每本书的书名、图书类型、作者姓名。
1 | SELECT BookName, TypeName, AuthorName |
2.使用SQL连接方式(JOIN…ON)查询
使用SQL连接方式时,必须将要连接的所有表或者视图放在 FROM 后面,用JOIN…ON连接起来,将所有表或者视图用 JOIN 连接,连接条件放在 ON 后面。
1 | SELECT <select list> |
参考资料
触发器
微软手册
https://learn.microsoft.com/zh-cn/sql/sql-server/?view=sql-server-ver16
菜鸟教程
https://www.runoob.com/sql/sql-intro.html