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 usersSET username = 'wangwu', password = 'newpassword'WHERE id = 1;3. 删除数据 (DELETE)
DELETE FROM users WHERE id = 1;
-- 如果要清空全表并重置自增 ID,推荐使用 TRUNCATETRUNCATE 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 usersORDER BY idOFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;3. 聚合与分组 (GROUP BY)
用于报表统计的必备语句:
SELECT department, COUNT(*) AS total_staff, AVG(salary) AS avg_salaryFROM employeesGROUP BY departmentHAVING AVG(salary) > 5000; -- 对分组后的结果进行过滤4. 多表联接 (JOIN)
这是关系型数据库的灵魂:
SELECT a.username, b.order_noFROM users aINNER JOIN orders b ON a.id = b.user_idWHERE b.status = 'paid';四、 常用内置函数速查
| 类别 | 函数 | 说明 |
|---|---|---|
| 字符串 | LEN(str) / SUBSTRING() | 获取长度 / 截取字符串 |
| 数值 | ROUND() / ABS() | 四舍五入 / 绝对值 |
| 日期 | GETDATE() / DATEDIFF() | 当前时间 / 计算时间差 |
| 判空 | ISNULL(val, default) | 如果 val 为空则返回默认值 |
总结
熟练使用 SQL Server 语句不仅仅是背诵语法,更在于理解数据之间的逻辑关系。建议在开发环境中使用 BEGIN TRANSACTION 和 ROLLBACK 来测试你的更新和删除语句,确保安全后再正式提交。
SQL Server 基础操作语句大全:从入门到实战
https://sw.rscclub.website/posts/sqlserverjccz/