MySQL 常用查询语句精粹

引言

MySQL 是一种广泛使用的开源关系型数据库管理系统,其强大的查询语言为用户提供了丰富的数据处理能力。掌握 MySQL 的常用查询语句对于数据库管理和数据分析至关重要。本文将介绍一些 MySQL 中的常用查询语句,并提供实际的示例。

基础查询

1. 选择特定列

sql 复制代码
SELECT column1, column2 FROM table_name;

这个语句从 table_name 表中选择 column1 和 column2 列。

2. 选择所有列

sql 复制代码
SELECT * FROM table_name;

使用星号(*)代表选择所有列。

3. 限制结果数量

sql 复制代码
SELECT * FROM table_name LIMIT number;

使用 LIMIT 子句限制查询结果的数量。

4. 去重查询

sql 复制代码
SELECT DISTINCT column1 FROM table_name;

使用 DISTINCT 关键字返回唯一不同的值。

条件查询

5. 使用 WHERE 子句

sql 复制代码
SELECT * FROM table_name WHERE condition;

WHERE 子句用于过滤记录,以满足指定的条件。

6. 比较运算符

sql 复制代码
SELECT * FROM table_name WHERE column1 = 'value';

使用比较运算符(如 =, <>, >, <, >=, <=)来指定条件。

7. 逻辑运算符

sql 复制代码
SELECT * FROM table_name WHERE column1 = 'value' AND column2 < 100;

使用逻辑运算符(如 AND, OR, NOT)来组合多个条件。

8. 范围查询

sql 复制代码
SELECT * FROM table_name WHERE column1 BETWEEN value1 AND value2;

BETWEEN 子句用于选择在两个值之间的数据。

9. 模式匹配

sql 复制代码
SELECT * FROM table_name WHERE column1 LIKE '%pattern%';

使用 LIKE 操作符和百分号(%)进行模式匹配。

10. 空值检查

sql 复制代码
SELECT * FROM table_name WHERE column1 IS NULL;

检查列值是否为 NULL。

数据排序

11. 升序排序

sql 复制代码
SELECT * FROM table_name ORDER BY column1 ASC;

使用 ASC 关键字对结果进行升序排序。

12. 降序排序

sql 复制代码
SELECT * FROM table_name ORDER BY column1 DESC;

使用 DESC 关键字对结果进行降序排序。

13. 多列排序

sql 复制代码
SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;

根据多个列进行排序,每个列可以指定不同的排序方向。

数据聚合

14. 使用聚合函数

sql 复制代码
SELECT COUNT(*), AVG(column1), SUM(column1), MAX(column1), MIN(column1) FROM table_name;

聚合函数用于计算数据的总数、平均值、总和、最大值和最小值。

15. 聚合与分组

sql 复制代码
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

使用 GROUP BY 子句按一个或多个列对结果集进行分组,并进行聚合计算。

连接查询

16. 内连接

sql 复制代码
SELECT * FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;

内连接用于返回两个表中匹配连接条件的记录。

17. 左连接

sql 复制代码
SELECT * FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;

左连接返回左表(table1)的所有记录,即使右表(table2)中没有匹配的记录。

18. 右连接

sql 复制代码
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

右连接返回右表(table2)的所有记录,即使左表(table1)中没有匹配的记录。

19. 全外连接

sql 复制代码
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

全外连接返回两个表中的所有记录,无论它们是否匹配连接条件。

子查询

20. 带子查询的查询

sql 复制代码
SELECT * FROM table_name WHERE column1 IN (SELECT column1 FROM other_table);

子查询通常用于返回一个值列表,该列表用于主查询的条件判断。

21. 子查询与聚合

sql 复制代码
SELECT AVG(column1) AS average FROM table_name WHERE column1 > (SELECT AVG(column1) FROM other_table);

子查询可以执行聚合操作,并与主查询进行比较。

数据操作

22. 插入数据

sql 复制代码
INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');

向表中插入新行。

23. 更新数据

sql 复制代码
UPDATE table_name SET column1 = 'new_value' WHERE condition;

更新满足条件的记录。

24. 删除数据

sql 复制代码
DELETE FROM table_name WHERE condition;

删除满足条件的记录。

结语

MySQL 提供了丰富的查询语句,以满足不同场景下的数据操作需求。从简单的数据检索到复杂的数据分析,MySQL 的查询语句都是强大而灵活的工具。希望本文能帮助你更好地理解和使用 MySQL 查询语句。


相关推荐
weixin_511255217 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅8 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan8 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
做运维的阿瑞8 小时前
数据库增删改的安全写法
数据库·sql·mysql
程序边界9 小时前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
阿狗童鞋9 小时前
Redis实战指南
数据库·redis·缓存
frjc10 小时前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
lupai10 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
小马哥程序开发10 小时前
[点赞收藏免费领取 · 项目源码]37399民族服饰饰品商城小程序
sql·mysql·flask·源码·课程设计·程序开发·课设
2601_9521963613 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle