
SQL知识点总结
2025-08-12 09:25:08
晨欣小编
一、前言
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 基础都是核心竞争力之一。