ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

MySQL 基本操作速查

MySQL 基本操作速查 注意所有字符串值用单引号包裹每条 SQL 语句以分号结尾模糊查询时%表示通配符。语法字母都大写。一、查询操作SELECT1. 基础查询-- 查询所有字段SELECT*FROM表名; -- 查询指定字段 SELECT 字段1, 字段2 FROM 表名;2. 条件查询-- 单条件 SELECT * FROM 表名WHEREage 18; -- 多条件AND同时满足 SELECT * FROM 表名 WHERE age 18ANDstatus 1; -- 多条件OR满足其一即可 SELECT * FROM 表名 WHERE age 18ORstatus 1;3. 模糊查询LIKE-- % 表示任意字符任意长度 SELECT * FROM 表名 WHERE nameLIKE%张三%; -- 包含张三 SELECT * FROM 表名 WHERE name LIKE 张三%; -- 以张三开头 SELECT * FROM 表名 WHERE name LIKE %张三; -- 以张三结尾 -- _ 表示单个任意字符 SELECT * FROM 表名 WHERE name LIKE 张_; -- 张三、张四等4. 排序ORDER BY-- 降序从大到小DESC DescendingSELECT * FROM 表名ORDER BYidDESC;-- 升序从小到大ASC Ascending默认SELECT * FROM 表名 ORDER BY idASC; -- 多字段排序 SELECT * FROM 表名 ORDER BY age DESC, id ASC;5. 分页查询LIMIT OFFSET-- 跳过 20 条取 10 条即第 21-30 条 SELECT * FROM 表名LIMIT10OFFSET20; -- 简写方式LIMIT 条数, 偏移量 SELECT * FROM 表名 LIMIT 20, 10; -- 同上6. 聚合查询COUNT / SUM / AVG / MAX / MIN聚合查询 把多行数据的值“聚集”起来经过计算汇合成一个单一的统计结果-- 统计数据条数 SELECTCOUNT(*) FROM 表名 WHERE status 1; -- 求和 SELECTSUM(amount) FROM 表名 WHERE status 1; -- 求平均 SELECTAVG(score) FROM 表名 WHERE subject 数学; -- 求最大/最小值 SELECTMAX(price) FROM 表名; SELECTMIN(price) FROM 表名;7. 分组查询GROUP BY-- 按状态分组统计每个状态的数量 SELECT status, COUNT(*) FROM 表名GROUP BYstatus; -- 分组后筛选HAVING SELECT status, COUNT(*) FROM 表名 GROUP BY status HAVING COUNT(*) 10;8. 多表联查JOIN-- INNER JOIN默认只返回两边都匹配的数据 SELECT * FROM 表AJOIN表B ON 表A.id 表B.a_id; -- LEFT JOIN左表全部保留右表匹配不上则为 NULL SELECT * FROM 表A LEFT JOIN 表B ON 表A.id 表B.a_id; -- 多表 JOIN SELECT * FROM 表A JOIN 表B ON 表A.id 表B.a_id JOIN 表C ON 表B.id 表C.b_id;二、插入操作INSERT-- 插入单条数据INSERT INTO表名 (字段1, 字段2)VALUES(值1, 值2); -- 插入多条数据批量插入效率更高 INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2), (值3, 值4); -- 插入所有字段可省略字段名但值必须按顺序全给 INSERT INTO 表名 VALUES (值1, 值2, 值3);三、更新操作UPDATE-- ⚠️ 务必加 WHERE否则全表更新UPDATE表名SET字段1 新值 WHERE 条件; -- 更新多个字段 UPDATE 表名 SET 字段1 新值1, 字段2 新值2 WHERE id 1;四、删除操作DELETE-- ⚠️ 务必加 WHERE否则全表删除DELETEFROM 表名WHERE条件;-- 删除所有数据保留表结构 DELETE FROM 表名; -- 慢自增ID不重置五、清空表TRUNCATE-- 清空整张表自增ID重置为 1速度极快但不可恢复 TRUNCATE TABLE 表名;TRUNCATE vs DELETE 区别TRUNCATE 是“截断”整张表速度快、重置自增 ID但无法带 WHERE 条件DELETE 是逐行删除可以带 WHERE速度慢且不重置自增 ID。六、数据库与表管理-- 查看所有数据库 SHOW DATABASES; -- 创建数据库 CREATE DATABASE 数据库名; -- 切换数据库 USE 数据库名; -- 查看当前数据库所有表 SHOW TABLES; -- 查看表结构 DESC 表名; -- 查看建表语句 SHOW CREATE TABLE 表名;七、测试工作中常用的组合技巧场景SQL 示例查最新插入的数据SELECT * FROM orders ORDER BY id DESC LIMIT 10;查今日新增数据量SELECT COUNT(*) FROM orders WHERE DATE(create_time) CURDATE();验证某数据是否存在SELECT COUNT(*) FROM users WHERE phone 13800138000;翻页查询SELECT * FROM orders ORDER BY id LIMIT 10 OFFSET 0;统计各状态数量SELECT status, COUNT(*) FROM orders GROUP BY status;以上是测试工作中最常用的 MySQL 操作掌握这些基本够用了。核心就三件事查数据验证结果造数据准备环境删数据重置状态
返回列表