首页 > 数据库 > MySQL > MySQL 建表规范,居然只有10条?
很多公司有很厚一本的MySQL规范,规范内容越多,越难落地执行。
阿里的MySQL建表强制规范只有10条,大伙可以参考借鉴。
画外音,另外:
索引强制规范有4条,SQL强制规范有9条;
建议规范与参考规范若干。
1、表达是否概念的字段,必须使用is_xxx的形式命名;
2、数据类型必须是 unsigned tinyint;
3、 1表示是,0表示否;
举例:是否删除
正确:使用is_deleted,1表示删除,0表示未删除
错误:deleted, if_deleted, delete_or_not
1、表名,字段名禁止出现大写;
画外音:MySQL在Windows下不区分大小写,Linux下虽然区分,但为了避免节外生枝,统一禁止大写。
2、禁止数字开头,禁止两个下划线中间只有数字;
举例:
正确:aliyun_admin,level3_name
错误:AliyunAdmin,level_3_name
表名表示实体内容,不是实体数量,禁止使用复数。
常见的例如:desc,range,match,delayed…
1、主键索引名: pk_xxx
画外音:primary key
2、唯一索引名: uk_xxx
画外音:unique key
3、普通索引名: idx_xxx
画外音:index
1、小数类型使用decimal;
2、禁止使用float和double;
画外音:float和double存在精度损失,比较的时候,可能得到意想不到的结果。
3、如果范围超过decimal,可以拆成整数与小数分开存储;
画外音:预先分配存储空间,不会触发重新分配。
1、如果字符串长度较长,且内容长度差异较大,使用varchar;
画外音:不预先分配存储空间,比较节省空间。
2、如果字符串长度大部分超过5000,使用text,独立出一张表单独存储;
画外音:避免影响主表其他字段索引效率。
画外音:逻辑操作保留了数据资产的同时,能够追溯操作行为。
贵司有MySQL规范吗?
你觉得他们的建表规范合理吗?各位运维大侠怎么看?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70013542/viewspace-3022287/ ,如需转载,请注明出处,否则将追究法律责任。