CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID,主键自增',
username VARCHAR(50) NOT NULL COMMENT '用户名',
email VARCHAR(100) NOT NULL COMMENT '用户邮箱',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '用户注册时间'
) COMMENT='用户表';
CREATE TABLE products (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '商品ID,主键自增',
name VARCHAR(100) NOT NULL COMMENT '商品名称',
price DECIMAL(10,2) NOT NULL COMMENT '商品单价',
stock INT NOT NULL COMMENT '商品库存数量',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '商品上架时间'
) COMMENT='商品表';
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '订单ID,主键自增',
user_id INT NOT NULL COMMENT '下单用户ID',
order_date DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '下单时间',
total_amount DECIMAL(10,2) NOT NULL COMMENT '订单总金额',
status VARCHAR(20) DEFAULT 'pending' COMMENT '订单状态(pending/completed/cancelled等)',
FOREIGN KEY (user_id) REFERENCES users(id)
) COMMENT='订单表';
CREATE TABLE order_items (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '订单明细ID,主键自增',
order_id INT NOT NULL COMMENT '订单ID',
product_id INT NOT NULL COMMENT '商品ID',
quantity INT NOT NULL COMMENT '购买数量',
unit_price DECIMAL(10,2) NOT NULL COMMENT '下单时商品单价',
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (product_id) REFERENCES products(id)
) COMMENT='订单明细表';
CREATE TABLE categories (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '分类ID,主键自增',
name VARCHAR(50) NOT NULL COMMENT '分类名称'
) COMMENT='商品分类表';
CREATE TABLE product_categories (
product_id INT NOT NULL COMMENT '商品ID',
category_id INT NOT NULL COMMENT '分类ID',
PRIMARY KEY (product_id, category_id),
FOREIGN KEY (product_id) REFERENCES products(id),
FOREIGN KEY (category_id) REFERENCES categories(id)
) COMMENT='商品与分类关联表';