设计一个支付平台,显示所有的表结构 。并生成SQL语句
以下是一个简单的支付平台的表结构:
- 用户表(user):
| 字段名 | 类型 | 描述 | | --- | --- | --- | | id | int | 用户ID,主键 | | username | varchar(50) | 用户名 | | password | varchar(50) | 密码 | | email | varchar(50) | 邮箱 | | mobile | varchar(20) | 手机号 | | gender | tinyint | 性别,0表示未知,1表示男性,2表示女性 | | birthday | date | 生日 | | register_time | datetime | 注册时间 |
- 银行卡表(bank_card):
| 字段名 | 类型 | 描述 | | --- | --- | --- | | id | int | 银行卡ID,主键 | | user_id | int | 用户ID,外键 | | bank_name | varchar(50) | 银行名称 | | card_number | varchar(50) | 银行卡号 | | card_holder | varchar(50) | 持卡人姓名 | | validity_period | varchar(10) | 有效期 | | cvv | varchar(10) | CVV码 | | create_time | datetime | 创建时间 |
- 订单表(order):
| 字段名 | 类型 | 描述 | | --- | --- | --- | | id | int | 订单ID,主键 | | user_id | int | 用户ID,外键 | | order_number | varchar(50) | 订单编号 | | amount | decimal(10,2) | 订单金额 | | status | tinyint | 订单状态,0表示待支付,1表示已支付,2表示已取消 | | create_time | datetime | 创建时间 |
- 支付记录表(payment_record):
| 字段名 | 类型 | 描述 | | --- | --- | --- | | id | int | 支付记录ID,主键 | | order_id | int | 订单ID,外键 | | payment_amount | decimal(10,2) | 支付金额 | | payment_time | datetime | 支付时间 | | payment_method | tinyint | 支付方式,0表示银行卡支付,1表示支付宝支付,2表示微信支付 |
以下是表结构对应的SQL语句:
- 用户表(user):
CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(50) NOT NULL,
email varchar(50) DEFAULT NULL,
mobile varchar(20) DEFAULT NULL,
gender tinyint(4) NOT NULL DEFAULT '0',
birthday date DEFAULT NULL,
register_time datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- 银行卡表(bank_card):
CREATE TABLE bank_card (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
bank_name varchar(50) NOT NULL,
card_number varchar(50) NOT NULL,
card_holder varchar(50) NOT NULL,
validity_period varchar(10) NOT NULL,
cvv varchar(10) NOT NULL,
create_time datetime NOT NULL,
PRIMARY KEY (id),
KEY fk_bank_card_user (user_id),
CONSTRAINT fk_bank_card_user FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- 订单表(order):
CREATE TABLE order (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
order_number varchar(50) NOT NULL,
amount decimal(10,2) NOT NULL,
status tinyint(4) NOT NULL DEFAULT '0',
create_time datetime NOT NULL,
PRIMARY KEY (id),
KEY fk_order_user (user_id),
CONSTRAINT fk_order_user FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- 支付记录表(payment_record):
CREATE TABLE payment_record (
id int(11) NOT NULL AUTO_INCREMENT,
order_id int(11) NOT NULL,
payment_amount decimal(10,2) NOT NULL,
payment_time datetime NOT NULL,
payment_method tinyint(4) NOT NULL,
PRIMARY KEY (id),
KEY fk_payment_order (order_id),
CONSTRAINT fk_payment_order FOREIGN KEY (order_id) REFERENCES order (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
原文地址: http://www.cveoy.top/t/topic/gPY 著作权归作者所有。请勿转载和采集!