用MySQL帮我在Linux系统里面写一个商城的数据库
时间: 2023-12-05 13:04:34 浏览: 84
好的,下面是一个简单的商城数据库设计,请注意这只是一个示例,实际项目中需要根据具体需求进行调整和优化。
1. 商品表(goods)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------ |
| id | int(11) | 商品ID |
| name | varchar(255) | 商品名称 |
| price | decimal(10,2)| 商品价格 |
| stock | int(11) | 商品库存 |
| description| varchar(255) | 商品描述 |
| image | varchar(255) | 商品图片地址 |
| category_id| int(11) | 商品所属分类ID |
| create_time| datetime | 商品创建时间 |
| update_time| datetime | 商品更新时间 |
2. 商品分类表(category)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------ |
| id | int(11) | 分类ID |
| name | varchar(255) | 分类名称 |
| create_time| datetime | 分类创建时间 |
| update_time| datetime | 分类更新时间 |
3. 用户表(user)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------- |
| id | int(11) | 用户ID |
| username | varchar(255) | 用户名 |
| password | varchar(255) | 密码 |
| email | varchar(255) | 邮箱 |
| mobile | varchar(255) | 手机号码 |
| create_time| datetime | 用户创建时间 |
| update_time| datetime | 用户更新时间 |
4. 订单表(order)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------- |
| id | int(11) | 订单ID |
| user_id | int(11) | 用户ID |
| order_no | varchar(255) | 订单号码 |
| total_price| decimal(10,2)| 订单总价 |
| status | tinyint(4) | 订单状态(0待付款,1已付款,2已发货,3已完成,4已取消)|
| create_time| datetime | 订单创建时间 |
| update_time| datetime | 订单更新时间 |
5. 订单详情表(order_detail)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------- |
| id | int(11) | 订单详情ID |
| order_id | int(11) | 订单ID |
| goods_id | int(11) | 商品ID |
| goods_name | varchar(255) | 商品名称 |
| goods_price| decimal(10,2)| 商品价格 |
| goods_count| int(11) | 商品数量 |
| create_time| datetime | 订单详情创建时间 |
| update_time| datetime | 订单详情更新时间 |
6. 购物车表(cart)
| 字段名 | 类型 | 描述 |
| ---------- | ------------ | ------------------------- |
| id | int(11) | 购物车ID |
| user_id | int(11) | 用户ID |
| goods_id | int(11) | 商品ID |
| goods_count| int(11) | 商品数量 |
| create_time| datetime | 购物车创建时间 |
| update_time| datetime | 购物车更新时间 |
以上是一个简单的商城数据库设计,你可以根据实际需求进行修改和优化。在Linux系统中,你可以通过以下命令创建这些表:
```
$ mysql -u root -p
Enter password:
mysql> CREATE DATABASE IF NOT EXISTS mall;
mysql> USE mall;
mysql> CREATE TABLE goods (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> name VARCHAR(255) NOT NULL,
-> price DECIMAL(10,2) NOT NULL,
-> stock INT(11) NOT NULL,
-> description VARCHAR(255) NOT NULL,
-> image VARCHAR(255) NOT NULL,
-> category_id INT(11) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
mysql> CREATE TABLE category (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> name VARCHAR(255) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
mysql> CREATE TABLE user (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> username VARCHAR(255) NOT NULL,
-> password VARCHAR(255) NOT NULL,
-> email VARCHAR(255) NOT NULL,
-> mobile VARCHAR(255) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
mysql> CREATE TABLE order (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> user_id INT(11) NOT NULL,
-> order_no VARCHAR(255) NOT NULL,
-> total_price DECIMAL(10,2) NOT NULL,
-> status TINYINT(4) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
mysql> CREATE TABLE order_detail (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> order_id INT(11) NOT NULL,
-> goods_id INT(11) NOT NULL,
-> goods_name VARCHAR(255) NOT NULL,
-> goods_price DECIMAL(10,2) NOT NULL,
-> goods_count INT(11) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
mysql> CREATE TABLE cart (
-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-> user_id INT(11) NOT NULL,
-> goods_id INT(11) NOT NULL,
-> goods_count INT(11) NOT NULL,
-> create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
阅读全文