【SQL Server 数据库】常用语句文档 免费下载!!

preview
需积分: 0 2 下载量 80 浏览量 更新于2024-04-11 收藏 363KB PDF 举报
### SQL Server 数据库常用语句知识点详解 #### 1. 建库语句 - **格式**: `CREATE DATABASE 数据库名;` - **示例**: - 简单创建: ```sql CREATE DATABASE Demo01; ``` - 自定义初始值: ```sql CREATE DATABASE Demo02 ON PRIMARY ( NAME = 'Demo02', FILENAME = 'M:\SQLServer_File\Demo02_Data\Demo02.mdf', SIZE = 5MB) LOG ON ( NAME = 'Demo02_Log', FILENAME = 'M:\SQLServer_File\Demo02_Data\Demo02_Log.ldf', SIZE = 2MB); ``` #### 2. 删库语句 - **格式**: `DROP DATABASE 数据库名;` - **示例**: ```sql DROP DATABASE Demo03; ``` #### 3. 创建数据表 - **格式**: `USE 数据库名; CREATE TABLE 表名 (列名 数据类型(长度) 列级约束);` - **示例**: ```sql USE Demo01; GO CREATE TABLE student ( Sno char(5) NOT NULL UNIQUE, Sname char(8) NOT NULL, Sage smallint DEFAULT 20, Sex char(2) CHECK (Sex = '男' OR Sex = '女')); ``` #### 4. 创建视图 - **格式**: `USE 数据库名; CREATE VIEW 视图名 AS SELECT 列名 FROM 表名;` - **示例**: ```sql USE Demo01; GO CREATE VIEW Demo01_View_student AS SELECT * FROM student; ``` #### 5. 约束语句 - **主键约束**: - **格式一**: `列名 数据类型(长度) PRIMARY KEY;` - **格式二**: `CONSTRAINT 约束名 PRIMARY KEY (列名);` - **示例**: ```sql CREATE TABLE student ( Sno char(5) NOT NULL PRIMARY KEY, Sname char(8) NOT NULL); CREATE TABLE student ( Sno char(5) NOT NULL, Sname char(8) NOT NULL, CONSTRAINT PK_Sno PRIMARY KEY (Sno)); ``` - **外键约束**: - **格式**: `CONSTRAINT 约束名 FOREIGN KEY (列名) REFERENCES 被引用列的名称(列名);` - **示例**: ```sql CREATE TABLE student ( Sno char(5) NOT NULL PRIMARY KEY, Sname char(8) NOT NULL); CREATE TABLE score ( Sno char(5) NOT NULL, Cno char(5) NOT NULL, Score int NOT NULL, CONSTRAINT FK_Sno FOREIGN KEY (Sno) REFERENCES student(Sno)); ``` #### 6. 增加语句(insert) - **格式**: `INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);` - **示例**: ```sql INSERT INTO student (Sno, Sname, Sage, Sex) VALUES ('001', '张三', 20, '男'); ``` #### 7. 删除语句(delete) - **删除表数据(一行)**: ```sql DELETE FROM 表名 WHERE 条件; ``` - **删除约束**: ```sql ALTER TABLE 表名 DROP CONSTRAINT 约束名; ``` #### 8. 修改语句(update) - **格式**: `UPDATE 表名 SET 列名 = 新值 WHERE 条件;` - **示例**: ```sql UPDATE student SET Sage = 21 WHERE Sno = '001'; ``` #### 9. 查询语句(select) - **查询全部**: ```sql SELECT * FROM 表名; ``` - **查询某列**: ```sql SELECT 列名 FROM 表名; ``` - **自定义查询**: - **列名的重命名**: ```sql SELECT 列名 AS 新列名 FROM 表名; ``` - **列名的加减乘除**: ```sql SELECT 列名1 + 列名2 AS 新列名 FROM 表名; ``` - **正倒序排列**: - **升序**: ```sql SELECT * FROM 表名 ORDER BY 列名 ASC; ``` - **降序**: ```sql SELECT * FROM 表名 ORDER BY 列名 DESC; ``` - **升序和降序同时存在**: ```sql SELECT * FROM 表名 ORDER BY 列名1 ASC, 列名2 DESC; ``` - **选择某列排序**: ```sql SELECT * FROM 表名 ORDER BY 列名; ``` - **去除重复项**: ```sql SELECT DISTINCT 列名 FROM 表名; ``` - **把一个表的数据插入另一个表**: ```sql INSERT INTO 目标表 (列名1, 列名2, ...) SELECT 列名1, 列名2, ... FROM 源表; ``` - **求总行数**: ```sql SELECT COUNT(*) FROM 表名; ``` - **求最大值和最小值**: ```sql SELECT MAX(列名), MIN(列名) FROM 表名; ``` - **求平均值**: ```sql SELECT AVG(列名) FROM 表名; ``` - **连接查询**: - **第一种连接方式(INNER JOIN)**: ```sql SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名; ``` - **第二种连接方式(LEFT JOIN 或 RIGHT JOIN)**: ```sql SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名; ``` - **模糊查询(LIKE)**: - **以特定字符开头的字符串**: ```sql SELECT * FROM 表名 WHERE 列名 LIKE '特定字符%'; ``` - **以特定字符结尾的字符串**: ```sql SELECT * FROM 表名 WHERE 列名 LIKE '%特定字符'; ``` - **匹配包含特定字符的字符串**: ```sql SELECT * FROM 表名 WHERE 列名 LIKE '%特定字符%'; ``` - **使用 `_` 匹配单个字符**: ```sql SELECT * FROM 表名 WHERE 列名 LIKE '特定_符'; ``` - **使用多个 `_` 匹配多个单个字符**: ```sql SELECT * FROM 表名 WHERE 列名 LIKE '特__符'; ``` - **分组查询(GROUP BY)**: ```sql SELECT 列名, COUNT(*) AS 总计 FROM 表名 GROUP BY 列名; ``` #### 10. 常用函数 - **判断语句(CASE WHEN)**: ```sql SELECT CASE WHEN 列名 > 60 THEN '及格' ELSE '不及格' END AS 成绩状态 FROM 表名; ``` - **日期差(DATEDIFF)**: ```sql SELECT DATEDIFF(day, '2023-01-01', '2023-12-31') AS 时间差; ``` - **数据类型转换(CAST)**: ```sql SELECT CAST('123' AS INT) AS 转换后的值; ``` #### 11. 断开数据库 - **格式**: `ALTER DATABASE 数据库名 SET OFFLINE;` - **示例**: ```sql ALTER DATABASE Demo01 SET OFFLINE; ``` #### 12. 分离数据库 - **格式**: `ALTER DATABASE 数据库名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;` - **然后执行**: ```sql ALTER DATABASE 数据库名 SET OFFLINE WITH ROLLBACK IMMEDIATE; ``` #### 13. 附加数据库 - **格式**: `RESTORE DATABASE 数据库名 FROM DISK = '文件路径';` - **示例**: ```sql RESTORE DATABASE Demo01 FROM DISK = 'M:\SQLServer_File\Demo01_Data\Demo01.mdf'; ``` 以上是SQL Server数据库中常用语句的详细介绍。这些语句是进行数据库管理、数据操作的基础,熟练掌握它们对于从事数据库开发和维护工作至关重要。希望这些知识点能够帮助读者更好地理解和运用SQL Server数据库。