MySQL建表DDL规范(欢迎补充)

MySQL建表DDL规范(欢迎补充)

基本规范:

  1. 表名和字段名全大写,一般表名以T开头
  2. 脚本需支持可重复执行,带IF NOT EXISTS ,但不可带DROP语句
  3. 字符集使用utf8mb4 (CHARSET = utf8mb4 collate utf8mb4_unicode_ci)
  4. 脚本文件使用无BOM的UTF-8编码,否在会导致乱码
  5. 普通表,使用T开头,例如T_ACCOUNT
  6. 参数表,使用T_PARA开头,例如T_PARA_GENRAL_CONFIG
  7. 批量业务使用的表,使用T_BATCH开头,如T_BATCH_ACCOUNT_ITEM
  8. 流水类的表,必须带业务流水号、系统流水号(全局贯穿),例如T_TRANS_LOG_RECHARGE

案例DDL模板:

CREATE TABLE IF NOT EXISTS `T_XXXTODO`
(
    `ID`                     bigint     NOT NULL comment '主键id',
    `COLUMN1`                tinyint(4) NOT NULL comment 'xxx1',
    `COLUMN2`                tinyint(4) NOT NULL comment 'xxx1',
    `COLUMN3`                tinyint(4) NOT NULL comment 'xxx1',
    `BIZ_DATE`               date       NOT NULL comment '业务日期',
    `CREATED_DATETIME`       datetime   NOT NULL default CURRENT_TIMESTAMP comment '创建时间',
    `LAST_MODIFIED_DATETIME` datetime   NOT NULL default CURRENT_TIMESTAMP on update current_timestamp comment '更新时间',
    `VERSION`                int(11)    NOT NULL comment '乐观锁版本号',
    PRIMARY KEY (`ID`),
    key T_XXXTODO_LAST_MODIFIED_DATETIME (LAST_MODIFIED_DATETIME)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  collate utf8mb4_unicode_ci comment 'T_XXXTODO表';


posted @ 2021-06-22 20:09  starmoon1900  阅读(248)  评论(0编辑  收藏  举报