PetStore数据库和表结构及示例数据

PetStore 数据库和表结构及示例数据

1
2
3
4
5
6
7
8
9
# PetStore 数据库和表结构

## 创建数据库

在创建 PetStore 数据库之前,请确保已经登录到数据库服务器,并拥有足够的权限。

```sql
-- 创建数据库
CREATE DATABASE IF NOT EXISTS petstore;

执行上述SQL语句,创建了一个名为 petstore 的数据库。

账户表(account)

账户表用于存储用户信息,包括用户ID、全名、密码、性别、地址、邮箱和电话。

1
2
3
4
5
6
7
8
9
10
CREATE TABLE IF NOT EXISTS `account` (
`userid` CHAR(6) NOT NULL,
`fullname` VARCHAR(10) NOT NULL,
`password` VARCHAR(20) NOT NULL,
`sex` CHAR(2) NOT NULL,
`address` VARCHAR(40) NULL,
`email` VARCHAR(20) NULL,
`phone` VARCHAR(11) NOT NULL,
PRIMARY KEY (`userid`)
);

类别表(category)

类别表存储了宠物的不同类别。

1
2
3
4
5
CREATE TABLE IF NOT EXISTS `category` (
`catid` CHAR(10) NOT NULL,
`catname` VARCHAR(20) NULL,
PRIMARY KEY (`catid`)
);

订单明细表(lineitem)

订单明细表记录了订单中每个商品的详细信息。

1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `lineitem` (
`orderid` INT(11) NOT NULL,
`itemid` CHAR(10) NOT NULL,
`quantity` INT(11) NOT NULL,
`unitprice` DECIMAL(10, 2) NOT NULL,
PRIMARY KEY (`orderid`, `itemid`)
);

订单表(orders)

订单表包含了订单的基本信息,如订单ID、用户ID、下单日期、总价和订单状态。

1
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS `orders` (
`orderid` INT(11) NOT NULL AUTO_INCREMENT,
`userid` CHAR(6) NOT NULL,
`orderdate` DATETIME NOT NULL,
`totalprice` DECIMAL(10, 2) DEFAULT NULL,
`status` TINYINT(1) DEFAULT NULL,
PRIMARY KEY (`orderid`)
);

产品表(product)

产品表存储了宠物店中的不同商品的详细信息。

1
2
3
4
5
6
7
8
9
10
CREATE TABLE IF NOT EXISTS `product` (
`productid` CHAR(10) NOT NULL,
`catid` CHAR(10) NOT NULL,
`name` VARCHAR(30) NULL,
`descn` TEXT NULL,
`listprice` DECIMAL(10, 2) NULL,
`unitcost` DECIMAL(10, 2) NULL,
`qty` INT(0) NOT NULL,
PRIMARY KEY (`productid`)
);

添加数据

接下来,我们将在各个表中插入一些示例数据。

账户表数据示例:

1
2
3
4
5
6
7
8
-- 插入账户数据
INSERT INTO `account` VALUES
('u0001', '刘晓和', '123456', '男', '广东深圳市', 'liuxh@163.com', '13512345678'),
('u0002', '张嘉庆', '123456', '男', '广东深圳市', 'zhangjq@163.com', '13512345679'),
('u0003', '罗红红', '123456', '女', '广东深圳市', 'longhh@163.com', '13512345689'),
('u0004', '李昊华', '123456', '女', '广东广州市', 'lihh@163.com', '13812345679'),
('u0005', '吴美霞', '123456', '女', '广东珠海市', 'wumx@163.com', '13512345879'),
('u0006', '王天赐', '123456', '男', '广东中山市', 'wangtc@163.com', '13802345679');

类别表数据示例:

1
2
3
4
5
6
7
-- 插入类别数据
INSERT INTO `category` VALUES
('01', '鸟类'),
('02', '猫'),
('03', '狗'),
('04', '鱼'),
('05', '爬行类');

订单明细表数据示例:

1
2
3
4
5
6
7
8
9
-- 插入订单明细数据
INSERT INTO `lineitem` VALUES
(20130411, 'FI-SW-01', 10, 18.50),
(20130411, 'FI-SW-02', 12, 16.50),
(20130412, 'K9-BD-01', 2, 120.00),
(20130412, 'K9-PO-02', 1, 220.00),
(20130413, 'K9-DL-01', 1, 130.00),
(20130414, 'RP-SN-01', 2, 125.00),
(20130415, 'AV-SB-02', 2, 50.00);

订单表数据示例:

1
2
3
4
5
6
7
-- 插入订单数据
INSERT INTO `orders` VALUES
(20130411, 'u0001', '2020-04-11 15:07:34', 500.00, 0),
(20130412, 'u0002', '2020-05-09 15:08:11', 305.60, 0),
(20130413, 'u0003', '2020-06-15 15:09:00', 212.40, 0),
(20130414, 'u0003', '2020-07-16 15:09:30', 120.45, 1),
(20130415, 'u0004', '2020-04-02 15:10:05', 120.30, 0);

产品表数据示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 插入产品数据
INSERT INTO `product` VALUES
('AV-CB-01', '05', '亚马逊鹦鹉', '75 岁以上高龄的好伙伴', 50.00, 60.00, 100),
('AV-SB-02', '05

', '燕雀', '非常好的减压宠物', 45.00, 50.00, 98),
('FI-FW-01', '01', '锦鲤', '来自日本的淡水鱼', 45.50, 45.50, 300),
('FI-FW-02', '01', '金鱼', '来自中国的淡水鱼', 6.80, 6.80, 100),
('FI-SW-01', '01', '天使鱼', '来自澳大利亚的海水鱼', 10.00, 10.00, 100),
('FI-SW-02', '01', '虎鲨', '来自澳大利亚的海水鱼', 18.50, 20.00, 200),
('FL-DLH-02', '04', '波斯猫', '友好的家居猫, 像公主一样高贵', 1000.00, 1200.00, 15),
('FL-DSH-01', '04', '马恩岛猫', '灭鼠能手', 80.00, 100.00, 40),
('K9-BD-01', '02', '牛头犬', '来自英格兰的友好的狗', 1350.00, 1500.00, 5),
('K9-CW-01', '02', '吉娃娃犬', '很好的陪伴狗', 180.00, 200.00, 120),
('K9-DL-01', '02', '斑点狗', '来自消防队的大狗', 3000.00, 3000.00, 1),
('K9-PO-02', '02', '狮子犬', '来自法国的可爱的狗', 2000.00, 2000.00, 3),
('K9-RT-01', '02', '金毛猎犬', '大家庭的狗', 300.00, 300.00, 200),
('K9-RT-02', '02', '拉布拉多猎犬', '大猎狗', 800.00, 800.00, 30),
('RP-LI-02', '03', '鬣蜥', '友好的绿色朋友', 60.00, 78.00, 40),
('RP-SN-01', '03', '响尾蛇', '兼当看门狗', 200.00, 240.00, 10);

以上是关于 PetStore 数据库和表的创建以及示例数据的插入。请根据实际需求修改数据和表结构。

数据库下载