1. 程式人生 > >電商資料庫建表

電商資料庫建表

1、使用者表

CREATE TABLE `mall_user`(
`id`          int(11)      not null  auto_increment COMMENT '使用者表id',
`username`    varchar(50)  not null                 COMMENT '使用者名稱',
`password`    varchar(50)  not null                 COMMENT '使用者密碼',
`email`       VARCHAR(50)  DEFAULT null             COMMENT '郵箱',
`phone`       VARCHAR(20)  DEFAULT null             COMMENT '電話號碼',
`question`    VARCHAR(100) DEFAULT null             COMMENT '找回密碼問題',
`answer`      VARCHAR(100) DEFAULT null             COMMENT '找回密碼答案',
`role`        int(4)       not null                 COMMENT '角色',
`create_time` datetime     not null                 COMMENT '建立時間',
`update_time` datetime     not null                 COMMENT '最後一次更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `user_name_unique` (`username`) USING BTREE
)ENGINE=INNODB auto_increment=21 DEFAULT CHARSET=utf8
-- 使用者表
CREATE TABLE `mall_user`(
`id`          int(11)      not null  auto_increment COMMENT '使用者表id',
`username`    varchar(50)  not null                 COMMENT '使用者名稱',
`password`    varchar(50)  not null                 COMMENT '使用者密碼',
`email`       VARCHAR(50)  DEFAULT null             COMMENT '郵箱',
`phone`       VARCHAR(20)  DEFAULT null             COMMENT '電話號碼',
`question`    VARCHAR(100) DEFAULT null             COMMENT '找回密碼問題',
`answer`      VARCHAR(100) DEFAULT null             COMMENT '找回密碼答案',
`role`        int(4)       not null                 COMMENT '角色',
`create_time` datetime     not null                 COMMENT '建立時間',
`update_time` datetime     not null                 COMMENT '最後一次更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `user_name_unique` (`username`) USING BTREE
)ENGINE=INNODB auto_increment=21 DEFAULT CHARSET=utf8


-- 分類表
CREATE TABLE `mall_category`(
	`id`                   int(11)     not null     auto_increment COMMENT '類別id',
	`parent_id`            int(11)     DEFAULT NULL                COMMENT '父類id當id=0時說明是根節點,一級類別'
	`name`                 VARCHAR(50) DEFAULT NULL                COMMENT '類別名稱',
	`status`               TINYINT(1)  DEFAULT '1'                 COMMENT '類別狀態1-正常,2-已廢棄',
  `sort_order`           INT(4)      DEFAULT NULL                COMMENT '排序編號,同類展示順序,數值相等則自然排序',
  `create_time`          datetime    DEFAULT NULL                COMMENT '建立時間',
	`update_time`          datetime    DEFAULT NULL                COMMENT '更新時間',
  PRIMARY KEY(`id`)
)ENGINE=INNODB auto_increment=100032 DEFAULT CHARSET=utf8

-- 產品表
CREATE TABLE `mall_product`(
	`id`                   INT(11)       NOT NULL   auto_increment   COMMENT '商品id',
	`category_id`          int(11)       not null                    COMMENT '分類id,對應mall_category表的主鍵',
  `name`                 VARCHAR(100)  not NULL                    COMMENT '商品名稱',
  `subtitle`             VARCHAR(200)  DEFAULT NULL                COMMENT '商品副標題',
	`main_image`           VARCHAR(500)  DEFAULT NULL                COMMENT '產品主圖,url相對地址',
	`sub_images`           text                                      COMMENT '圖片地址,json格式',
  `detail`               text                                      COMMENT '商品詳情',
  `price`                DECIMAL(20,2) not NULL                    COMMENT '價格,單位元,保留2位小數',
  `stock`                int(11)       not null                    COMMENT '庫存數量',
	`status`               int(6)        DEFAULT '1'									COMMENT '商品狀態,1-在售 2-下架 3-刪除',
	`create_time`          datetime      DEFAULT NULL                COMMENT '建立時間',
  `update_time`          datetime      DEFAULT NULL                COMMENT '更新時間',
  PRIMARY KEY(`id`)
)ENGINE=INNODB auto_increment=26 DEFAULT CHARSET=utf8

-- 購物車表
CREATE TABLE `mall_cart`(
	`id`                  int(11)       NOT NULL      auto_increment   COMMENT '購物車id',
	`user_id`             int(11)       NOT NULL                       COMMENT '使用者id',
	`product_id`          int(11)       DEFAULT NULL                   COMMENT '商品id',
  `quantity`            int(11)       DEFAULT NULL                   COMMENT '數量',
  `checked`             int(11)       DEFAULT NULL                   COMMENT '是否選擇,1=已勾選,0=未勾選',
	`create_time`         datetime      DEFAULT NULL                   COMMENT '建立時間',
	`update_time`         datetime      DEFAULT NULL                   COMMENT '更新時間',
	PRIMARY KEY(`id`),
	KEY `user_id_index` (`user_id`) USING BTREE
)ENGINE=INNODB auto_increment=121 DEFAULT CHARSET=utf8


-- 支付資訊表
CREATE TABLE `mall_pay_info`(
	`id`                 int(11)       not null     auto_increment    COMMENT '支付id',
	`user_id`            int(11)       DEFAULT NULL                   COMMENT '使用者id',
	`order_no`           BIGINT(20)    DEFAULT NULL                   COMMENT '訂單號',
	`pay_platform`       int(10)       DEFAULT NULL                   COMMENT '支付平臺:1-支付寶,2-微信',
	`platform_number`    VARCHAR(200)  DEFAULT NULL                   COMMENT '支付寶支付流水號',
	`platform_status`    VARCHAR(20)   DEFAULT NULL                   COMMENT '支付寶支付狀態',
	`create_time`        datetime      DEFAULT NULL                   COMMENT '建立時間',
	`update_time`        datetime      DEFAULT NULL                   COMMENT '更新時間',
  PRIMARY KEY(`id`)
)ENGINE=INNODB auto_increment=53 DEFAULT CHARSET=utf8

-- 訂單表
CREATE TABLE `mall_order`(
	`id`             int(11)       not NULL       auto_increment       COMMENT '訂單id',
	`order_no`       BIGINT(20)    DEFAULT NULL                        COMMENT '訂單號',
	`user_id`        INT(11)       DEFAULT NULL                        COMMENT '使用者id',
	`shipping_id`    int(11)       DEFAULT null,
  `payment`        DECIMAL(20,2) DEFAULT null                        COMMENT '實際付款金額,單位元,保留2位小數',
	`payment_type`   INT(4)        DEFAULT NULL                        COMMENT '支付型別,1-線上支付',
	`postage`        int(10)       DEFAULT NULL                        COMMENT '運費,單位是元',
	`status`         int(10)       DEFAULT NULL                        COMMENT '訂單狀態:0-已取消,10-未付款,20-已付款,40-已發貨',
	`payment_time`   datetime      DEFAULT NULL                        COMMENT '支付時間',
	`send_time`      datetime      DEFAULT NULL                        COMMENT '發貨時間',
	`end_time`       datetime      DEFAULT NULL                        COMMENT '交易完成時間',
	`close_time`     datetime      DEFAULT NULL                        COMMENT '交易關閉時間',
	`create_time`    datetime      DEFAULT NULL                        COMMENT '建立時間',
	`update_time`    datetime      DEFAULT NULL                        COMMENT '更新時間',
	PRIMARY KEY(`id`)
	UNIQUE KEY `order_no_index` (`order_no`) USING BTREE
)ENGINE=INNODB auto_increment=103 DEFAULT CHARSET=utf8


-- 訂單明細表
CREATE TABLE `mall_order_item`(
	`id`                 int(11)        not NULL       auto_increment       COMMENT '訂單子表id',
	`user_id`            int(11)        DEFAULT NULL,
	`order_no`           BIGINT(20)     DEFAULT NULL,
	`product_id`         int(11)        DEFAULT NULL                        COMMENT '商品id',
	`product_name`       VARCHAR(100)   DEFAULT NULL                        COMMENT '商品名稱',
	`product_image`      VARCHAR(500)   DEFAULT NULL                        COMMENT '商品圖片地址',
	`current_unit_price` DECIMAL(20,2)  DEFAULT NULL                        COMMENT '生成訂單時的商品單價,單位是元,保留兩位小數',
	`quantity`           int(10)        DEFAULT NULL                        COMMENT '商品數量',
	`total_price`        DECIMAL(20,2)  DEFAULT NULL                        COMMENT '商品總價,單元是元,保留兩位小數',
	`create_time`        datetime       DEFAULT NULL                        COMMENT '建立時間',
	`update_time`        datetime       DEFAULT NULL                        COMMENT '更新時間',
	PRIMARY KEY (`id`),
  KEY `order_no_index` (`order_no`) USING BTREE,
	KEY `order_no_user_id_index` (`user_id`,`order_no`) USING BTREE
)ENGINE =INNODB auto_increment=113 DEFAULT CHARSET=utf8

-- 收貨地址表
CREATE TABLE `mall_shipping`(
	`id`                int(11)            not null      auto_increment    comment '收貨表id',
	`user_id`           int(11)            DEFAULT NULL                    COMMENT '使用者id',
	`receiver_name`     VARCHAR(20)        DEFAULT NULL                    COMMENT '收貨姓名',
	`receiver_phone`    VARCHAR(20)        DEFAULT NULL                    COMMENT '收貨固定電話',
	`receiver_mobile`   VARCHAR(20)        DEFAULT NULL                    COMMENT '收貨行動電話',
	`receiver_province` VARCHAR(20)        DEFAULT NULL										 COMMENT '省份',
	`receiver_city`     VARCHAR(20)        DEFAULT NULL                    COMMENT '城市',
	`receiver_district` VARCHAR(20)        DEFAULT NULL										 COMMENT '區/縣',
	`receicer_address`  VARCHAR(200)       DEFAULT NULL										 COMMENT '詳細地址',
	`receiver_zip`      VARCHAR(6)         DEFAULT NULL										 COMMENT '郵編',
	`create_time`       datetime           DEFAULT NULL                    COMMENT '建立時間',
	`update_time`       datetime           DEFAULT NULL                    COMMENT '更新時間',
	PRIMARY KEY(`id`)
)ENGINE=INNODB auto_increment=32 DEFAULT CHARSET=utf8