数据库建表规范【记录】

建表规约
【强制】创建表时必须显式指定表存储引擎类型,如无特殊需求,一律为InnoDB。
【强制】必须有行数据的创建时间字段create_date和最后更新时间字段edit_date。
【强制】自增主键命名必须是id,关联表外键命名xxyyzz_id;业务主键命名必须是key char(36)。
【推荐】反范式设计:把经常需要join查询的字段,在其他表里冗余一份。
【推荐】状态字典类型字段类型char(3),尽可能有业务含义,全局统一。

【参考】建库、建表示例: 创建数据库SQL举例:create schema finance CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 一个较为规范的建表语句为:

CREATE TABLE user (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_id` bigint(20) NOT NULL default ‘0’ COMMENT ‘用户id’,
  `username` varchar(45) NOT NULL default ‘’ COMMENT '真实姓名',
  `email` varchar(30) NOT NULL default ‘’COMMENT ‘用户邮箱’,
  `nickname` varchar(45) NOT NULL default ‘’ COMMENT '昵称',
  `avatar` int(11) NOT NULL default ‘0’ COMMENT '头像',
  `birthday` date NOT NULL default ‘0000-00-00’ COMMENT '生日',
  `sex` tinyint(4) not null DEFAULT '0' COMMENT '性别',
  `short_introduce` varchar(150) not null DEFAULT ‘’COMMENT '一句话介绍自己,最多50个汉字',
  `user_resume` varchar(200) NOT NULL default ‘’COMMENT '用户提交的简历存放地址',
  `user_register_ip` int NOT NULL COMMENT ‘用户注册时的源ip’,
  `sts` char(1) NOT NULL default ‘A’ COMMENT '逻辑状态',
   create_user VARCHAR(32) COLLATE utf8_bin NOT NULL COMMENT '创建用户',
   create_date TIMESTAMP NOT NULL default current_timestamp COMMENT ‘创建时间’,
   edit_user VARCHAR(32) COLLATE utf8_bin NOT NULL COMMENT '修改用户',
   edit_date TIMESTAMP default current_timestamp on update current_timestamp COMMENT ‘修改时间’,
  `user_review_status` tinyint NOT NULL default ‘1’ COMMENT ‘用户资料审核状态,1为通过,2为审核中,3为未通过,4为还未提交审核’,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_user_id` (`user_id`),
  KEY `idx_username`(`username`),
  KEY `idx_create_time`(`create_time`,`user_review_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 collate=utf8mb4_bin COMMENT='网站用户基本信息';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

图图小淘气_real

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

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

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

打赏作者

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

抵扣说明:

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

余额充值