无论是初学者还是资深开发者,熟练掌握MySQL不仅能够大幅提升工作效率,还能为数据分析、系统优化打下坚实基础
为了帮助大家快速上手并深入掌握MySQL,本文精心挑选了50句核心SQL语句,结合图解,让你一目了然,轻松记忆,从而在数据库管理和开发的道路上如鱼得水
一、基础查询篇(1-10句) 1. 选择所有列 sql SELECTFROM table_name; !【选择所有列】(https://example.com/image1.png) 图解:显示指定表中的所有列数据
2. 选择特定列 sql SELECT column1, column2 FROM table_name; !【选择特定列】(https://example.com/image2.png) 图解:仅显示指定表中的特定列数据
3. 使用WHERE条件过滤数据 sql SELECT - FROM table_name WHERE condition; !【使用WHERE条件】(https://example.com/image3.png) 图解:根据指定条件筛选数据
4. 排序结果集 sql SELECT - FROM table_name ORDER BY column ASC|DESC; !【排序结果集】(https://example.com/image4.png) 图解:按指定列升序或降序排列数据
5. 限制返回行数 sql SELECT - FROM table_name LIMIT number; !【限制返回行数】(https://example.com/image5.png) 图解:限制返回结果的行数,常用于分页
6. 去重 sql SELECT DISTINCT column FROM table_name; !【去重】(https://example.com/image6.png) 图解:消除结果集中的重复值
7. 聚合函数 sql SELECT COUNT(), SUM(column), AVG(column), MAX(column), MIN(column) FROM table_name; !【聚合函数】(https://example.com/image7.png) 图解:计算总数、总和、平均值、最大值、最小值等
8. 分组查询 sql SELECT column, COUNT() FROM table_name GROUP BY column; !【分组查询】(https://example.com/image8.png) 图解:按指定列分组并统计每组数量
9. HAVING子句 sql SELECT column, COUNT() FROM table_name GROUP BY column HAVING COUNT() > value; !【HAVING子句】(https://example.com/image9.png) 图解:对分组后的结果进行条件过滤
10. 多表连接 sql SELECT a.column1, b.column2 FROM table1 a JOIN table2 b ON a.common_column = b.common_column; !【多表连接】(https://example.com/image10.png) 图解:根据共同列连接两个表并查询数据
二、数据操作篇(11-20句) 11. 插入数据 sql INSERT INTO table_name(column1, column2) VALUES(value1, value2); !【插入数据】(https://example.com/image11.png) 图解:向表中添加新记录
12. 插入多行数据 sql INSERT INTO table_name(column1, column2) VALUES(value1_1, value1_2),(value2_1, value2_2); !【插入多行数据】(https://example.com/image12.png) 图解:一次性插入多条记录
13. 更新数据 sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; !【更新数据】(https://example.com/image13.png) 图解:修改符合条件的记录
14. 删除数据 sql DELETE FROM table_name WHERE condition; !【删除数据】(https://example.com/image14.png) 图解:删除符合条件的记录
15. 清空表数据 sql TRUNCATE TABLE table_name; !【清空表数据】(https://example.com/image15.png) 图解:快速删除表中的所有记录,且不可恢复
16. 使用子查询插入数据 sql INSERT INTO table_name(column1, column2) SELECT columnA, columnB FROM another_table WHERE condition; !【使用子查询插入数据】(https://example.com/image16.png) 图解:从一个表中选择数据并插入到另一个表中
17. 更新时引用其他表 sql UPDATE table_name a SET a.column1 =(SELECT b.column2 FROM another_table b WHERE a.common_column = b.common_column) WHERE condition; !【更新时引用其他表】(https://example.com/image17.png) 图解:根据另一张表的数据更新当前表
18. 删除时引用其他表 sql DELETE a FROM table_name a USING another_table b WHERE a.common_column = b.common_column AND condition; !【删除时引用其他表】(https://example.com/image18.png) 图解:根据另一张表的数据删除当前表的记录
19. 合并数据(INSERT ... ON DUPLICATE KEY UPDATE) sql INSERT INTO table_name(column1, column2) VALUES(value1, value2) ON DUPLICATE KEY UPDATE column2 = VALUES(column2); !【合并数据】(https://example.com/image19.png) 图解:尝试插入数据,若主键或唯一索引冲突则更新指定列
20. 替换数据(REPLACE INTO) sql REPLACE INTO table_name(column1, column2) VALUES(value1, value2); !【替换数据】(https://example.com/image20.png) 图解:尝试插入数据,若主键或唯一索引冲突则先删除旧记录再插入新记录
三、高级应用篇(21-35句) 21. 使用事务 sql START TRANSACTION; -- SQL statements COMMIT; -- 或 ROLLBACK; !【使用事务】(https://example.com/image21.png) 图解:确保一组操作要么全部成功,要么全部回滚
22. 创建索引 sql CREATE INDEX index_name ON table_name(column1, column2); !【创建索引】(https://example.com/image22.png) 图解:提高查询效率
23. 删除索引 sql DROP INDEX index_name ON table_name; !【删除索引】(https://example.com/image23.png) 图解:移除不必要的索引以节省空间
24. 创建视图 sql CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition; !【创建视图】(https://example.com/image24.png) 图解:基于SQL查询结果的虚拟表
25. 使用视图查询 sql SELECTFROM view_name; !【使用视图查询】(https://example.com/image25.png) 图解:像查询普通表一样查询视图
26. 修改视图 sql CREATE OR REPLACE VIEW view_name AS SELECT new_column1, new_column2 FROM another_table