MySQL学习笔记(六)-表的插入,删除,修改操作
作者:就叫易易好了
日期:2020/11/24
一、插入语句
方式一:
insert into 表名(列名,…)
values(值1,…);
方式二:
insert into 表名
set 列名=值,列名=值……
方式一:
1、插入的值的类型要与列的类型一致或兼容
比如我要给beauty表中插入一行值:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'小黄','女','1999-11-2','1233256453',NULL,3);
在该语句中,如果:
- 想要某一列为空值,可以在该列对应的位置写NULL
- 想要某一列为空值的另一种方法就是删掉这一列的关键字和对应的值
- 关键字可以调换顺序
2、可以省略列名,默认所有列,而且列的顺序和表的顺序一样
INSERT INTO beauty
VALUES(18,'小红','女','2000-2-1','31564253425',NULL,NULL);
方式二:
INSERT INTO beauty
SET id=19,NAME='小粉',phone='25435234';
特点:
1、方式一和方式二各有特点,方式一可以插入多行,行与行之间用逗号隔开,但方式二不支持
INSERT INTO beauty
VALUES (13,'小黄','女','1999-11-2','1233256453',NULL,3),
(18,'小红','女','2000-2-1','31564253425',NULL,NULL),
(18,'小粉','女','2002-12-11','36346225',NULL,2);
2、方式一支持子查询,而方式二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'小紫','25245343'
FROM boys WHERE id<3;
二、修改语句
修改单表
语法:
update 表名
set 列=新值,列=新值……
where 筛选条件
#案例1:修改beauty表中姓柳的女神电话为7844564567
update beauty set phone = '7844564567'
WHERE NAME LIKE '柳%';
#案例2:修改boys表中id为2的名称为易大虾,魅力值为100
UPDATE boys SET boyname='易大虾',usercp=100
WHERE id=2;
修改多表
sql92语法:
update 表1,表2……
set 列=值,……
where 连接条件
and 筛选条件;
sql99语法:
update 表1
inner|left|right jion 表2
on 连接条件
set 列=值,……
where 筛选条件
#修改张无忌的女朋友的手机号为12345
UPDATE boys bo
INNER JOIN beauty b ON bo.`id`=b.`b.boyfriend_id`
SET b.`phone`=`12345`
WHERE bo.`boyName`='张无忌';
三、删除语句
方式一:
delete from 表名
where 筛选条件
方式二:
truncate table 表名
- 方式一:delete
#案例:删除beauty表中以9结尾的数据
DELETE FROM beauty WHERE phone LIKE '%9';
- 方式二:truncate
当你要删除表格中全部书库的时候,就用这个语法
TRUNCATE TABLE boys;
删库跑路(手动狗头)
- delete可以加where 条件,truncate不能加
- truncate删除,效率略高
- 假如要删除表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列从1开始。
- truncate删除没有返回值,delete删除有返回值
- truncate删除不能回滚,delete删除可以回滚
(回滚是个啥玩意儿在后面会说到,写到那去了我就会放个链接这儿~)