我司的mysql规范,值得牢记

一.禁止内容

  1. 表字段类型 不推荐使用enum,set,blob,text等类型
  2. 表中所有字段都不能为空,需要设置not null属性,可以给默认值
  3. 表的主键列值禁止被更新,可以进行删除操作。
  4. 程序中不能试用中间表和备份表 表名以tmp_开头或者 bak_开头
  5. 数据库账号的授权需要具体到授权服务器的IP,禁止使用机器名和%
  6. 禁止使用insert、delete或update语句进行用户权限的设置,清理和修改操作
  7. 禁止使用old_password进行加密,数据库参数old_passwords必须置为OFF
  8. 禁止使用全文检索功能
  9. 禁止使用事件(EVENT)功能
  10. 禁止在mysql中使用用户自定义变量
  11. 不推荐使用外键,临时表,视图,自定义函数,存储过程以及触发器
  12. SELECT语句必须指定具体字段名称,禁止写成*
  13. SELECT语句禁止使用UNION,推荐使用UNION ALL
  14. INSERT语句必须指定具体的字段名称
  15. 禁止写成多层子查询嵌套的SQL语句,推荐改写成表顺序连接的格式
  16. 禁止在INSERT|UPDATE|DELETE|REPLACE语句中进行多表连接操作
  17. WHERE 子句中禁止只使用全模糊的LIKE条件进行查找,必须有其他查询条件
  18. WHERE子句中的索引列或组合索引前导列上不能使用函数

二.数据库设计原则

  1.数据库名称 小写 字母 数字 _ ,不超32字符  例如: test_db

  2.数据库字符编码 utf8或者gbk

  3.表结构 :表名与字段名 小写 字母 数字 _ ,数据表量少推荐表名为 数据库缩写+表功能名 如 test_dict,量多按功能划分 如资源区可以用 r_dict,数据区可以用 d_dict。

       创建表时必须显式指定字符集,与库一致。

       创建表时必须显式指定表存储引擎类型。

      表中的自增列(auto_increment属性)推荐使用bigint类型

      状态status、类型type等字段推荐使用tinytint或者smallint类型

      IP地址字段推荐使用int类型

      使用表中必须有时间字段create_time和最后更新时间字段update_time

  4.索引的设计原则

      InnoDB类型表必须要有主键列

      索引类型必须为BTREE

      主键的名称以"pk_"开头

      唯一键以"uk_"开头

      普通索引以"idx_"开头

      分区表的分区字段(partition-key)必须有索引

  5. 数据库账号

      读写账号以"_w"后缀,只读账号以"_r"后缀

mysql的一些规范的更多相关文章

  1. MySQL建表规范与常见问题

    一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用InnoDB存储引擎. 存储精确 ...

  2. Mysql手册—基本规范与数据类型

    第十章      本章主要介绍了一些语法规范,如 对于表,函数,字段,在Linux上大小写敏感,Windows和MacOS上却不敏感: Mysql是如何识别函数的及用户在定义自定义函数时命名要求:通过 ...

  3. mysql数据库开发规范

    对规范的遵守可用二八原则,不要教条.为满足实际需求 可忽视部分规范. 1.索引规范 *目标 |--利用最小的索引成本找到需要的行记录 *原则 |--做前缀匹配 |--选择区分度高的列做前缀索引列 |- ...

  4. MySQL数据库开发规范知识点

    前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...

  5. 【转】拍拍网2015年mysql最新开发规范

    1.命名规范 (1)库名.表名.字段名必须使用小写字母,并采用下划线分割. (2)库名.表名.字段名禁止超过32个字符. (3)库名.表名.字段名必须见名知意.命名与业务.产品线等相关联. (4)库名 ...

  6. MySQL之开发规范

    一..数据库命名规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3.数据库对象的命 ...

  7. MySQL建表规范

    一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省 ...

  8. Mysql推荐使用规范

    一.基础规范 使用InnoDB存储引擎支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 推荐使用utf8mb4字符集无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 ...

  9. Mysql推荐使用规范(转)

    一:基础规范 1.使用InnoDB存储引擎 支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 2.推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部 ...

  10. Mysql 数据库开发规范

    设计范式参看,DDL与DDL 库表基础规范 1.注释 每个表要添加注释,对 status 型需指明主要值的含义,如”0-离线,1-在线” 2.表的字段数量 单表字段数一般考虑上限为 30左右,再多的话 ...

随机推荐

  1. css 层加透明度后文字依然清晰

    background: rgba(, , , !important; /*实现FF背景透明,文字不透明*/ filter: Alpha(opacity=); background: #0a0a0a; ...

  2. bzoj2013[CEOI2010] A huge tower

    题意 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A恰好在砖B上面,那么A不能比B的长度+D要长.问有几种方法,输出 答案 mod 1000000009的值 分析 ...

  3. document.readyState的使用

    document.readyState:判断文档是否加载完成.firefox不支持. 这个属性是只读的,传回值有以下的可能: 0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载. ...

  4. Jmeter如何连接数据库Mysql

    1. 下载jdbc 的驱动 mysql-connector-java-5.1.41-bin.jar,并将该驱动放到路径: D:\apache-jmeter-3.0\lib\ 2. 打开Jmeter 工 ...

  5. 【BZOJ4004】装备购买(线性基)

    [BZOJ4004]装备购买(线性基) 题面 BZOJ 洛谷 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am ...

  6. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

  7. [学习笔记]FHQ-Treap及其可持久化

    感觉范浩强真的巨 博主只刷了模板所以就讲基础 fhq-treap 又形象的称为非旋转treap 顾名思义 保留了treap的随机数堆的特点,并以此作为复杂度正确的条件 并且所有的实现不用旋转! 思路自 ...

  8. Ubuntu在vncviewer下Tab键失效

    打开命令行,运行如下命令即可解决: xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/'<'Super'>'Tab -r ...

  9. 问题分析 - 电容的ESR

    ESR,是Equivalent Series Resistance三个单词的缩写,翻译过来就是“等效串连电阻” 理论上,一个完美的电容,自身不会产生任何能量损失,但是实际上,因为制造电容的材料有电阻, ...

  10. ubuntu 安装微信开发者工具

    https://github.com/cytle/wechat_web_devtools 实测:64位  32位的可以... 参考命令; 2030 sudo apt-get install wine1 ...