数据库第十四次作业

——电子商城项目

任务一. 安装并配置MySQL

1. 打开控制台

mysql 作业分享 mysql作业题_字段

2. 登录MySQL

mysql 作业分享 mysql作业题_数据库_02

任务二. 数据库、表的基本操作

1. 创建电子商城数据库“mall_姓名全拼”

mysql 作业分享 mysql作业题_mysql_03

2. 使用电子商城数据库

mysql 作业分享 mysql作业题_dba_04

3. 创建用户表“user_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

phone char 11 主键 注册手机号
 username varchar 20 非空,唯一 用户名
 password varchar 20 非空 密码
 question text 非空 找回密码问题
 answer text 非空 找回密码问题答案

mysql 作业分享 mysql作业题_字段_05

4. 创建卖家信息表“seller_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

id char 16 主键 卖家ID(S_DATE_XXXXX)
 phone char 11 外键(user.phone) 非空,唯一 注册手机号
 open_date date 非空 开业时间
 name varchar 50 非空 店铺名称
 nickname varchar 30 非空 掌柜昵称

mysql 作业分享 mysql作业题_mysql 作业分享_06

5. 创建买家信息表“buyer_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

id char 16 主键 买家ID(B_DATE_XXXXX)
 phone char 11 外键(user.phone) 非空,唯一 注册手机号
 nickname varchar 30 非空 买家昵称
 gender enum(“miss”,”mr”) 默认miss 性别
 height int 3 身高cm
 weight double 体重kg

mysql 作业分享 mysql作业题_数据库_07

6. 创建地址表“address_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息
 id char 16 主键 地址ID (A_DATE_XXXXX)
 buyer_id char 16 外键(buyer.id) 非空 买家ID
 contact_phone char 11 非空 收货人联系方式
 detail_address text 非空 详细地址
 is_default enum(“yes”,”no”) 默认 no 是否默认地址

mysql 作业分享 mysql作业题_字段_08

7. 创建产品种类表“product_type_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

code char 6 主键 产品种类编码(TXXXXX)

name varchar 30 非空 产品种类名称

mysql 作业分享 mysql作业题_mysql 作业分享_09

8. 创建产品表“product_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

id char 16 主键 产品编号(P_DATE_XXXXX)
 seller_id char 16 外键(seller.id) 非空 卖家ID
 type_id char 6 外键(product_type.code) 非空 产品种类编码
 name varchar 100 非空 产品名称
 picture text 产品展示图
 unit_price double 非空 单价
 quantity int 10 默认 100 库存数量

mysql 作业分享 mysql作业题_dba_10

9. 创建订单表“order_姓名全拼”,表中字段信息如下:

字段名 数据类型 长度 主、外键 其他约束 备注信息

id char 16 主键 订单编号(O_DATE_XXXXX)
 seller_id char 16 外键(seller.id) 非空 卖家ID
 buyer_id char 16 外键(buyer.id) 非空 买家ID
 address_id char 16 外键(address.id) 非空 地址ID
 total_price double 默认0 总价
 actrual_payment double 默认0 实付款

mysql 作业分享 mysql作业题_dba_11

10. 创建订单详情表“order_detail_姓名全拼”,表中字段信息如下:
字段名 数据类型 长度 主、外键 其他约束 备注信息

id int 10 主键 自增 
 order_id char 16 外键(order.id) 非空 订单编号
 product_id char 16 外键(product.id) 非空 产品编号
 purchase_quantity int 3 默认1 采购数量
 discount_unit_price double 非空 产品折后价

mysql 作业分享 mysql作业题_数据库_12

任务三、对表中数据进行基本操作

1. 所有字段批量插入用户表数据

phone username password question answer
 13812345678 anne annnepassword favorite book harry potter
 18212345678 frank Frankpassword Favorite song lonely
 13212345678 alan Alanpassword First love carry
 13112345678 peter Peterpassword Who is your father jack

mysql 作业分享 mysql作业题_数据库_13

2. 所有字段批量插入卖家信息表数据

id phone open_date name nickname
 S_20200703_00001 13812345678 2020-07-03 ledin ledin
 S_20201030_00001 18212345678 2020-10-30 hla hla

mysql 作业分享 mysql作业题_数据库_14

3. 指定字段批量插入买家信息表数据

id phone nickname height weight
 B_20200422_00001 13212345678 funny shop 168 52
 B_20200911_00001 13112345678 cool girl 165 47

mysql 作业分享 mysql作业题_mysql 作业分享_15

4. 指定字段批量插入地址表数据

id buyer_id contact_phone detail_address
 A_20201103_00004 B_20200422_00001 13212345678 gray street
 A_20201103_00005 B_20200422_00001 13212345678 funny street
 A_20201103_00006 B_20200422_00001 13212345678 frank street
 A_20201103_00007 B_20200911_00001 13112345678 rock street

mysql 作业分享 mysql作业题_字段_16

5. 所有字段批量插入产品种类表数据

code name
 T00001 coat
 T00002 shirt
 T00003 shorts
 T00004 pants
 T00005 jeans
 T00006 polo

mysql 作业分享 mysql作业题_dba_17

6. 指定字段插入产品表数据

id seller_id type_id name picture unit_price
 P_20190102_00001 S_20200703_00001 T00003 blue shorts p123.jpg 168.8

mysql 作业分享 mysql作业题_数据库_18

7. 所有字段插入产品表数据

id seller_id type_id name picture unit_price quantity
 P_20190102_00002 S_20200703_00001 T00001 coat coat1.jpg 62.2 43

mysql 作业分享 mysql作业题_dba_19

8. 指定字段插入产品表数据

id seller_id type_id name unit_price

P_20190203_00001 S_20201030_00001 T00006 black polo 239.9

mysql 作业分享 mysql作业题_字段_20

9. 所有字段插入产品表数据

id seller_id type_id name picture unit_price quantity
 P_20190203_00002 S_20201030_00001 T00005 jeans 12.jpg 198.8 23

mysql 作业分享 mysql作业题_数据库_21

10. 查看产品表所有字段数据

mysql 作业分享 mysql作业题_mysql 作业分享_22

11. 订单表指定字段插入数据

id seller_id buyer_id address_id
 O_20201102_00001 S_20200703_00001 B_20200422_00001 A_20201103_00004

mysql 作业分享 mysql作业题_数据库_23

12. 订单详情表指定字段插入数据

order_id product_id purchase_quantity discount_unit_price
 O_20201102_00001 P_20190102_00001 1 150
 O_20201102_00001 P_20190102_00002 2 40

mysql 作业分享 mysql作业题_mysql 作业分享_24

13. 修改订单详情表中O_20201102_00001订单P_20190102_00002产品的采购数量为1

mysql 作业分享 mysql作业题_mysql 作业分享_25

14. 查看O_20201102_00001订单的订单编号、产品编号、库存数量、采购数量、采购后数量(库存数量-采购数量)、产品单价、折后单价

mysql 作业分享 mysql作业题_数据库_26

15. 修改产品表中库存数量为采购后数量

mysql 作业分享 mysql作业题_dba_27

16. 根据订单号分组查看订单号、订单总价(sum(采购数量产品单价))、实付款(sum(采购数量折扣单价))

mysql 作业分享 mysql作业题_dba_28

17. 根据上述代码计算出的值修改订单表中O_20201102_00001订单的总价、实付款数据

mysql 作业分享 mysql作业题_dba_29

18. 查看O_20201102_00001订单的订单编号、店铺名称、买家昵称、详细地址、产品名称、采购数量、折后价格

mysql 作业分享 mysql作业题_mysql_30

任务四、使用事务操作表中数据

1. 开启事务

mysql 作业分享 mysql作业题_字段_31

2. 订单表指定字段插入数据

id seller_id buyer_id address_id
 O_20201102_00002 S_20201030_00001 B_20200911_00001 A_20201103_00007

mysql 作业分享 mysql作业题_字段_32

3. 订单详情表指定字段插入数据

order_id product_id purchase_quantity discount_unit_price
 O_20201102_00002 P_20190203_00001 1 230
 O_20201102_00002 P_20190203_00002 2 190

mysql 作业分享 mysql作业题_mysql 作业分享_33

4. 查看O_20201102_00002订单的订单编号、产品编号、库存数量、采购数量、采购后数量(库存数量-采购数量)、产品单价、折后单价

mysql 作业分享 mysql作业题_数据库_34

5. 修改产品表中库存数量为采购后数量

mysql 作业分享 mysql作业题_mysql_35

6. 根据订单号分组查看订单总价(sum(采购数量产品单价))、实付款(sum(采购数量折扣单价))

mysql 作业分享 mysql作业题_mysql 作业分享_36

7. 根据上述代码计算出的值修改订单表中O_20201102_00002订单的总价、实付款数据

mysql 作业分享 mysql作业题_mysql 作业分享_37

8. 查看订单表所有字段数据

mysql 作业分享 mysql作业题_mysql_38

9. 查看订单详情表所有字段数据

mysql 作业分享 mysql作业题_dba_39

10. 提交事务

mysql 作业分享 mysql作业题_dba_40

11. 开启事务

mysql 作业分享 mysql作业题_数据库_41

12. 修改订单详情表中O_20201102_00002订单P_20190203_00002产品的折后单价为180

mysql 作业分享 mysql作业题_mysql 作业分享_42

13. 修改订单详情表中O_20201102_00002订单P_20190203_00001产品的折后单价为200

mysql 作业分享 mysql作业题_mysql_43

14. 根据订单号分组查看实付款(sum(采购数量*折扣单价))

mysql 作业分享 mysql作业题_mysql 作业分享_44

15. 根据上述代码计算出的值修改订单表中O_20201102_00002订单的实付款数据

mysql 作业分享 mysql作业题_dba_45

16. 查看订单详情表所有字段数据

mysql 作业分享 mysql作业题_mysql 作业分享_46

17. 回滚事务

mysql 作业分享 mysql作业题_mysql 作业分享_47

18. 查看O_20201102_00002订单的订单编号、店铺名称、买家昵称、详细地址、产品名称、采购数量、折后价格

mysql 作业分享 mysql作业题_mysql 作业分享_48

任务五、创建并使用视图

1. 查看买家昵称、性别、联系方式、详细地址、是否默认地址

mysql 作业分享 mysql作业题_mysql_49

2. 创建买家信息视图“view_buyer_info_姓名全拼”查看上述内容

mysql 作业分享 mysql作业题_字段_50

3. 查看买家信息视图买家昵称含有“h”的数据

mysql 作业分享 mysql作业题_数据库_51

4. 查看产品种类编码、产品种类名称、产品名称、单价、库存

mysql 作业分享 mysql作业题_dba_52

5. 创建产品信息视图“view_product_ info_姓名全拼”查看上述内容

mysql 作业分享 mysql作业题_mysql 作业分享_53

6. 查看订单详情表中的所有产品名称

mysql 作业分享 mysql作业题_数据库_54

7. 查看产品信息视图中已经有过订单销售记录的产品数据(子查询 in)

mysql 作业分享 mysql作业题_dba_55

8. 查看订单编号、店铺名称、买家昵称、详细地址、产品名称、采购数量、折后价格

mysql 作业分享 mysql作业题_mysql 作业分享_56

9. 创建订单信息视图“view_order_ info_姓名全拼”查看上述内容

mysql 作业分享 mysql作业题_字段_57

10. 查看订单信息视图中

mysql 作业分享 mysql作业题_dba_58


任务六、备份数据库

1. 备份所有数据库,文件名为“all_姓名全拼.sql”(截两张图 命令+文件)

mysql 作业分享 mysql作业题_字段_59

2. 备份电子商城数据库,文件名为“mall_姓名全拼.sql”(截两张图 命令+文件)

mysql 作业分享 mysql作业题_mysql 作业分享_60

3. 删除电子商城数据库

mysql 作业分享 mysql作业题_mysql 作业分享_61

4. 创建电子商城数据库“mall_姓名全拼”

mysql 作业分享 mysql作业题_数据库_62

5. 退出MySQL登录

mysql 作业分享 mysql作业题_mysql 作业分享_63

6. 执行电子商城数据库备份文件

mysql 作业分享 mysql作业题_dba_64

7. 登录MySQL

mysql 作业分享 mysql作业题_字段_65

8. 使用电子商城数据库

mysql 作业分享 mysql作业题_dba_66

9. 查看所有表

mysql 作业分享 mysql作业题_字段_67