SQL语句规范第一条(建库):
CREATE DATABASE oldboy CHARSET utf8mb4
- 关键字大写(非必须),字面量小写(必须)
- 库名字,只能是小写,不能有数字开头,不能是预留关键字
- 库名字必须和业务名有关,例如his_user;
- 必须加字符集.
SQL语句规范第二条(建表):
- 关键字大写(非必须),字面量小写(必须)
- 表名必须小写,不能有数字开头,不能是预留关键字
- 表名字必须和业务名有关
- 必须加存储引擎和字符集
- 适合的数据类型
- 必须要有主键
- 尽量非空选项
- 字段唯一性
- 必须加注释
- 避免使用外键
- 建立合理的索引
SQL语句规范第三条(增删改):
- insert语句按批量插入数据
- update必须加where条件
- delete尽量替换为update
- 如果有清空全表需求,不要用delete,推荐使用truncate
SQL语句规范第四条(查询):
- select语句避免使用 select * from t1; —-> select id,name from t1;
- select语句尽量加等值的where条件.例如 select * from t1 where id=20;
- select 语句对于范围查询,例如 ;select * from t1 where id>200; 尽量添加limit或者 id>200 and id<300 union all id>300 and id<400
- select 的where 条件 不要使用 <> like ‘%name’ not in not exist
- 不要出现3表以上的表连接,避免子查询
- where条件中不要出现函数操作.
SQL语句规范第五条(数据类型):
- 少于10位的数字int ,大于10位数 char,例如手机号
- char和varchar选择时,字符长度一定不变的可以使用char,可变的尽量使用varchar
- 在可变长度的存储时,将来使用不同的数据类型,对于索引树的高度是有影响的.
- 选择合适的数据类型
- 合适长度