springboot vue商城的数据库创建
时间: 2023-10-07 19:05:21 浏览: 79
首先,你需要设计你的数据库结构,包括表名、字段名、字段类型、约束等。
例如,你可以设计以下表结构:
1. 商品表(goods):包含商品的基本信息,如商品名称、价格、库存等。
字段名 | 字段类型 | 约束
---|---|---
id | bigint | 主键、自增
name | varchar(255) | 非空
price | decimal(10,2) | 非空
stock | int | 非空
2. 订单表(orders):包含订单的基本信息,如订单号、下单时间、订单状态等。
字段名 | 字段类型 | 约束
---|---|---
id | bigint | 主键、自增
order_no | varchar(50) | 非空
create_time | datetime | 非空
status | tinyint | 非空,默认值为0
3. 订单商品关联表(order_goods):记录订单和商品的关联信息。
字段名 | 字段类型 | 约束
---|---|---
id | bigint | 主键、自增
order_id | bigint | 非空,外键(关联订单表)
goods_id | bigint | 非空,外键(关联商品表)
buy_num | int | 非空,默认值为1
你可以使用 SQL 语句创建以上表结构:
```sql
-- 创建商品表
CREATE TABLE `goods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(255) NOT NULL COMMENT '商品名称',
`price` decimal(10,2) NOT NULL COMMENT '价格',
`stock` int(11) NOT NULL COMMENT '库存',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
-- 创建订单表
CREATE TABLE `orders` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`order_no` varchar(50) NOT NULL COMMENT '订单号',
`create_time` datetime NOT NULL COMMENT '下单时间',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '订单状态,0:未支付,1:已支付',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
-- 创建订单商品关联表
CREATE TABLE `order_goods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`order_id` bigint(20) NOT NULL COMMENT '订单ID,关联订单表',
`goods_id` bigint(20) NOT NULL COMMENT '商品ID,关联商品表',
`buy_num` int(11) NOT NULL DEFAULT '1' COMMENT '购买数量',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_goods_id` (`goods_id`),
CONSTRAINT `fk_order_id` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `fk_goods_id` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单商品关联表';
```
以上 SQL 语句假设你使用的是 MySQL 数据库,表结构根据你的实际需求进行设计和修改。
阅读全文