MySQL数据库设计:创建用户表和收货地址表
MySQL数据库设计:创建用户表和收货地址表
本教程将引导你使用MySQL创建用户表(user_profile)和收货地址表(user_address),适用于电商平台等需要用户管理和订单处理的系统。
1. 创建数据库
-- 创建库jsd2308db,指定字符集为utf8
CREATE DATABASE jsd2308db CHARACTER SET utf8;
-- 切换到jsd2308db数据库
USE jsd2308db;
2. 创建用户表 (user_profile)
CREATE TABLE user_profile (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户编号',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(80) NOT NULL COMMENT '密码',
email VARCHAR(100) UNIQUE COMMENT '邮箱',
phone VARCHAR(11) UNIQUE COMMENT '手机号',
is_active INT DEFAULT 1 COMMENT '是否激活 (1:激活, 0:未激活)',
created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
updated_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
字段说明:
- id: 用户编号,整型,主键,自增。
- username: 用户名,字符类型,长度20,非空,唯一。
- password: 密码,字符类型,长度80,非空。
- email: 邮箱,字符类型,长度100,唯一。
- phone: 手机号,字符类型,长度11,唯一。
- is_active: 是否激活,整型,默认为1,1表示激活,0表示未激活。
- created_time: 注册时间,时间戳类型,默认为当前时间。
- updated_time: 更新时间,时间戳类型,默认为当前时间,并在记录更新时自动更新。
3. 创建收货地址表 (user_address)
-- 切换到jsd2307db数据库 (如果需要)
-- USE jsd2307db;
CREATE TABLE user_address (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '地址编号',
user_id INT NOT NULL COMMENT '该地址所属用户的user_id',
receiver VARCHAR(20) NOT NULL COMMENT '收件人',
address VARCHAR(100) NOT NULL COMMENT '收件地址',
postal_code VARCHAR(6) COMMENT '邮政编码',
receiver_mobile VARCHAR(11) NOT NULL COMMENT '收件人手机号',
tag VARCHAR(20) COMMENT '地址标签[家|公司|宿舍]',
is_default INT DEFAULT 0 COMMENT '是否为默认地址 (1:是, 0:否)',
is_delete INT DEFAULT 0 COMMENT '伪删除字段 (1:已删除, 0:未删除)',
created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
updated_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收货地址表';
字段说明:
- id: 地址编号,整型,主键,自增。
- user_id: 该地址所属用户的user_id,整型,非空,外键关联用户表(user_profile)的主键。
- receiver: 收件人,字符类型,长度20,非空。
- address: 收件地址,字符类型,长度100,非空。
- postal_code: 邮政编码,字符类型,长度6。
- receiver_mobile: 收件人手机号,字符类型,长度11,非空。
- tag: 地址标签,字符类型,长度20,例如'家'、'公司'、'宿舍'。
- is_default: 是否为默认地址,整型,默认为0,1表示是,0表示否。
- is_delete: 伪删除字段,整型,默认为0,1表示已删除,0表示未删除。
- created_time: 添加时间,时间戳类型,默认为当前时间。
- updated_time: 更新时间,时间戳类型,默认为当前时间,并在记录更新时自动更新。
请注意:
- 以上代码仅为示例,实际应用中可能需要根据具体需求进行调整。
- 在执行任何数据库操作之前,请务必备份重要数据。
- 根据实际情况设置合适的字段类型、长度和约束条件,以确保数据完整性和一致性。
原文地址: https://www.cveoy.top/t/topic/UwY 著作权归作者所有。请勿转载和采集!