第三篇:数据操纵语言DML
数据操纵语言DML与数据查询语言DQL之间的主要区别在于:DML语言是对表格中的数据进行改变,DQL语言只是查询表格中的数据。
改变就包括主要的三种:增加,删除,修改。
Part1: 增加
增加是向表格中增加行,也就是增加数据量。增加并不改变原来表格数据的结构。
语法格式如下:
insert into 表名(字段名1,字段名2,…,字段名n) values(值1,值2,…,值n);
备注:值与列名要保持对应关系
例1:向女生表girls中添加一行唐艺昕的值:
insert into girls(id, name, sex, borndate, phone-number, photo, boyfriend_id) values(12, '唐艺昕', F, '1990-04-23', '18988888888', null, 2);
备注:其中null表示没有照片信息,那么直接填写null即可。
对于值可以为null的字段名,应该如何应对?
有两种方法:
- 在表名后写上该字段名,然后在后续的值中写上null;
- 在表名后面不写该字段名,然后再值中也不写;
总的来说就是前后保持一致。这两种方法的区别如下: - 方式1可以支持一次性插入多行,但是方式2不支持;
- 方式1支持子查询,方式2不支持。
备注:
- 插入的值的格式要与字段的要求格式保持一致;
- 只有声明可以填写null的字段名才可以填null,并有两种方式;
- 字段名的顺序可以调整,不用与表格中保持一致,但是值与字段名要保持一致;
Part2: 删除
删除是向表格中减少行,也就是减少数据量。删除并不改变原来表格数据的结构。
语法格式如下:
delete from 表名 where 筛选条件
例2:删除女生表girls中手机号以9结尾的女生信息:
delete from girls where phone-number like '%9';
如果是在多个表中删除信息的话,需要考虑到表格之间的关联属性,用到之前的连接方式。
例3:删除女生表girls中男朋友是张无忌的女生的信息:
delete
from girls
join boys
on boys.id = girls.boyfirend_id
where boys.name = ’张无忌';
如果需要删除整个表格的话,需要用到truncate。尽管delete也可以实现对于表格中的元素的全部删除,但是trancate可以更加高效地完成同样的工作。
Part3: 修改
修改是改变表格中已经有的数据的字段的信息。修改并不改变原来表格数据的结构。
语法格式如下:
update 表名 set 字段名 = value where 筛选条件;
例4:修改女生表girls中姓唐的女生的手机号码为13888888888:
update grils set phone-number = 13888888888 where name like '唐%';
如果需要借助于多个表格的信息的话,需要用到表格之间的关联条件。
例5:修改女生表girls男朋友编号不在男生表boys中的女生的男朋友编号为2:
update girls
left outer join boys
on girls.boyfriend_id = boys.id
set girls.boyfriend_id = 2
where boys.name is Null;
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!