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不能作用于有外键约束的表。

相关推荐
Leighteen16 分钟前
ORDER BY + LIMIT 的坑:为什么加了 `LIMIT` 结果顺序还乱
数据库
一个天蝎座 白勺 程序猿19 分钟前
复盘之我在金仓生产环境踩过的SQL暗坑,和攒了六年的编码规矩
数据库·sql·kingbasees
Dylan的码园36 分钟前
从Excel到数据库:数据分析全流程与Kettle ETL实战指南
数据库·数据分析·excel
l1t38 分钟前
DeepSeek总结的DuckLake 架构深度剖析-1
数据库·架构
花生了什么事o38 分钟前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
纪伊路上盛名在1 小时前
NVML ERROR_ RM has detected an NVML_RM version mismatch
linux·数据库·gpu·驱动
nVisual1 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件
早点睡啊Y2 小时前
精读 LangChain 官方文档(三):
服务器·数据库·langchain
zzzzzz3102 小时前
当老板说「数据库里加个字段就行了」时,我在想什么——一个后端开发的奇葩需求大赏
数据库·人工智能·产品经理