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: 更新时间,时间戳类型,默认为当前时间,并在记录更新时自动更新。

请注意:

  • 以上代码仅为示例,实际应用中可能需要根据具体需求进行调整。
  • 在执行任何数据库操作之前,请务必备份重要数据。
  • 根据实际情况设置合适的字段类型、长度和约束条件,以确保数据完整性和一致性。
MySQL数据库设计:创建用户表和收货地址表

原文地址: https://www.cveoy.top/t/topic/UwY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录