MySQL基本操作—DML(增、删、改)

基本介绍

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。主要操作是对表中的数据进行增、删、改。

关键字:

  • 插入insert
  • 删除delete
  • 更改update

数据插入

格式1:

-- DML操作
-- 数据的插入
-- 格式1:
-- insrt into 表 (列名1,列名2,列名3...) values(值1,值2,值3...);
insert into 学生表(id,班级,院系,成绩) 
            values(01,'1班','信息系',90);

格式2:

-- 格式2:
-- 语法格式:insert int 表 values (值1,值2,值3...);向表中插入所有列
insert into 学生表 values(02,'2班','信息系',89);

注:格式1比较灵活,可以选择自己需要负责的列,但所有的数据都必须要对应,这样才不会报错,数据的类型要匹配

格式2更加简化,都是每一列都需要给一个值

数据修改

-- 数据修改
-- 格式1:
-- update 表名 set 字段名=值,字段名=值...;
-- 格式2:
-- update 表名 set 字段名=值 where 条件;

-- 1.将所有学生的班级改为1班
update 学生表 set 班级='1班';
-- 格式1

-- 2.将id为1的学生id改为202201
update 学生表 set id=202201 where id=1;
-- 格式2

-- 3.将id为2的学生id改为202202,成绩改为95
update 学生表 set id=202202,成绩=95 where id=2;
-- 格式2

注:

格式1不加条件,会将该列的所有值修改

格式2只会修改符合条件的值

可以通过加逗号为多列赋值

数据删除

-- 数据删除:
-- 语法1:delete from 表名 [where 条件]
-- 语法2:truncate table 表名 或者 truncate 表名
-- 1.删除sid为202204的学生数据
delete from 学生表 where id=202204;

-- 2,删除表所有数据
delete from 学生表;
-- 3.清空表数据
truncate table 学生表;
truncate 学生表;

注意:

delete和truncate的比较:

相同点

两者都是删除表数据 但不会删除表结构

不同点
1.delete支持按条件删除,TRUNCATE不支持。
2.delete 删除后自增列不会重置,而TRUNCATE会被重置。
3.delete是逐条删除(速度较慢),truncate是整体删除(速度较快)。
4.delete删除是一条一条删除,并不会改变表结构,属于DML,而truncate删除表数据是将表删掉,重新新建一张表,属于DDL。
5.delete不会释放空间,而TRUNCATE会释放空间。
6.delete 支持回滚,TRUNCATE不支持。

猜你喜欢

转载自blog.csdn.net/caolongbin/article/details/126939456