零售商贩mysql表设计:收货地址表 用户表(关联起来)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


sql

收货地址表:

CREATE TABLE `user_address` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL COMMENT '收获人姓名',
  `mobile` varchar(20) NOT NULL COMMENT '手机号',
  `province` varchar(20) DEFAULT NULL COMMENT '省',
  `city` varchar(20) DEFAULT NULL COMMENT '市',
  `country` varchar(20) DEFAULT NULL COMMENT '区',
  `detail` varchar(100) DEFAULT NULL COMMENT '详细地址',
  `delete_time` int(11) DEFAULT NULL,
  `user_id` int(11) NOT NULL COMMENT '外键',
  `update_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4;

id解析:

为什么要设置自增主键 id ? PRIMARY KEY (id)
可以唯一标识一行数据,在 InnoDB 构建索引树的时候会使用主键。
自增 id 是顺序的,可以保证索引树上的数据比较紧凑,有更高的空间利用率以及减少数据页的分裂合并等操作,提高效率。(数字顺序搜索快一点)
一般使用手机号、身份证号作为主键等并不能保证顺序性。
流水号一般相对较长,比如 28 位,32 位等,过长的话会二级索引占用空间较多。同时为了业务需求,流水号具有一定的随机性。
int(11)是什么意思?
“int(11)中,11代表的并不是长度,而是字符的显示宽度
为什么id不能为空NOT NULL?
如果查询中包含可为 NULL 的列,对 MySQL 来说更难优化 ,因为可为 NULL 的列使 得索引、索引统计和值比较都更复杂 。可为NULL 的列会使用更多的存储空间 ,在 MySQL 里也需要特殊处理 。当可为NULL 的列被索引肘,每个索引记录需要一个额 外的字节,在 MyISAM 里甚至还可能导致固定大小 的索引 (例如只有一个整数列的 索引) 变成可变大小的索引。(为null是占用存储空间的。为空不占用存储空间哦)

AUTO_INCREMENT的特点?
默认情况下,AUTO_INCREMENT的起始值为1,每个新记录增加1。

解析:
如果没写省级表城市表的话·,在一张表里面写也可以.
为什么电商项目用户名必须是唯一的?( UNIQUE KEY user_id (user_id))
用户名是就一个身份证,存储在数据库中,你登陆时需要调用数据库,如果有两个同样的用户名,无法分辨该调用哪个。会乱套的

在这里插入图片描述

用户表:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `openid` varchar(50) NOT NULL,
  `nickname` varchar(50) DEFAULT NULL,
  `extend` varchar(255) DEFAULT NULL,
  `delete_time` int(11) DEFAULT NULL,
  `create_time` int(11) DEFAULT NULL COMMENT '注册时间',
  `update_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `openid` (`openid`)
) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=utf8mb4;

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值