MySQL数据库教程03

DML 常见操作

DML 主要是针对数据库的增删改进行的操作。测试主要是为了测试前期准备,包括准备测试数据预埋、测试设计构建。

新增数据

  1. 新增单行数据
    INSERT INTO <表名> ([列名]) VALUES (<值列表>)

    • 单行新增指定新增的列

      sql 复制代码
      INSERT INTO student(s_name,s_birth,s_sex) values('小明','2000-12-12','男');
    • 单列新增所有字段数据

      sql 复制代码
      INSERT INTO student VALUES('003','小刘','1990-11-02','女');
      INSERT INTO student VALUES('004','小芳','1990-12-03','男');
      INSERT INTO student VALUES('005','小钱','1990-12-04','女');
  2. 新增多行数据
    INSERT INTO <表名> ([列名]) VALUES (<值列表>),(<值列表>),(<值列表>).....

    sql 复制代码
    INSERT INTO student values('006','小小','1990-12-04','女'),('007','大大','1990-12-04','男'),('008','大小','1990-12-04','女');

注意事项:

  1. 插入的数据必须跟给定的字段一一对应。
  2. 插入的数据类型必须跟字段的约束类型保持一致。
  3. 如果表中设置了主键自增,不建议指定给该字段手动插入值。
  4. 如果表中设置了非空约束,在新增数据时必须指定插入该字段数据值。
  5. 具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值,如自增、默认等约束。

修改数据

  1. 语法UPDATE <表名> SET <列名 = 更新值> [WHERE <更新条件>]

    • 不带条件修改

      ini 复制代码
      UPDATE  student  SET s_sex='女';
    • 带条件的修改使用 where 语句

      ini 复制代码
      UPDATE   student   SET s_sex='男' WHERE s_name='赵雷';

删除数据

  1. deletedelete from 表名 [where 列名=条件]
  2. truncatetruncate table 表名

区别:

两种删除都可以直接清空表格数据,只清空数据,不会删除表格的约束。delete删除数据不会重置自增约束的排序,truncate删除会重置自增的约束排序。truncate不能作用于有外键约束的表。

相关推荐
NineData17 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL17 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king20 小时前
入门 java 和 数据库
java·数据库·后端
Apifox21 小时前
【测试套件】当用户说“我只想跑 P0 用例”时,我们到底在说什么
单元测试·测试·ab测试
jiayou641 天前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData2 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师2 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石2 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_3 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库