MySQL 常用查询语句精粹

引言

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

基础查询

1. 选择特定列

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

这个语句从 table_name 表中选择 column1column2 列。

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 查询语句。


相关推荐
zzb15808 小时前
RAG from Scratch-优化-query
java·数据库·人工智能·后端·spring·mybatis
一只鹿鹿鹿8 小时前
信息安全等级保护安全建设防护解决方案(总体资料)
运维·开发语言·数据库·面试·职场和发展
堕2748 小时前
MySQL数据库《基础篇--数据库索引(2)》
数据库·mysql
wei_shuo8 小时前
数据库优化器进化论:金仓如何用智能下推把查询时间从秒级打到毫秒级
数据库·kingbase·金仓
71-38 小时前
MySQL的安装和卸载组件
笔记·学习·mysql
雷工笔记8 小时前
Navicat Premium 17 软件安装记录
数据库
wenlonglanying9 小时前
Ubuntu 系统下安装 Nginx
数据库·nginx·ubuntu
数据库小组9 小时前
10 分钟搞定!Docker 一键部署 NineData 社区版
数据库·docker·容器·database·数据库管理工具·ninedata·迁移工具
爬山算法9 小时前
MongoDB(38)如何使用聚合进行投影?
数据库·mongodb
l1t9 小时前
Deep Seek总结的APSW 和 SQLite 的关系
数据库·sqlite