1、Mysql之修改
关键字 update
1、修改单表的记录
update 表 set 列1=新值,列2=新值
where 筛选条件,和查询时的条件是一样的
需求:修改beauty 中姓周的改成138.。。。
UPDATE `beauty` set phone = '13823332235' WHERE NAME like '%岩';
2、修改多表的记录
需求:修改张无忌的女朋友的手机号为114
update boys bo
INNER JOIN beauty b on bo.id = b.boyfriend_id
set b.phone = '114'
WHERE bo.boyName='张无忌'
这里要多体会下,之前用的比较少
需求:修改没有女朋友的女神的男朋友编号都是2号
UPDATE beauty b
LEFT JOIN boys bo
ON b.boyfriend_id = bo.id
SET b.boyfriend_id = 5
WHERE bo.id is null
2、Mysql 之 删除
delete from 表 where 筛选条件,删除满足条件的整行的记录
1、单表的删除
需求: 删除手机号以9 结尾的女神信息
DELETE from beauty where phone like '%9'
2、多表的删除
语法: delete 表1的别名,表2的别名 from 表1 别名 inner|left|right 表2 别名 on 链接条件 where
需求:删除张无忌的女朋友的信息
delete b FROM beauty b INNER JOIN boys bo on
b.boyfriend_id = bo.id
where bo.boyName = '张无忌'
需求: 删除黄晓明的信息以及他女朋友的信息
delete b,bo FROM beauty b INNER JOIN boys bo on
b.boyfriend_id = bo.id where bo.boyName = '黄晓明'
truncate 语句
语法: truncate table 表
和delete的区别
1、truncate 语句不能加 where条件,delete 可以
2、删除表数据的时候可以用,效率比delete from 效率高点
3、删除的表中有自增长列,如果delete 删除后,插入数据时自增长的值从断点处开始,truncate 删除表数据后
再插入时自增长从0开始
4、truncate删除 没有返回值,delete 有返回值,truncate 不会返回受影响的行数。
5、truncate 删除 不能回滚,delete 删除可以回滚