Mysql 9 —— DML语言

数据操作语言

  • 插入:insert
  • 修改:update
  • 删除:delete

一、插入语句

语法一:

insert into 表名(列名,...) values(值1,...);

特点:

  • 插入的值的类型和列的类型一致或兼容
    • INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) values (13,'唐艺昕','女','1990-4-23','189888888',null,2);
  • 不可以为null的列必须插入值,可以为null的列如何插入值
    • 要么列名和数据都省略,要么列名写着,值用null填充
    • 列数和值的个数必须一致
  • 列的顺序可以调换,但是数据和列要一一对应
  • 可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

语法二:

insert into 表名

set 列名=值,列名=值,...

 INSERT INTO beauty SET id =19,NAME='刘涛',phone='999';

 二、修改语句

1、修改单表的记录

语法:

update 表名

set 列=新值,列=新值

where 筛选条件

2、修改多表的记录【补充】

update 表1 别名,表2 别名

set 列=值,...

where 连接条件

and 筛选条件

案例1:修改beauty表中姓唐的女神的电话改为13899888898

UPDATE beauty SET phone = '13899888898'

WHERE NAME LIKE ‘唐%’;

案例2:修改张无忌女朋友的手机号为114

UPDATE boy bo

INNER JOIN beauty b ON bo.`id`=b.`boyfriend_id`

SET b.`phone`='114'

WHERE bo.`boyName`='张无忌‘;

三、删除语句

方式一:delete

语法:

1、单表的删除

delete from 表名 where 筛选条件

案例:删除手机号以9结尾的女神信息

DELETE FROM beauty WHERE phone LIKE '%9';

2、多表的删除

sql92语法:delete 表1的别名,表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件 

sql99语法:delete 表1的别名,表2的别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件

案例:删除张无忌的女朋友的信息

DELETE b

FROM beauty b

INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`

WHERE bo.`boyName`='张无忌';

案例2:删除黄晓明的信息以及他女朋友的信息

DELETE b,bo

FROM beauty b

INNER beauty b

INNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`

WHERE bo.`boyName`='黄晓明‘;

方式二:truncate

语法:truncate table 表名;

 比较:

  • delete可以加where条件,truncate不能加
  • truncate删除,效率较高
  • 加入要删除表中有自增长列
    • 如果用delete删除后,在插入数据,自增加列的值从断点开始,
    • 用runcate删除后,在插入数据,自增长列的值从1开始
  • truncate删除没有返回值,delete删除有返回值
  • truncate删除不能回滚,delete删除可以回滚

 

posted @ 2021-01-18 15:51  我等着你  阅读(82)  评论(0编辑  收藏  举报