作者: littleboy 2023-09-30 21:48:58

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 intovalues('[列]', '[列 2]',......)

新建表

1
insert into 表([列], [列 2]) values(@内容 1,@内容 2)

自增内容添加,IDENTITY_INSERT [表] ON 打开自增修改

1
2
3
4
set IDENTITY_INSERT[PDM测试].[dbo].[CardLists] on
insert into[PDM测试].[dbo].[CardLists]([Type],[Name],[Id])
values('1', '表5', 5)
set IDENTITY_INSERT[PDM测试].[dbo].[CardLists] off

删除,筛选指定值的行

1
delete fromwhere1='列名' and2='列名'

删除多行

1
delete fromwherein('内容1','内容2')

修改,筛选指定值的行

1
updateset1='列名1',列2='列名2'

修改第一行的字段内容

1
updateset 字段名 ='修改新内容' where sysno = 1

获得指定列

1
Selectfrom 表;

筛选指定值

1
select * fromwhere=值;

筛选指定多值

1
select * fromwhereIN ('值1', '值2', '值3', ...);

其他:Text 类型

1
SELECT *FROMWHERE CONVERT(VARCHAR, 列) = '值'

查询表内字段列的信息

1
2
select 字段名 form 表名
Order by Fullname

1. 查询特定表的当前自增值
这是最直接的方法,用于了解表的下一个插入值大概是多少。

1
SELECT IDENT_CURRENT('表') AS 列;

多表联查

1.使用传统连接方式查询
(1). 有两张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),查询每本书的书名和图书类型。

1
2
3
SELECT BookName, TypeName
FROM Book, BookType
WHERE Book.TypeID = BookType.TypeID

(2). 有三张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),Author(AuthorID,AuthorName,…)查询每本书的书名、图书类型、作者姓名。

1
2
3
4
SELECT BookName, TypeName, AuthorName
FROM Book, BookType, Author
WHERE Book.TypeID = BookType.TypeID
AND Book.AuthorID = Author.AuthorID

2.使用SQL连接方式(JOIN…ON)查询
  使用SQL连接方式时,必须将要连接的所有表或者视图放在 FROM 后面,用JOIN…ON连接起来,将所有表或者视图用 JOIN 连接,连接条件放在 ON 后面。

1
2
3
4
SELECT <select list> 
FROM TableA A
LEFT JOIN TableB B
ON A.Key = B.Key

参考资料

触发器

微软手册

https://learn.microsoft.com/zh-cn/sql/sql-server/?view=sql-server-ver16

菜鸟教程

https://www.runoob.com/sql/sql-intro.html