665 字
3 分钟
SQL Server 基础操作语句大全:从入门到实战

一、 数据操作语言 (DML - CRUD)#

数据操作是开发中最频繁的部分。在执行删除或修改操作时,务必先通过查询确认 WHERE 条件的准确性

1. 新增数据 (INSERT)#

-- 标准插入
INSERT INTO [test].[dbo].[users] (id, username, password)
VALUES (1, 'zhangsan', 'pw123'), (2, 'lisi', 'pw456');
-- 将查询结果存入新表 (常用于数据备份)
SELECT * INTO users_backup FROM users;

2. 修改数据 (UPDATE)#

安全提醒:严禁省略 WHERE 子句,否则会更新全表数据!

UPDATE users
SET username = 'wangwu', password = 'newpassword'
WHERE id = 1;

3. 删除数据 (DELETE)#

DELETE FROM users WHERE id = 1;
-- 如果要清空全表并重置自增 ID,推荐使用 TRUNCATE
TRUNCATE TABLE users;

二、 表与架构操作 (DDL)#

1. 创建表 (CREATE)#

建议在创建表时明确指定主键、不为空以及默认值。

CREATE TABLE teacher (
id INT PRIMARY KEY IDENTITY(1,1), -- 自增主键
name NVARCHAR(50) NOT NULL, -- 支持多语言字符
age INT CHECK (age > 0), -- 检查约束
create_time DATETIME DEFAULT GETDATE() -- 默认当前时间
);

2. 修改表结构 (ALTER)#

  • 添加/删除字段
ALTER TABLE teacher ADD email VARCHAR(100);
ALTER TABLE teacher DROP COLUMN email;
  • 重命名(SQL Server 特有存储过程)
-- 重命名列名
EXEC sp_rename 'teacher.name', 'real_name', 'COLUMN';
-- 重命名表名
EXEC sp_rename 'teacher', 'instructor';

三、 进阶查询技巧 (DQL)#

1. 模糊与范围查询#

  • 通配符查询% 代表任意字符,_ 代表单个字符。
SELECT * FROM users WHERE username LIKE 'li%'; -- 以 li 开头
  • 数值范围
SELECT * FROM users WHERE id BETWEEN 1 AND 10;

2. 排序与分页#

在 SQL Server 中,TOP 用于限制返回行数,而在 2012 版本后支持标准的 OFFSET-FETCH 进行分页。

-- 获取前 5 条
SELECT TOP 5 * FROM users ORDER BY create_time DESC;
-- 分页查询(跳过 10 行,取 5 行)
SELECT * FROM users
ORDER BY id
OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;

3. 聚合与分组 (GROUP BY)#

用于报表统计的必备语句:

SELECT
department,
COUNT(*) AS total_staff,
AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 5000; -- 对分组后的结果进行过滤

4. 多表联接 (JOIN)#

这是关系型数据库的灵魂:

SELECT a.username, b.order_no
FROM users a
INNER JOIN orders b ON a.id = b.user_id
WHERE b.status = 'paid';

四、 常用内置函数速查#

类别函数说明
字符串LEN(str) / SUBSTRING()获取长度 / 截取字符串
数值ROUND() / ABS()四舍五入 / 绝对值
日期GETDATE() / DATEDIFF()当前时间 / 计算时间差
判空ISNULL(val, default)如果 val 为空则返回默认值

总结#

熟练使用 SQL Server 语句不仅仅是背诵语法,更在于理解数据之间的逻辑关系。建议在开发环境中使用 BEGIN TRANSACTIONROLLBACK 来测试你的更新和删除语句,确保安全后再正式提交。

SQL Server 基础操作语句大全:从入门到实战
https://sw.rscclub.website/posts/sqlserverjccz/
作者
杨月昌
发布于
2018-06-08
许可协议
CC BY-NC-SA 4.0