mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-28 02:02:25 +08:00
91 lines
5.0 KiB
SQL
91 lines
5.0 KiB
SQL
CREATE TABLE `product` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品ID',
|
||
`name` varchar(255) NOT NULL COMMENT '商品名称',
|
||
`description` varchar(1000) NOT NULL COMMENT '商品描述',
|
||
`price` decimal(10,2) NOT NULL COMMENT '商品单价',
|
||
`category_id` int(11) NOT NULL COMMENT '所属类别ID',
|
||
`brand_id` int(11) DEFAULT NULL COMMENT '品牌ID',
|
||
`origin` varchar(255) DEFAULT NULL COMMENT '商品产地',
|
||
`weight` decimal(10,2) DEFAULT NULL COMMENT '商品重量(kg)',
|
||
`length` decimal(10,2) DEFAULT NULL COMMENT '商品长度(cm)',
|
||
`width` decimal(10,2) DEFAULT NULL COMMENT '商品宽度(cm)',
|
||
`height` decimal(10,2) DEFAULT NULL COMMENT '商品高度(cm)',
|
||
`thumbnail` varchar(255) DEFAULT NULL COMMENT '商品缩略图URL',
|
||
`image` varchar(1000) DEFAULT NULL COMMENT '商品图片URL',
|
||
`is_sale` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否上架,0:下架,1:上架',
|
||
`stock` int(11) NOT NULL COMMENT '商品库存',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `category_id` (`category_id`),
|
||
KEY `brand_id` (`brand_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
|
||
|
||
INSERT INTO product (name, description, price, category_id, brand_id, origin, weight, length, width, height, thumbnail, image, is_sale, stock, created_at, updated_at)
|
||
SELECT
|
||
CONCAT('商品', t1.n),
|
||
CONCAT('这是商品', t1.n, '的描述'),
|
||
ROUND(RAND() * 1000, 2),
|
||
FLOOR(RAND() * 10) + 1,
|
||
IF(RAND() < 0.5, NULL, FLOOR(RAND() * 10) + 1),
|
||
CONCAT('产地', t1.n),
|
||
ROUND(RAND() * 10, 2),
|
||
ROUND(RAND() * 100, 2),
|
||
ROUND(RAND() * 100, 2),
|
||
ROUND(RAND() * 100, 2),
|
||
CONCAT('http://example.com/thumbnail_', t1.n, '.jpg'),
|
||
CONCAT('http://example.com/image_', t1.n, '.jpg'),
|
||
IF(RAND() < 0.5, 0, 1),
|
||
FLOOR(RAND() * 1000),
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY,
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY
|
||
FROM
|
||
(SELECT @rownum:=0) t0,
|
||
(SELECT @rownum:=@rownum+1 AS n FROM information_schema.COLUMNS LIMIT 10000) t1 ;
|
||
|
||
|
||
CREATE TABLE `order` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单ID',
|
||
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
||
`total_price` decimal(10,2) NOT NULL COMMENT '订单总价',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `user_id` (`user_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
|
||
|
||
INSERT INTO `order` (user_id, total_price, created_at, updated_at)
|
||
SELECT
|
||
FLOOR(RAND() * 1000) + 1,
|
||
ROUND(RAND() * 10000, 2),
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY,
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY
|
||
FROM
|
||
(SELECT @rownum:=0) t0,
|
||
(SELECT @rownum:=@rownum+1 AS n FROM information_schema.COLUMNS LIMIT 10000) t1 ;
|
||
|
||
|
||
CREATE TABLE `order_item` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',
|
||
`order_id` int(11) NOT NULL COMMENT '订单ID',
|
||
`product_id` int(11) NOT NULL COMMENT '商品ID',
|
||
`quantity` int(11) NOT NULL COMMENT '购买数量',
|
||
`price` decimal(10,2) NOT NULL COMMENT '商品单价',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `order_id` (`order_id`),
|
||
KEY `product_id` (`product_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单明细表';
|
||
|
||
INSERT INTO order_item (order_id, product_id, quantity, price, created_at, updated_at)
|
||
SELECT
|
||
FLOOR(RAND() * 10000) + 1,
|
||
FLOOR(RAND() * 1000) + 1,
|
||
FLOOR(RAND() * 10) + 1,
|
||
ROUND(RAND() * 1000, 2),
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY,
|
||
NOW() - INTERVAL FLOOR(RAND() * 365) DAY
|
||
FROM
|
||
(SELECT @rownum:=0) t0,
|
||
(SELECT @rownum:=@rownum+1 AS n FROM information_schema.COLUMNS LIMIT 10000) t1 ; |