-- 1. 用户信息表(买家/卖家通用)
CREATE TABLE `user_info` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户主键ID',
  `username` VARCHAR(20) NOT NULL COMMENT '用户姓名',
  `student_id` VARCHAR(20) NOT NULL COMMENT '学号/教职工号(唯一)',
  `phone` VARCHAR(11) NOT NULL COMMENT '手机号',
  `password` VARCHAR(32) NOT NULL COMMENT '密码(MD5加密)',
  `role` VARCHAR(10) NOT NULL COMMENT '角色:买家/卖家/管理员',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_student_id` (`student_id`) COMMENT '学号唯一约束'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';

-- 2. 商品分类表
CREATE TABLE `goods_category` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分类主键ID',
  `category_name` VARCHAR(50) NOT NULL COMMENT '分类名称',
  `category_desc` VARCHAR(200) DEFAULT '' COMMENT '分类描述',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_category_name` (`category_name`) COMMENT '分类名称唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';

-- 3. 二手商品表(核心表)
CREATE TABLE `second_hand_goods` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品主键ID',
  `goods_name` VARCHAR(100) NOT NULL COMMENT '商品名称',
  `category_id` INT UNSIGNED NOT NULL COMMENT '分类ID',
  `original_price` DECIMAL(10,2) NOT NULL COMMENT '原价(元)',
  `selling_price` DECIMAL(10,2) NOT NULL COMMENT '售价(元)',
  `goods_status` VARCHAR(20) NOT NULL COMMENT '商品状态:全新/9成新/8成新/7成新/破旧',
  `publish_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
  `seller_id` INT UNSIGNED NOT NULL COMMENT '卖家ID',
  `goods_desc` VARCHAR(500) DEFAULT '' COMMENT '商品描述',
  `is_sold` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否售出:0=未售出,1=已售出',
  PRIMARY KEY (`id`),
  -- 外键约束:关联分类表
  CONSTRAINT `fk_goods_category` FOREIGN KEY (`category_id`) REFERENCES `goods_category` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
  -- 外键约束:关联用户表(卖家)
  CONSTRAINT `fk_goods_seller` FOREIGN KEY (`seller_id`) REFERENCES `user_info` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二手商品表';

-- 4. 订单表
CREATE TABLE `order_info` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单主键ID',
  `goods_id` INT UNSIGNED NOT NULL COMMENT '商品ID',
  `buyer_id` INT UNSIGNED NOT NULL COMMENT '买家ID',
  `seller_id` INT UNSIGNED NOT NULL COMMENT '卖家ID',
  `deal_price` DECIMAL(10,2) NOT NULL COMMENT '成交价格(元)',
  `order_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '下单时间',
  `order_status` VARCHAR(20) NOT NULL COMMENT '订单状态:待付款/待发货/已成交/已取消',
  `trade_address` VARCHAR(200) NOT NULL COMMENT '交易地址(校园自提点/宿舍地址)',
  PRIMARY KEY (`id`),
  -- 外键约束:关联商品表
  CONSTRAINT `fk_order_goods` FOREIGN KEY (`goods_id`) REFERENCES `second_hand_goods` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
  -- 外键约束:关联用户表(买家)
  CONSTRAINT `fk_order_buyer` FOREIGN KEY (`buyer_id`) REFERENCES `user_info` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
  -- 外键约束:关联用户表(卖家)
  CONSTRAINT `fk_order_seller` FOREIGN KEY (`seller_id`) REFERENCES `user_info` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';

-- 5. 商品评价表
CREATE TABLE `goods_comment` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '评价主键ID',
  `goods_id` INT UNSIGNED NOT NULL COMMENT '商品ID',
  `user_id` INT UNSIGNED NOT NULL COMMENT '评价用户ID',
  `comment_content` VARCHAR(500) NOT NULL COMMENT '评价内容',
  `score` TINYINT NOT NULL COMMENT '评分(1-5星)',
  `comment_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '评价时间',
  PRIMARY KEY (`id`),
  -- 外键约束:关联商品表
  CONSTRAINT `fk_comment_goods` FOREIGN KEY (`goods_id`) REFERENCES `second_hand_goods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  -- 外键约束:关联用户表
  CONSTRAINT `fk_comment_user` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品评价表';
INSERT INTO `user_info` (`username`, `student_id`, `phone`, `password`, `role`, `create_time`) VALUES
('张三', '2023010101', '13800138001', MD5('123456'), '卖家', '2026-01-01 09:00:00'),
('李四', '2023010102', '13800138002', MD5('123456'), '买家', '2026-01-01 09:10:00'),
('王五', '2023010103', '13800138003', MD5('123456'), '卖家', '2026-01-01 09:20:00'),
('赵六', '2023010104', '13800138004', MD5('123456'), '买家', '2026-01-01 09:30:00'),
('孙七', '2023010105', '13800138005', MD5('123456'), '卖家', '2026-01-01 09:40:00'),
('周八', '2023010106', '13800138006', MD5('123456'), '买家', '2026-01-01 09:50:00'),
('吴九', '2023010107', '13800138007', MD5('123456'), '卖家', '2026-01-01 10:00:00'),
('郑十', '2023010108', '13800138008', MD5('123456'), '买家', '2026-01-01 10:10:00'),
('钱十一', '2023010109', '13800138009', MD5('123456'), '卖家', '2026-01-01 10:20:00'),
('孙十二', '2023010110', '13800138010', MD5('123456'), '买家', '2026-01-01 10:30:00'),
('李十三', '2023010111', '13800138011', MD5('123456'), '管理员', '2026-01-01 08:00:00'),
('王十四', '2023010112', '13800138012', MD5('123456'), '买家', '2026-01-01 10:40:00');
INSERT INTO `goods_category` (`category_name`, `category_desc`) VALUES
('教材教辅', '考研/考证/专业课教材、辅导资料、习题册等'),
('电子产品', '手机、电脑、平板、耳机、充电宝等数码产品'),
('生活用品', '床垫、书桌、收纳、厨具、洗护用品等'),
('体育用品', '羽毛球拍、跑鞋、瑜伽垫、健身器材等'),
('美妆护肤', '口红、粉底液、面膜、护肤品等(正品)'),
('服饰鞋帽', '闲置衣物、鞋子、帽子、包包等'),
('文娱周边', '书籍、漫画、手办、乐器、桌游等'),
('宿舍神器', '床帘、收纳盒、小风扇、台灯等宿舍用品'),
('交通工具', '自行车、电动车、滑板、平衡车等'),
('其他物品', '未分类的闲置物品');
INSERT INTO `second_hand_goods` (`goods_name`, `category_id`, `original_price`, `selling_price`, `goods_status`, `publish_time`, `seller_id`, `goods_desc`, `is_sold`) VALUES
('《数据结构与算法》第2版', 1, 59.80, 25.00, '9成新', '2026-01-10 14:30:00', 1, '考研自用教材,几乎全新,附带手写笔记', 0),
('小米AirPods Pro 2', 2, 1299.00, 800.00, '8成新', '2026-01-15 09:20:00', 3, '使用半年,功能完好,无拆修,送保护套', 0),
('宜家单人床垫', 3, 399.00, 150.00, '7成新', '2026-01-08 16:45:00', 5, '尺寸1.2*2.0m,无破损,可自提', 1),
('李宁羽毛球拍(单拍)', 4, 299.00, 120.00, '8成新', '2026-01-20 11:10:00', 7, '碳纤维材质,手感好,送3个羽毛球', 0),
('YSL小金条口红(#1966)', 5, 390.00, 180.00, '9成新', '2026-01-22 17:00:00', 9, '仅试色,正品,带包装盒', 0),
('安踏运动跑鞋(42码)', 6, 369.00, 100.00, '7成新', '2026-01-09 11:30:00', 1, '鞋底无磨损,透气款,适合日常运动', 1),
('《Python编程:从入门到实践》', 1, 89.00, 40.00, '全新', '2026-01-03 09:50:00', 3, '全新未拆封,买重了低价出', 0),
('宿舍折叠书桌', 8, 129.00, 50.00, '8成新', '2026-01-14 18:20:00', 5, '可升降,稳固不晃,自提优先', 0),
('iPad 9代 64G', 2, 2599.00, 1600.00, '8成新', '2026-01-16 14:00:00', 7, 'wifi版,屏幕无划痕,送保护壳和笔', 0),
('考研英语黄皮书全套', 1, 198.00, 80.00, '9成新', '2026-01-21 10:40:00', 9, '2025版,附带真题解析和错题本', 0),
('捷安特自行车(26寸)', 9, 1299.00, 600.00, '8成新', '2026-01-18 15:20:00', 1, '车况良好,送锁和车筐', 1),
('漫步者头戴式耳机', 2, 499.00, 200.00, '7成新', '2026-01-07 12:10:00', 3, '蓝牙/有线双模,音质正常,耳罩略有磨损', 0),
('瑜伽垫+瑜伽球套装', 4, 159.00, 60.00, '全新', '2026-01-19 15:50:00', 5, '全新未使用,瑜伽垫厚度10mm', 1),
('宿舍床帘+支架', 8, 89.00, 35.00, '9成新', '2026-01-11 13:40:00', 7, '遮光率99%,安装简单,送收纳袋', 0),
('闲置台灯(可充电)', 10, 69.00, 20.00, '8成新', '2026-01-13 10:00:00', 9, '三档调光,续航8小时,宿舍专用', 0);
INSERT INTO `order_info` (`goods_id`, `buyer_id`, `seller_id`, `deal_price`, `order_time`, `order_status`, `trade_address`) VALUES
(3, 2, 5, 150.00, '2026-01-09 10:00:00', '已成交', '南区宿舍10栋楼下自提点'),
(6, 4, 1, 100.00, '2026-01-10 11:00:00', '已成交', '北区食堂门口'),
(11, 6, 1, 600.00, '2026-01-19 14:00:00', '已成交', '学校西门自行车棚'),
(13, 8, 5, 60.00, '2026-01-20 15:00:00', '已成交', '体育馆南门'),
(1, 2, 1, 25.00, '2026-01-22 09:00:00', '待付款', '图书馆一楼服务台'),
(2, 4, 3, 800.00, '2026-01-22 10:00:00', '待发货', '中区宿舍5栋楼下'),
(4, 6, 7, 120.00, '2026-01-22 11:00:00', '待付款', '羽毛球馆门口'),
(5, 8, 9, 180.00, '2026-01-22 12:00:00', '待发货', '美妆店门口'),
(7, 10, 3, 40.00, '2026-01-22 13:00:00', '待付款', '书店门口'),
(8, 12, 5, 50.00, '2026-01-22 14:00:00', '待发货', '北区宿舍8栋楼下'),
(9, 2, 7, 1600.00, '2026-01-22 15:00:00', '已取消', '数码店门口'),
(10, 4, 9, 80.00, '2026-01-22 16:00:00', '待付款', '考研自习室门口');
INSERT INTO `goods_comment` (`goods_id`, `user_id`, `comment_content`, `score`, `comment_time`) VALUES
(3, 2, '床垫很干净,尺寸刚好,卖家人很好!', 5, '2026-01-10 11:00:00'),
(6, 4, '鞋子很合脚,性价比超高,推荐购买!', 4, '2026-01-11 12:00:00'),
(11, 6, '自行车车况很好,骑起来很轻便,满意!', 5, '2026-01-20 16:00:00'),
(13, 8, '瑜伽垫质量很好,厚度足够,全新未用!', 5, '2026-01-21 10:00:00'),
(1, 2, '教材笔记很详细,对复习帮助很大!', 4, '2026-01-23 09:00:00'),
(2, 4, '耳机音质很好,无拆修,和描述一致!', 5, '2026-01-23 10:00:00'),
(4, 6, '球拍手感不错,送的羽毛球也很好用!', 4, '2026-01-23 11:00:00'),
(5, 8, '口红是正品,仅试色,颜色超好看!', 5, '2026-01-23 12:00:00'),
(7, 10, '书是全新的,价格比书店便宜很多!', 5, '2026-01-23 13:00:00'),
(8, 12, '书桌很稳固,升降很方便,值得入手!', 4, '2026-01-23 14:00:00');

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐