八,增加数据
语法:insert into 表名(字段名1,字段名2…) Valuses(值1,值2….);
例:在销售表里添加一行数据
INSERT INTO 销售表(日期,店号,商品编码,销售数量) VALUES(‘2001-09-11’,110,’Z001’,153);
日期一定要带引号
添加空值:设计表中把 非空 (不是null)的对勾取消
插入空值,方法一:写字段名,值为NULL
INSERT INTO 销售表(日期,店号,商品编码,销售数量) VALUES(‘2001-09-11’,110,’Z001’,NULL);
插入空值,方法二:字段和值都不写
INSERT INTO 销售表(日期,店号,商品编码) *VALUES(‘2001-09-11’,110,’Z001’);
注意:字段的顺序可以颠倒,就类似于我们Python的位置参数,只要值和字段能对应上就可以了
8.1 增加数据 第二种方法
INSERT INTO 销售表
VALUES(‘2001-09-11’,911,’Z911’,911);
插入空值:
INSERT INTO 销售表 VALUES(‘2001-09-11’,911,’Z911’,NULL);
8.2 增加数据 第三种方法
INSERT INTO 销售表
set 日期=’2020-07-30’,店号=100,商品编码=’X001’,销售数量= 100;
插入空值:
INSERT INTO 销售表
set 日期=’2020-07-30’,店号=100,商品编码=’X001’;
8.3 【重要】总结
方法1:支持插入多行,支持子查询
insert into 表名(字段名1,字段名2…) Valuses(值1,值2….);
(1)字段名和值要一一对应
(2)字段名顺序可以颠倒,只要保证值和字段名对应即可
(3)插入空值使用NULL,或者直接省略该值为空的字段和值
方法2:支持插入多行,支持子查询
insert into 表名 Valuses(值1,值2….);
(1)字段省略,但是值的位置必需和表中的字段位置一样,顺序不能颠倒
(2)插入空值使用NULL
方法3:不支持插入多行,不支持子查询 insert into 表名
set 字段名1=值1,字段名2=值2,…….
(1)以关键字参数的方式去写,位置随意
(2)插入空值时省略字段和值。
8.4 一次插入多行数据
方法2:
insert into 表名 Valuses(值1,值2….),(值1,值2….),(值1,值2….)……;
8.5 添加子查询
INSERT INTO 销售表
SELECT 日期,店号,商品编码,销售数量 FORM 销售表2 Where 销售数量>300;
九,改数据
9.1 修改单表数据
update 表名
set 字段名1=新值1,字段名2=新值2,…… where 筛选条件
流程顺序:先锁定表,然后锁定字段,最后筛选
例如:将商品表中,果菜和肉类的单位都改成500g
update 商品表
set 单位=’500g’
where 大类编码 in(01,02)
9.2 修改多表数据
update 表1 别名innter/left/right join 表2 别名ON 连接条件
set 字段名1=值1,字段名2=值2,….. where 筛选条件
例如:把孙悟空的师傅改成唐僧
UPDATE 表a a
INNER JOIN 表b b
on a.师傅编号=b.序号
set 师傅=’唐僧’ WHERE 徒弟=’孙悟空’
十,删除数据
10.1 方法一(条件删除)
10.1.1 单表删除
例如:删除手机号4结尾的手机号信息
DELETE FROM 单表删除 WHERE 电话 LIKE ‘%4’;
10.1.2 多表删除 【了解】
delete 表1的别名,表2的别名
# 删哪个表写哪个表的别名,都删就都写
from 表1 别名 inner/left/right join
别名 on 连接条件 where 筛选条件;
例如:把孙悟空的师傅删除
DELETE b
FROM 表b b
INNER JOIN 表a a on b.序号=a.师傅编号 WHERE 徒弟=’孙悟空’;
例如:把孙悟空和师傅都删除
DELETE b,a # 这里加上表a的别名 FROM 表b b
INNER JOIN 表a a on b.序号=a.师傅编号 WHERE 徒弟=’李小龙’;
10.2 方法二 (整表删除)truncate
语法: truncate table 表名; # 不允许加条件,也就是说不能加Where
需要删除表中全部数据时,就用 truncate table
1、delete 可以加where条件,truncate不能加
2、truncate删除的效率比delete高一些
3、使用delete删除,再插入数据,自增长列的值从断点开始 而truncate删除后,再插入数据,自增长列的值从1开始 4、truncate删除没有返回值【因为都删除了】,delete删除有返回值【告诉你删除了几条】
5、truncate删除不能回滚,delete删除可以回滚
自增,我在Python基础课程中有介绍,MySQL以后会在中级或高级篇幅里再做介绍。
回滚,我在Python基础课程中有介绍,MySQL以后会在中级或高级篇幅里再做介绍。
<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />