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


相关推荐
远歌已逝12 分钟前
维护在线重做日志(二)
数据库·oracle
qq_433099401 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz1 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺3 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了4 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i5 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl5 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502775 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空5 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
Oak Zhang6 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存