127 lines
4.0 KiB
SQL
127 lines
4.0 KiB
SQL
CREATE DATABASE IF NOT EXISTS toyshop DEFAULT CHARSET utf8mb4;
|
|
USE toyshop;
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
username VARCHAR(50) NOT NULL UNIQUE,
|
|
password VARCHAR(255) NOT NULL,
|
|
phone VARCHAR(20),
|
|
email VARCHAR(100),
|
|
avatar VARCHAR(255),
|
|
role VARCHAR(20) NOT NULL,
|
|
enabled TINYINT(1) NOT NULL,
|
|
created_at DATETIME NOT NULL,
|
|
updated_at DATETIME NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS categories (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
name VARCHAR(50) NOT NULL UNIQUE,
|
|
description VARCHAR(255)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS products (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
category_id BIGINT,
|
|
name VARCHAR(100) NOT NULL,
|
|
description TEXT,
|
|
price DECIMAL(10,2) NOT NULL,
|
|
stock INT NOT NULL,
|
|
sales INT NOT NULL,
|
|
age_range VARCHAR(50),
|
|
safety_info VARCHAR(255),
|
|
on_sale TINYINT(1) NOT NULL,
|
|
created_at DATETIME NOT NULL,
|
|
updated_at DATETIME NOT NULL,
|
|
FOREIGN KEY (category_id) REFERENCES categories(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS product_images (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
product_id BIGINT NOT NULL,
|
|
url VARCHAR(255) NOT NULL,
|
|
sort_order INT NOT NULL,
|
|
FOREIGN KEY (product_id) REFERENCES products(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS carousels (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
image_url VARCHAR(255) NOT NULL,
|
|
link_url VARCHAR(255),
|
|
sort_order INT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS notices (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
title VARCHAR(100) NOT NULL,
|
|
content TEXT,
|
|
created_at DATETIME NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS addresses (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
user_id BIGINT NOT NULL,
|
|
receiver_name VARCHAR(50) NOT NULL,
|
|
receiver_phone VARCHAR(20) NOT NULL,
|
|
detail VARCHAR(255) NOT NULL,
|
|
is_default TINYINT(1) NOT NULL,
|
|
created_at DATETIME NOT NULL,
|
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS cart_items (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
user_id BIGINT NOT NULL,
|
|
product_id BIGINT NOT NULL,
|
|
quantity INT NOT NULL,
|
|
FOREIGN KEY (user_id) REFERENCES users(id),
|
|
FOREIGN KEY (product_id) REFERENCES products(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS orders (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
order_no VARCHAR(50) NOT NULL UNIQUE,
|
|
user_id BIGINT NOT NULL,
|
|
status VARCHAR(30) NOT NULL,
|
|
total_amount DECIMAL(10,2) NOT NULL,
|
|
receiver_name VARCHAR(50) NOT NULL,
|
|
receiver_phone VARCHAR(20) NOT NULL,
|
|
receiver_address VARCHAR(255) NOT NULL,
|
|
logistics_no VARCHAR(50),
|
|
created_at DATETIME NOT NULL,
|
|
updated_at DATETIME NOT NULL,
|
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS order_items (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
order_id BIGINT NOT NULL,
|
|
product_id BIGINT NOT NULL,
|
|
quantity INT NOT NULL,
|
|
price DECIMAL(10,2) NOT NULL,
|
|
FOREIGN KEY (order_id) REFERENCES orders(id),
|
|
FOREIGN KEY (product_id) REFERENCES products(id)
|
|
);
|
|
|
|
INSERT INTO categories (name, description) VALUES
|
|
('益智玩具', '启发思维与逻辑'),
|
|
('拼装积木', '动手能力训练'),
|
|
('毛绒玩具', '柔软安全');
|
|
|
|
INSERT INTO products (category_id, name, description, price, stock, sales, age_range, safety_info, on_sale, created_at, updated_at) VALUES
|
|
(1, '多功能益智盒', '多模块益智训练', 129.00, 100, 10, '3-6岁', 'CCC认证', 1, NOW(), NOW()),
|
|
(2, '创意拼装积木', '提升动手与空间感', 89.00, 200, 25, '4-8岁', '环保材质', 1, NOW(), NOW()),
|
|
(3, '可爱毛绒熊', '亲子陪伴', 59.00, 150, 30, '2-6岁', '亲肤材质', 1, NOW(), NOW());
|
|
|
|
INSERT INTO product_images (product_id, url, sort_order) VALUES
|
|
(1, 'https://picsum.photos/seed/toy1/600/400', 1),
|
|
(2, 'https://picsum.photos/seed/toy2/600/400', 1),
|
|
(3, 'https://picsum.photos/seed/toy3/600/400', 1);
|
|
|
|
INSERT INTO carousels (image_url, link_url, sort_order) VALUES
|
|
('https://picsum.photos/seed/banner1/1200/400', '', 1),
|
|
('https://picsum.photos/seed/banner2/1200/400', '', 2);
|
|
|
|
INSERT INTO notices (title, content, created_at) VALUES
|
|
('欢迎来到童飞玩具商城', '全场新品上架,欢迎选购。', NOW());
|