任务1:插入数据记录
一、使用INSERT...VALUES添加数据记录
1.插入记录完整数据
添加一条部门信息,其他字段为空或默认自增值,采用字段名全部列出方法(此方法直观性好)
分析:字段名和字段值一一对应,部门编号是自增字段,自动产生值;部门备注列没有给出值且允许空,则可以录入NULL值
USE db_shop;
INSERTINTO department(dept_name,dept_phone,dept_memo)VALUES('销售部','020-87993692','NULL');
SELECT*FROM department;
1.1.添加一条部门记录数据,其他字段为空或默认自增值,采用字段名省略方式(此方法直观性弱)
说明:若插入表后面的字段省略,则所有字段值必须全部列出,并且其顺序必须跟表的字段定义顺序一致。
INSERTINTO department VALUES(3,'市场部','202-87990213',NULL);
SHOWCREATETABLE department\G
2.插入记录部分数据
添加记录时可以只针对记录的部分字段添加字段值,其他不需要添加值的字段可以不写到语句中。不添加的字段必须允许空或具有默认值。
给部门添加一条部门记录
分析:添加的记录只需要添加2个字段的值,其余字段要么自增、要么允许空,可以采用部分字段添加方式,语句比较简洁。
USE db_shop;
DESC department;#查看department表字段,方便后面编辑
INSERTINTO department(dept_name,dept_phone)VALUES('客服部','202-87993095');
SELECT*FROM department;
2.1向顾客表插入一条顾客记录
分析:定义数据表时爱好字段是多选项字段字符串类型,多选项值的各项之间用逗号分隔;地址是JSON类型,JSON值采用键值对录入。
INSERTINTO customer(id,username,password,customer_name,hobby,address)VALUES(4,'LHH','123','李红红','ball,art','{"city":"广州","road":"天河北"}');
SELECT*FROM customer;
3.同时插入多条数据记录
前面都是一条一条插入的,现在是一次插入多条语句。
USE db_shop;
INSERTINTO department(dept_name,dept_phone)VALUES('采购部','020-87993690'),('仓管部','020-87993691');
SELECT*FROM department;
二、使用INSERT...SELECT添加数据记录
除了使用VALUES关键字添加记录的常量字段值以外,还可以使用INSERT...SELECT将从其他表查询到的数据记录添加到目标表中。
SELECT 子查询可从一个或多个表中将查询到的数据作为记录数据插入到目标表中。
1.从customer检索出所有记录并添加到其备份表customer_cp3中
分析:先复制表结构,再使用INSERT... SELECT语句插入数据,观察插入结果
USE db_shop;
CREATETABLEIFNOTEXISTS customer_cp3 LIKE customer; #复制表结构
INSERTINTO customer_cp3 SELECT*FROM customer; #搜索记录并复制到新表中
SELECT*FROM customer_cp3; #查看新复制的表

三:任务实施:给db_shopping数据库添加数据
(1)选择数据库
USE db_shopping;
(2)添加部门记录并查看添加的部门记录
INSERTINTO department(id,dept_name,dept_phone)VALUES(1,'采购部','020-87993670'),
(2,'销售部','020-87993691'),(3,'客服部','020-87993690');
SELECT*FROM department;
(3)添加员工记录,并查看添加的员工记录
INSERTINTO staffer(id,staff_name,dept_id,sex,birthday,phone,salary,staff_memo)VALUES(1,'李斌',1,'F','2009-09-10','13561231568',12000.00,'经理'),(2,'何林',2,'M','2010-06-20','13571231859',8000.00,'销售主管'),(3,'张飞连',3,'M','1989-07-13','13761235185',11000.00,NULL),(4,'张红',2,'M','1991-07-13','13761235184',7000.00,NULL),(5,'张一楠',1,'M','1994-07-10','13751235183',6000.00,NULL),(6,'张红',3,'M','1996-09-23','13561235186',5000.00,NULL);
SELECT*FROM staffer;
(4)添加供应商记录,并查看添加的供应商记录
INSERTINTO supplier(id,supplier_name,phone)VALUES(1,'广州李锦记','13736490938'),(2,'农夫山泉','13135490231'),(3,'怡宝','13132491935'),(4,'珠江牌','13321490728');
SELECT*FROM supplier;
(5)添加商品记录,并查看添加的商品记录。
INSERTINTO goods(id,goods_name,supplier_id,goods_type,)
任务2:修改数据记录
一、使用UPDATE单表内修改记录
UPDATE语句用来修改数据表中的记录数据。
1.将customer_cp3表中的“李红”的password改为123456
USE db_shop;
UPDATE customer_cp3 SETpassword='123456'WHERE customer_name='李红';
SELECT*FROM customer_cp3;

二、使用UPDATE跨表条件修改记录

三、任务实施
(1)选择db_shop数据库
(2)修改部门表中的‘销售部’的dept_memo字段值为‘负责线上线下销售’
USE db_shop;
UPDATE department
SET dept_memo='负责线上线下销售'
WHERE dept_memo='销售部';
(3)查看修改后department表记录
SELECT*FROM department;
(4)修改销售部的张红的信息(自己选择字段值修改,主键除外)
UPDATE staffer JOIN department ON department.id=staffer.idSET sex='F'
(5)查看修改后的staffer表记录
SELECT*FROM staffer;
任务3:删除记录
一:使用DELETE单表内删除记录
删除账号为“LH”的顾客资料
分析:一般在删除前最好先查看以下记录是否存在,只有存在才能删除。
第一步、查看指定记录是否存在
USE db_shop;
SELECT*FROM customer_cp3 WHERE username ='LH';

第二步:删除指定记录
DELETEFROM customer_cp3 WHERE username='LH';

第三步:查看记录是否已经删除
SELECT*FROM customer_cp3 WHERE username='LH';

二、使用DELETE...FROM 跨表条件删除记录
三、使用TRUNCATE TABLE清空表记录
删除数据,但保留数据结构
USE db_shop;
TRUNCATETABLE department_copy1;
SHOWcreatetable department_copy1;

清空记录后,使用查看表结构定义语句,可以看到自增值没有设置,即默认值是1,原来的自增值全部被删除了。
四、任务实施
/***
* ,%%%%%%%%,
* ,%%/\%%%%/\%%
* ,%%%\c "" J/%%%
* %. %%%%/ o o \%%%
* `%%. %%%% _ |%%%
* `%% `%%%%(__Y__)%%'
* // ;%%%%`\-/%%%'
* (( / `%%%%%%%'
* \\ .' |
* \\ / \ | |
* \\/ ) | |
* \ /_ | |__
* (___________))))))) 攻城湿
*/