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

相关推荐
科技小花6 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56617 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全8 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717219 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本9 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi9 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai10 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw010 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl2002092510 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛1392462567311 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑