MySQL DML语言——增删改

DML

beauty表
在这里插入图片描述boys表
在这里插入图片描述

数据操作语言
插入:insert 
修改: update
删除: delete 

一、插入语句

语法:

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

1.插入的值的类型要与列的类型一致

INSERT INTO beauty (id,NAME,sex,borndate,phone,photo,boyfriend_id) 
VALUES(13,'无天黑子','男','1992-1-12','18813562125',NULL,2)

2.列的顺序可以调换

INSERT INTO  beauty (NAME,sex,id,phone)
VALUES ('庄心妍','女',14,'15578451254');

3.列数和值的个数必须一致

INSERT INTO beauty(id,NAME,sex,phone)
VALUES(15,'张天爱','女','15262511203');

4.可以省略列名,默认所有列,而且列的顺序和表中的列的顺序一致

INSERT INTO beauty VALUES (16,'薛凯琪','女','1989-9-23','15689745612',NULL,5)

方式二:

语法:

insert into 表名
set 列名=,列名=;
INSERT INTO beauty SET 	id=18,NAME='张靓颖',phone='15784562135';

两种方式对比
1、方式一支持插入多行,方式二不支持

INSERT INTO beauty 
	VALUES(1,2,...),
	(1,2,...);

方式一支持子查询,方式二不支持

INSERT INTO beauty(id,NAME,phone)
SELECT 18,'李慧璇','1884561234';

将查询的结果新增到beauty表中

INSERT INTO beauty(id,NAME,phone)	
SELECT id,boyName,'1558562145' FROM boys WHERE id <3;

二、修改语句

1.修改单表的记录★

语法:

update 表名
	set=新值,=新值,...
	where 筛选条件;

2.修改多表的记录【补充】
语法:

sql92语法:

update1 别名,表2 别名
	set=,...
	where 连接条件
	and 筛选条件

sql99语法:

update1 别名
inner|left|right join2
on 连接条件
set=,...
where 筛选条件;

1.修改单表的记录

案例1.修改beauty表中李慧璇的电话号码为15575412354

UPDATE beauty SET phone='15575412354' WHERE NAME='李慧璇';

案例2.修改beauty表中无天黑子名字和性别分别为江疏影,女

UPDATE beauty SET NAME='江疏影',sex='女' WHERE NAME ='无天黑子';

2.修改多表的记录

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

 UPDATE boys b  INNER JOIN beauty m 
 ON b.`id`=m.`boyfriend_id` 
 SET m.`phone`='520' WHERE b.`boyName`='张无忌';

案例2:修改没有男朋友的女神的男朋友编号为2

UPDATE beauty m LEFT JOIN boys b ON m.`boyfriend_id` =b.`id`  SET boyfriend_id =2 WHERE m.`boyfriend_id` IS NULL; 

三、删除语句

方式一:delete

语法:
1、单表的删除

delete from 表名 where 筛选条件

2、多表的删除【补充】

sql92语法:

delete1的别名,2的别名
from1 别名,表2 别名
where 连接条件
and 筛选条件;

sql99语法:

delete1的别名,2的别名
	from1 别名
	inner|left|rigth join2 别名 on 连接条件
	where 筛选条件;

方式二:truncate
语法:

truncate table 表名;

方式一:delete
1.单表的删除

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

DELETE FROM beauty WHERE phone LIKE '%9';

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

DELETE m
FROM boys b 
INNER JOIN beauty m 
ON b.id=m.boyfriend_id
WHERE b.boyName='张无忌';

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

DELETE b,m
FROM boys b 
INNER JOIN beauty m 
ON b.`id`=m.`boyfriend_id`
WHERE b.`boyName`='黄晓明';

方式二:truncate

TRUNCATE TABLE 表名;

delete and truncate ★

 delete 可以加where 条件,truncate不能加
 truncate删除,效率高一丢丢
 假如要删除的表中有自增长列,如果使用delete删除后,再插入数据,自增长列的值从断点开始;而truncate删除后,再插入数据,自增长列的值从1开始
 truncate删除没有返回值,delete删除有返回值
 truncate删除不能回滚,delete可以回滚
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值