一、插入语句

语法:

方式一:insert into 表名(列名) values(值1,值2,...)

方式二:insert into 表名 set 列名=值,列名=值...

注意:

列的顺序可以调换,但是插入值必须与列一一对应

#一、插入语句

#1.插入值的类型要与列的类型一致或兼容,不可以为null的列必须插入值
INSERT INTO beauty(`name`,sex,borndate,phone,photo)
VALUES('张雨琦','女','1990-03-20','18209876577',NULL);

#2.列的顺序可以调换
INSERT INTO beauty(id,sex,`name`,phone)
VALUES(16,'女','刘亦菲','18209876575');

#3.可以省略列名,默认所有列,而且列的顺序与表中列的顺序一致
INSERT INTO beauty VALUES(17,'周丽丹','女','1992-2-21','18209876575',NULL,NULL);

#方式二
INSERT INTO beauty
SET id = 18,`name` = '刘涛',phone ='18209876575';

#方式一支持插入多行,方式二不支持
INSERT INTO beauty(id,`name`,phone)
VALUES(19,'孙俪','18209876575'),(20,'孙莉','18209876575'),(21,'张天爱','18209876575');

#方式一支持子查询,方式二不支持
INSERT INTO beauty(id,`name`,phone)
SELECT 22,'宋茜','18209876575';


二、修改语句

语法:

修改单表

update 表名 set 列=新值,列=新值,...

where 筛选条件;

修改多表

update 表1 别名

inner/left/right join 表2 别名

on 连接条件

set 列名=值

where = 筛选条件;

#二、修改单表中的记录
#1.修改beauty表中姓柳女神的电话为13745678765
UPDATE beauty SET phone ='13745678765'
WHERE `name` LIKE '柳%';

#2.修改boys表中id为2的男神名字为张飞,魅力值为400
UPDATE boys SET boyName = '张飞',userCP = 400
WHERE id = 2;

#修改多表的记录
#1.修改张无忌的女朋友的手机号为114
UPDATE beauty be
LEFT JOIN boys bo ON be.boyfriend_id = bo.id
SET be.phone = '114'
WHERE bo.boyName = '张无忌';

#2.修改没有男朋友的女神的男朋友编号都为2号
UPDATE beauty be
LEFT JOIN boys bo ON be.boyfriend_id = bo.id
SET boyfriend_id = 2
WHERE boyfriend_id IS NULL;


三、删除语句

语法:

方式一:

单表

delete from 表名 where 筛选条件;

多表

delete 表1的别名,表2的别名

from 表1 别名

inner/left/right join 表2 别名 on连接条件

where 筛选条件

方式二:

truncate table 表名;

区别:

1.delete可以加where条件,truncate不能加

2.truncate删除,效率高

3.删除的表中有自增长列,delete删除后插入数据,自增长列从断点开始,truncate删除后再插入数据,自增长列从1开始

4.truncate删除不能回滚,delete删除可以回滚

#单表的删除
#1.删除手机号以9结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9';

#2.删除张无忌的女朋友的信息
DELETE be FROM beauty be
INNER JOIN boys bo ON be.boyfriend_id = bo.id
WHERE bo.boyName = '张无忌';

#3.删除黄晓明及他女朋友的信息
DELETE be,bo FROM boys bo
INNER JOIN beauty be ON be.boyfriend_id = bo.id
WHERE bo.boyName = '黄晓明';

#truncate语句
#将魅力值大于300的男神信息删除
TRUNCATE TABLE boys;