mysql创建bom表_mysql-- 数据库建表语句的规范小结

本文总结了MySQL数据库建表的规范,包括字段设计原则,如选择合适的数字类型,避免NULL,限制TEXT和IMAGE使用,以及字段命名规则,如时间字段命名,布尔字段前缀,状态字段统一,索引命名等。建议使用timestamp而非datetime,以及利用默认值和注释提高表结构的清晰度。
摘要由CSDN通过智能技术生成

-- 数据库建表语句的规范小结

建表语句的规范:

1.字段的设计

A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。

B. 数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小,

上次监控系统里面的表 mon_tair_stat_detail_2012_1 的data_size 和 use_size定义的是int(15) 实际上最大长度是int(11)  只有bigint才有(15).

所以在建表的时候一定要预估这个字段最大的长度到底是多少。

C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。

D. 少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。

2.字段名字的定义  A. 对字段名字的命名也要遵循一个规范。比如说时间: 目前我们定义时间的时候 都是create_time, modify_time,以后建表的时候,都按照这个标准来,就不要写成createtime这样的。  B. 布尔类型的值均以 is、has、exist 或者 can开头。  C. 记录行的状态都用status, 逻辑删除的标识用is_deleted。  D. 新建的表与之前的表的字段有相似或者相同的字段,字段的名称和类型也必须相同,切记不能随意的重新命名,例如:token_md5 就不要命名成tokenmd5了。  E. 每个字段的COMMENT必须写清楚,枚举类型必须写清楚每个值到底是什么意思。  F. 表名 字段名字统一用小写。  G.索引名称统一用字段名称,多个字段的索引加_ 比如 (uid,type)  索引名就是 uid_type。  H.字段名字不要用驼峰命名法 比如create_time 不要写成CreateTime.  I.字段命名关键字统一用下划线"_"分割,一般采用简写,关键字要准确,不能有歧义。  J.字段的排列顺序:自增列、int类型的、varchar类型、时间类型、状态类型(status,is_deleted)。基本原则是:主要内容在前,次要内容在后,不为空的在前,可以空的在后面。  K.时间类型尽量用 timestamp 4个字节,而不用datetime 8个字节。只用表示日期的字段用date类型。  L.时间类型自动修改,比如modify_time 在记录被修改的时候回被自动更新成当前的时间: `modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;  而create_time在记录被修改的时候则不必自动更新成当前的时间:`create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值