创建数据库与表

项目搭建与创作者接口-数据库创建_数据库

CREATE TABLE `video_author` (
`id` CHAR ( 19 ) NOT NULL COMMENT '创作者ID',
`name` VARCHAR ( 20 ) NOT NULL COMMENT '创作者姓名',
`intro` VARCHAR ( 500 ) NOT NULL DEFAULT '' COMMENT '创作者简介',
`career` VARCHAR ( 500 ) DEFAULT NULL COMMENT '创建者经历介绍',
`level` INT ( 10 ) UNSIGNED NOT NULL COMMENT '1:普通创作者 2:特约创作者',
`avatar` VARCHAR ( 255 ) DEFAULT NULL COMMENT '创作者头像',
`sort` INT ( 10 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '排序',
`is_deleted` TINYINT ( 1 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '逻辑删除 1(true)已删除, 0(false)未删除',
`gmt_create` datetime NOT NULL COMMENT '创建时间',
`gmt_modified` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY ( `id` ),
UNIQUE KEY `uk_name` ( `name` )
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COMMENT = '创作者';

项目搭建与创作者接口-数据库创建_Project_02

数据库设计规范


  • 数据库名称尽量与应用名称保存一致
  • 表名:业务名称_表的作用,video_author
  • 表名, 字段名必须使用小写, 禁止以数字开头, 不要使用关键字
  • 表名起的时候, 尽量不要使用复数名称
  • 表当中必备三个字段:id:主键,gmt_create:记录创建的时间,gmt_modified:记录修改时间
  • 如果一个表当中记录比较多的时候,超过了500万条,或者容量超过了2G考虑做分库分表, 假设表的内容3年都达不到500万条数据, 不要做分库分表
  • 数据库当中字段如果是表示,​​是​​​ 与​​否​​​,通常字段起名,​​is_xxx​​​ 数据类型 使用​​tinyint(1 表示真, 0表示假)​
  • 表示金钱的字段, 必须使用 decimal, 不能使用 float 或者 double, 有时候会都把小数类型统一使用 decimal
  • 如果一个字段存储的内容几乎长度都相等,建议使用 char 类型,定长字符串类型
  • varhcar 可变字符串, 不预先分配存储空间, 如果长充超过 5000, 不建议使用 varchar, 建议使用 text,建议使用独立的一张表来进行存储, 全部都放到一起, 会影响查询速度
  • 主索引, 起名:​​uk_字段​​​, 普通索引,​​idx_字段名称​
  • 如果两个表有外键 ,不要在数据库当中添加外键约束,在应用层进行处理外键,不利于​​分布式​​​, 不利于做​​并发​​​​集群​