八,增加数据

语法:insert into 表名(字段名1,字段名2…) Valuses(值1,值2….);

例:在销售表里添加一行数据

INSERT INTO 销售表(日期,店号,商品编码,销售数量) VALUES(‘2001-09-11’,110,’Z001’,153);
日期一定要带引号
image.png
image.png
添加空值:设计表中把 非空 (不是null)的对勾取消
image.png
插入空值,方法一:写字段名,值为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);
image.pngimage.png

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)

image.png

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 徒弟=’孙悟空’
image.pngimage.png

十,删除数据

10.1 方法一(条件删除)

10.1.1 单表删除

语法: delete from 表名 where 筛选条件

例如:删除手机号4结尾的手机号信息

DELETE FROM 单表删除 WHERE 电话 LIKE ‘%4’;
image.png

10.1.2 多表删除 【了解】

delete 表1的别名,表2的别名
# 删哪个表写哪个表的别名,都删就都写
from 表1 别名 inner/left/right join
别名 on 连接条件 where 筛选条件;

例如:把孙悟空的师傅删除

image.png
DELETE b
FROM 表b b
INNER JOIN 表a a on b.序号=a.师傅编号 WHERE 徒弟=’孙悟空’;
image.png

例如:把孙悟空和师傅都删除

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以后会在中级或高级篇幅里再做介绍。













  1. <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />