SQL 快速参考指南
基础SQL命令
数据查询
SELECT column1, column2 FROM table_name; -- 选择特定列
SELECT * FROM table_name; -- 选择所有列
SELECT DISTINCT column1 FROM table_name; -- 选择唯一值
数据过滤
SELECT * FROM table_name WHERE condition; -- 基本过滤
SELECT * FROM table_name WHERE column1 LIKE 'A%'; -- 模糊匹配
SELECT * FROM table_name WHERE column1 IN (value1, value2); -- 多值匹配
SELECT * FROM table_name WHERE column1 BETWEEN value1 AND value2; -- 范围查询
数据排序
SELECT * FROM table_name ORDER BY column1; -- 升序
SELECT * FROM table_name ORDER BY column1 DESC; -- 降序
数据操作语言(DML)
插入数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
更新数据
UPDATE table_name SET column1 = value1 WHERE condition;
删除数据
DELETE FROM table_name WHERE condition;
数据定义语言(DDL)
创建表
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);
修改表
ALTER TABLE table_name ADD column_name datatype; -- 添加列
ALTER TABLE table_name DROP COLUMN column_name; -- 删除列
ALTER TABLE table_name MODIFY COLUMN column_name datatype; -- 修改列类型
删除表
DROP TABLE table_name;
高级SQL功能
聚合函数
SELECT COUNT(*) FROM table_name; -- 计数
SELECT AVG(column1) FROM table_name; -- 平均值
SELECT SUM(column1) FROM table_name; -- 求和
SELECT MAX(column1) FROM table_name; -- 最大值
SELECT MIN(column1) FROM table_name; -- 最小值
分组
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
连接
-- 内连接
SELECT a.column1, b.column2
FROM table1 a INNER JOIN table2 b ON a.key = b.key;
-- 左连接
SELECT a.column1, b.column2
FROM table1 a LEFT JOIN table2 b ON a.key = b.key;
-- 右连接
SELECT a.column1, b.column2
FROM table1 a RIGHT JOIN table2 b ON a.key = b.key;
子查询
SELECT column1 FROM table_name
WHERE column2 IN (SELECT column2 FROM table2 WHERE condition);
数据库管理
索引
CREATE INDEX index_name ON table_name (column1); -- 创建索引
DROP INDEX index_name ON table_name; -- 删除索引
视图
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
事务控制
BEGIN TRANSACTION; -- 开始事务
COMMIT; -- 提交事务
ROLLBACK; -- 回滚事务
常用数据类型
数据类型 |
描述 |
INT |
整数 |
VARCHAR(n) |
可变长度字符串,最大长度n |
CHAR(n) |
固定长度字符串,长度n |
TEXT |
长文本数据 |
DATE |
日期值 |
DATETIME |
日期和时间值 |
DECIMAL(p,s) |
精确数值,p为总位数,s为小数位数 |
BOOLEAN |
布尔值 |
性能优化提示
- 为常用查询条件创建索引
- 避免使用SELECT *,只选择需要的列
- 在WHERE子句中使用索引列
- 使用EXPLAIN分析查询执行计划
- 对大表考虑分区策略
- 定期进行数据库维护(如重建索引、更新统计信息)