阿里巴巴 MySQL 规范
【强制】命名规范
表名、字段名必须使用 小写字母或数字,禁止数字开头,禁止两个下划线中间只出现数字。
正例:
aliyun_admin,rdc_config,level3_name反例:
AliyunAdmin,rdcConfig,level_3_name
【强制】禁用保留字
如 DESC、RANGE、MATCH、DELAYED 等,参考 MySQL 官方保留字。
【强制】表必备三字段
id:主键,类型为BIGINT UNSIGNED,单表自增,步长为 1gmt_create:创建时间,DATETIME类型gmt_modified:更新时间,DATETIME类型
【推荐】表命名
遵循 “业务名称_表的作用”,如 alipay_task、force_project、trade_config
【推荐】库名
与应用名称尽量一致。
【参考】合适的存储长度
| 场景 | 推荐类型 | 字节 | 范围 |
|---|---|---|---|
| 人(150 岁以内) | TINYINT UNSIGNED |
1 | 0 ~ 255 |
| 龟(数百岁) | SMALLINT UNSIGNED |
2 | 0 ~ 65,535 |
| 恐龙化石(数千万年) | INT UNSIGNED |
4 | 0 ~ ~43 亿 |
| 太阳(约 50 亿年) | BIGINT UNSIGNED |
8 | 0 ~ ~10 的 19 次方 |
其他注意事项
尽量不要使用 TRUNCATE 清空表, 不可以回滚。