SQL知识点总结
更新时间:2026-02-06 08:46:46
晨欣小编
一、前言
SQL(Structured Query Language,结构化查询语言)是关系型数据库的核心语言,几乎所有主流数据库系统(如 MySQL、PostgreSQL、SQL Server、Oracle、SQLite)都支持 SQL。掌握 SQL 不仅是数据库开发的基础,也是数据分析、后端开发、运维管理等岗位的必备技能。本文将系统总结 SQL 的核心知识点,从基础语法到性能优化,帮助读者全面掌握 SQL 技能。

二、SQL 的分类与作用
根据功能,SQL 可以分为以下四大类:
DDL(数据定义语言)
用于定义和管理数据库对象结构,包括:CREATE:创建数据库或表ALTER:修改表结构DROP:删除数据库或表TRUNCATE:清空表数据但保留结构DML(数据操作语言)
用于增删改数据:INSERT:插入数据UPDATE:更新数据DELETE:删除数据DQL(数据查询语言)
用于查询数据:SELECT:查询数据,可配合WHERE、GROUP BY、ORDER BY、LIMIT等子句实现复杂查询DCL(数据控制语言)
用于权限与事务控制:GRANT/REVOKE:权限管理COMMIT/ROLLBACK:事务提交与回滚
三、SQL 基础语法

1. 创建数据库与表
sql复制编辑CREATE DATABASE mydb;CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
2. 插入数据
sql复制编辑INSERT INTO users (username, email) VALUES ('Alice', 'alice@example.com');3. 查询数据
sql复制编辑SELECT username, email FROM users WHERE email LIKE '%@example.com'ORDER BY created_at DESCLIMIT 10;
4. 更新数据
sql复制编辑UPDATE users SET email = 'new@example.com' WHERE id = 1;
5. 删除数据
sql复制编辑DELETE FROM users WHERE id = 1;
四、SQL 查询进阶

1. 条件查询(WHERE 子句)
支持多种条件运算符:
比较运算符:
=,<>,>,<,>=,<=逻辑运算符:
AND,OR,NOT范围匹配:
BETWEEN ... AND ...集合匹配:
IN (...)模糊匹配:
LIKE,REGEXP
2. 聚合函数
常用的聚合函数包括:
COUNT():统计数量SUM():求和AVG():求平均值MAX()/MIN():最大值 / 最小值
结合 GROUP BY 使用:
sql复制编辑SELECT department, COUNT(*) AS emp_countFROM employeesGROUP BY departmentHAVING emp_count > 5;
3. 多表连接(JOIN)
INNER JOIN:只返回匹配的记录
LEFT JOIN:返回左表全部记录及右表匹配记录
RIGHT JOIN:返回右表全部记录及左表匹配记录
FULL JOIN(部分数据库支持):返回左右表所有记录
示例:
sql复制编辑SELECT orders.id, customers.name FROM ordersINNER JOIN customers ON orders.customer_id = customers.id;
4. 子查询
子查询可用于 WHERE、FROM、SELECT 子句中:
sql复制编辑SELECT name FROM employees WHERE department_id = ( SELECT id FROM departments WHERE name = 'Sales');
五、索引与性能优化

索引的作用
索引能加快查询速度,常见类型有:主键索引(PRIMARY KEY)
唯一索引(UNIQUE)
普通索引(INDEX)
组合索引(Composite Index)
全文索引(Fulltext)
优化技巧
尽量避免
SELECT *,只查询需要的字段充分利用索引,避免在索引列上使用函数或计算
对高频查询字段建立合适索引
使用
EXPLAIN分析 SQL 执行计划避免过多的嵌套子查询,可用 JOIN 替代
六、事务与锁机制
事务的四大特性(ACID)
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
事务控制语句
sql复制编辑START TRANSACTION;UPDATE accounts SET balance = balance - 100 WHERE id = 1;UPDATE accounts SET balance = balance + 100 WHERE id = 2;COMMIT;
锁类型
行锁(Row Lock)
表锁(Table Lock)
意向锁(Intent Lock)
七、SQL 安全与最佳实践
使用预编译语句防止 SQL 注入
合理设置用户权限(最小化原则)
定期备份数据库
监控慢查询日志
规范化数据库设计,必要时反规范化提升性能
八、总结
SQL 作为关系型数据库的核心语言,不仅是数据增删改查的工具,更是数据分析与系统优化的重要手段。掌握 SQL 的基础语法、查询优化、事务控制与安全策略,能显著提升开发与运维效率。无论是后端开发、数据分析还是数据库管理,扎实的 SQL 基础都是核心竞争力之一。


售前客服