MySQL企业规范约束

一、库表字段约束规范

  1. 如果是判断是否的字段,前缀为is_一定是unsigned tinyint类型,长度为1

  2. 只要不存在负数的字段,一定是无符号整型

  3. 数据库,表名,字段名不能出现大写字母,必须是小写字母,下划线后不能只出现数字

    注:在windows下默认不区分大小写,而在linux下默认区分大小写

  4. 表名不能是复数,不能以关键字为表名

  5. 主键索引名以pk_xxx开头,唯一键索引名,以idx_xxx开头,索引名,uk_xxx

  6. 有小数的禁止使用float,和double,用decimal

  7. 字符串很小时,使用char定长,varchar是可变长度字符串,一般varchar不超过5000,超过后直接使用文本类型

  8. 表里必须存在三个字段

    • id 必须是unsigned bigint类型,必须设为primary key,如果是单表,和其他表无绑定,必须设为自增
    • create_time 必须是datatime类型
    • update_time 必须是datetime类型
  9. 仓库名一般和应用名保持一致

  10. 字段如果频繁查询,可以允许适当冗余

  11. 单表超过五百万行或者超过两个G,要分库分表

  12. 数据类型和宽度的定义要合理

二、索引规范

  1. 一般要给唯一索引
  2. 多表查询,不允许关联查询,内联查询,最多存在两个,并且数据类型要一致
  3. 多表查询时,关联查询的字段也应该有索引

三、SQL开发约束

  1. count(x,xxx) 不能代替 count(*),因为 * 可以查询到数据为null的字段

  2. 当字段是否为null作为where后的查询语句时,一定要用is,如where name is null,判断是否为空的函数 ISNULL()

  3. 不要使用外键和级联,尤其是在高并发集群项目当中,一切都在应用层解决,不能在SQL语句中

  4. 实际开发过程中不允许使用存储过程,很难调试

  5. 更新数据时先要查原数据

  6. In操作能避免则避免

  7. 字符编码必须是UTF8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值