在数据库管理和数据处理中,SQL(Structured Query Language)是不可或缺的工具。无论是数据查询、数据更新、数据管理还是数据库设计,SQL都扮演着核心角色。掌握一些常用的SQL语句,不仅能够提升工作效率,还能帮助开发者更好地理解数据结构和操作逻辑。
以下是一些在实际开发中非常实用的经典SQL语句,涵盖了基本的数据查询、条件筛选、数据排序、分组统计、连接查询、子查询、数据插入与更新、删除操作以及索引管理等内容。
一、基本查询语句
1. 查询所有数据
```sql
SELECT FROM 表名;
```
2. 查询指定字段
```sql
SELECT 字段1, 字段2 FROM 表名;
```
3. 带条件的查询(WHERE 子句)
```sql
SELECT FROM 表名 WHERE 条件;
```
4. 模糊查询(LIKE)
```sql
SELECT FROM 表名 WHERE 字段 LIKE '关键词%';
```
5. 排序(ORDER BY)
```sql
SELECT FROM 表名 ORDER BY 字段 ASC/DESC;
```
6. 去重(DISTINCT)
```sql
SELECT DISTINCT 字段 FROM 表名;
```
7. 限制返回记录数(LIMIT)
```sql
SELECT FROM 表名 LIMIT 数量;
```
二、聚合函数与分组查询
1. 统计总数(COUNT)
```sql
SELECT COUNT() FROM 表名;
```
2. 求和(SUM)
```sql
SELECT SUM(字段) FROM 表名;
```
3. 平均值(AVG)
```sql
SELECT AVG(字段) FROM 表名;
```
4. 最大值(MAX)和最小值(MIN)
```sql
SELECT MAX(字段), MIN(字段) FROM 表名;
```
5. 分组统计(GROUP BY)
```sql
SELECT 字段, COUNT() FROM 表名 GROUP BY 字段;
```
6. 带条件的分组(HAVING)
```sql
SELECT 字段, COUNT() FROM 表名 GROUP BY 字段 HAVING COUNT() > 10;
```
三、表连接与子查询
1. 内连接(INNER JOIN)
```sql
SELECT a.字段, b.字段
FROM 表A a
INNER JOIN 表B b ON a.关联字段 = b.关联字段;
```
2. 左连接(LEFT JOIN)
```sql
SELECT a.字段, b.字段
FROM 表A a
LEFT JOIN 表B b ON a.关联字段 = b.关联字段;
```
3. 右连接(RIGHT JOIN)
```sql
SELECT a.字段, b.字段
FROM 表A a
RIGHT JOIN 表B b ON a.关联字段 = b.关联字段;
```
4. 子查询
```sql
SELECT FROM 表名 WHERE 字段 IN (SELECT 字段 FROM 表名 WHERE 条件);
```
四、数据操作语句
1. 插入数据(INSERT)
```sql
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);
```
2. 更新数据(UPDATE)
```sql
UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 WHERE 条件;
```
3. 删除数据(DELETE)
```sql
DELETE FROM 表名 WHERE 条件;
```
4. 清空表数据(TRUNCATE)
```sql
TRUNCATE TABLE 表名;
```
五、索引与优化
1. 创建索引
```sql
CREATE INDEX 索引名 ON 表名 (字段);
```
2. 删除索引
```sql
DROP INDEX 索引名 ON 表名;
```
3. 查看索引信息
```sql
SHOW INDEX FROM 表名;
```
六、其他常用语句
1. 别名(AS)
```sql
SELECT 字段 AS 别名 FROM 表名;
```
2. 使用 CASE 表达式
```sql
SELECT 字段,
CASE
WHEN 条件 THEN '结果1'
ELSE '结果2'
END AS 新字段
FROM 表名;
```
3. 使用正则表达式(如 MySQL 中的 REGEXP)
```sql
SELECT FROM 表名 WHERE 字段 REGEXP '正则表达式';
```
结语
SQL 是数据库操作的核心语言,熟练掌握这些经典语句,可以极大提升数据处理效率。当然,SQL 的内容远不止于此,随着数据库技术的发展,越来越多的功能和语法被引入,例如窗口函数、CTE(公共表表达式)、JSON 处理等。建议在实际工作中不断积累经验,结合具体业务场景灵活运用 SQL 语句,才能真正发挥其强大功能。