编辑
2025-07-15
MySQL
00
请注意,本文编写于 143 天前,最后修改于 143 天前,其中某些信息可能已经过时。

目录

sql语句基础
增删改查
增加
删除
修改
删除
复杂的查询使用

sql语句基础

增删改查

增加

  1. Create(新增数据)
    作用:向表中插入新记录(如新增缺陷)
    语法:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
    示例:INSERT INTO bug (title, status, priority, type, module_id, reporter_id) VALUES ('购物车结算金额计算错误', '未解决', '高', '功能', 2, 101); 注意事项:
    字符串值需用单引号包裹(如'未解决')
    自增主键(如bug_id)可省略不写,数据库会自动生成
    字段顺序需与值的顺序一一对应

删除

  1. Read(查询数据)
    作用:从表中获取记录(如查询缺陷列表)
    基础语法:SELECT 字段1, 字段2, ... FROM 表名 [WHERE 条件] [ORDER BY 字段] [LIMIT 数量];

修改

  1. Update(修改数据) 作用:更新表中已有记录(如修改缺陷状态)
    语法:UPDATE 表名 SET 字段1=值1, 字段2=值2, ... WHERE 条件;

注意事项:
绝对禁止不加 WHERE 条件!否则会更新表中所有记录(如UPDATE defect SET defect_status='fixed'会导致全表状态错误) 可同时更新多个字段(用逗号分隔)

删除

  1. Delete(删除数据)
    作用:删除表中记录(如删除重复缺陷)
    推荐:逻辑删除(保留数据)
    -- 逻辑删除:将重复缺陷标记为"已删除"(而非物理删除)
    UPDATE defect
    SET is_deleted = 1 -- 逻辑删除标记:1表示已删除
    WHERE defect_id = 8; -- 仅删除defect_id=8的缺陷
    禁止:物理删除(数据不可恢复)
    -- 错误示例:物理删除会永久丢失数据,仅在测试环境清理垃圾数据时使用
    -- DELETE FROM defect WHERE defect_id=8; -- 禁止!除非确认数据无任何价值

注意事项:
逻辑删除后,查询时需加AND is_deleted=0过滤(如SELECT * FROM defect WHERE is_deleted=0) 物理删除前必须通过查询确认(如SELECT * FROM defect WHERE defect_id=8)
核心总结
增删改操作需谨慎,尤其是UPDATE和DELETE,必须加WHERE条件锁定目标记录
查询(SELECT)是测试场景中最常用的操作,重点练习WHERE(条件筛选)、ORDER BY(排序)、LIMIT(限制条数)的组合
所有字符串值必须用单引号包裹,字段名需与表结构一致(避免拼写错误)

复杂的查询使用

本文作者:haotian

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!