DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。它主要包含以下操作,
- 添加数据(INSERT)
- 修改数据(UPDATE)
- 删除数据(DELETE)
一,添加数据(INSERT)
注意:
- 插入数据时,指定的字段顺序与值的顺序一一对应
- 字符串类型和日期类型的数据必须包含在英文引号(单或双均可)中
- 插入数据的大小要在字段的规定范围内
MySQL常见数据类型及其相应的大小范围查询此篇->
第五篇:MySQL常见数据类型-CSDN博客
(一)给所有字段添加数据
insert into 表名 values(值1,值2,...);
(二)给指定字段添加数据
(在表名之后指定字段)
insert into 表名(字段名1,字段名2,...) values(值1,值2,...);
(三)批量添加数据
(1)批量给全部字段添加数据
(在values后面添多值)
insert into 表名 values(值1,值2,...), (值1,值2,...)...;
(2)批量给指定字段添加数据
(在表名之后指定字段)
insert into 表名(字段名1,字段名2,...) values(值1,值2,...), (值1,值2,...)...;
二,修改(更新)数据(UPDATE)
(注:<尖括号>内的内容是可选项
where之后的条件一般选用一个唯一的字段,如果有多个条件则用【and】连接
例如:
【where id=1】表示修改操作将作用于id=1的数据
【where name="张三" and gender="女"】表示修改操作将作用于name="张三"且gender="女"的数据
)
update 表名 set 字段名1=值1, 字段名2=值2,...<where 条件>;
注意注意!
如果没有写<where 条件>,修改操作将作用于表中所有数据,是比较危险的操作,如果是误操作,则会瞬间污染表中所有数据!如果MySQL工具相对智能,此时就会报出警告让你确认运行(相当人性化的设计,SQLyog就没有这个功能,也可能是我没找到开关吧,至于cmd命令行窗口就别想了……),如下图是【HeidiSQL】的警告提示,【HeidiSQL】的安装在本专栏的第六篇博客中有详细介绍->第六篇:MySQL图形化管理工具-CSDN博客
三,删除数据(DELETE)
(注:<尖括号>内的内容是可选项)
delete from 表名 <where 条件>
此处的<where 条件>的规则和二,修改数据(UPDATE)的规则是一模一样的(就在上面,往上翻一下),如果不写的话删除操作将作用于表中所有数据,如果是误操作则会瞬间清空表的所有内容
这操作有多危险就不必赘述了吧……如果没有提前备份sql文件的话,实际开发中真的是靠这一行命令毁一生了/(ㄒoㄒ)/~~(删库跑路,牢底坐穿🤣)
因此如果有图形化管理工具的警告保障,则能避免一步跳崖式的惨案
四,测试
小练习
(保留节目)下面给出一个博主自拟的小练习(下面有详解答案,一定要多写多练阿!),通过这个练习来对DML数据操作的相关命令加以熟练,顺便多熟悉一下上一篇刚安装好的图形化管理工具,博主就拿【HeidiSQL】做演示了——
在完成每一步操作之后,请用查询表内容的命令查看表格内容是否符合预期操作!
(懵了吧😉😂,不知道怎么查看表的内容?不是【desc 表名】阿😫,这个是用来查询表结构的,查询表的命令是下一篇DQL语句的内容,让阿晴偷偷提前告诉你吧,先用着噢!快说:谢谢阿晴!)
select * from 表名;
1.创建一个名为test的数据库,并在该库中创建一个名为users的表,其中包括4个字段,分别是:id int,name varchar(20),gender varchar(1)
直接通过图形化界面输入字段完成创建即可,不使用命令
2.使用【insert】命令,给所有字段添加新数据:id=1, name="keqing", gender="女"
3.使用【insert】命令,给name和gender两个字段添加新数据:name="furina", gender="女"
4.使用【insert】命令,批量给所有字段添加新数据,数据分别是:
id=3, name="tartaglia", gender="男"
id=4, name="zhongli", gender="男"
id=5, name="我先占个位儿"
5.使用【update】命令,给目前表格中唯一一条没有id的数据添加id=2
6.使用【delete】命令,把name="我先占个位儿"的这条奇奇怪怪的数据给删了,记得加<where 条件>噢
7.使用【delete】命令,故意不加<where 条件>,感受一下【HeidiSQL】的人性化警报提醒,如果你用的是其它图形化管理工具,博主就不保证都有这个功能咯~
对答案
1.创建一个名为test的数据库,并在该库中创建一个名为users的表,其中包括4个字段,分别是:id int,name varchar(20),gender varchar(1)
直接通过图形化界面输入字段完成创建即可,不必使用命令
创建test数据库
2.使用【insert】命令,给所有字段添加新数据:id=1, name="keqing", gender="女"
直接在【查询】界面使用命令->(括号内的数据不用带字段名的噢,你不会直接复制上面的吧哈哈😉,这样数据会变成NULL,删掉重新做吧)
insert into users values(1, "keqing", "女");
然后查询表内容的命令->
select * from users;
最后【右键】->【运行】运行代码或者快捷键【F9】直接运行代码
3.使用【insert】命令,给name和gender两个字段添加新数据:name="furina", gender="女"
跟上面的差不多吧,在表名后面加上指定字段就好了->(给指定字段添加数据,数据和字段的顺序一定要一一对应阿!)
insert into users(name, gender) values("furina", "女");
然后查询表内容的命令->
select * from users;
最后【右键】->【运行】运行代码或者快捷键【F9】直接运行代码,对了,一定记得要把之前的代码删掉或者注释掉再运行,否则之前的代码会被再执行一次的!
4.使用【insert】命令,批量给所有字段添加新数据,数据分别是:
id=3, name="tartaglia", gender="男"
id=4, name="zhongli", gender="男"
id=5, name="我先占个位儿", gender="无"
批量添加数据其实就是多加几个括号而已->
insert into users VALUES(3, "tartaglia", "男"), (4, "zhongli", "男"), (5, "我先占个位儿", "无");
5.使用【update】命令,给目前表格中唯一一条没有id的数据修改其id=2
一定要写<where 条件>噢,否则所有数据的id都变成2了!
UPDATE users SET id=2 WHERE NAME="furina";
6.使用【delete】命令,把name="我先占个位儿"的这条奇奇怪怪的数据给删了,记得加<where 条件>噢
一定要写<where 条件>噢,否则所有数据都会被删除!
delete from users where id=5;
7.使用【delete】命令,故意不加<where 条件>,感受一下【HeidiSQL】的人性化警报提醒,如果你用的是其它图形化管理工具,博主就不保证都有这个功能咯~
小手一抖,表格没有🤣