【SQL Server 数据库】常用语句文档 免费下载!!
需积分: 0 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数据库。
艸肅
- 粉丝: 129
- 资源: 1