mysql的一些规范
我司的mysql规范,值得牢记
一.禁止内容
- 表字段类型 不推荐使用enum,set,blob,text等类型
- 表中所有字段都不能为空,需要设置not null属性,可以给默认值
- 表的主键列值禁止被更新,可以进行删除操作。
- 程序中不能试用中间表和备份表 表名以tmp_开头或者 bak_开头
- 数据库账号的授权需要具体到授权服务器的IP,禁止使用机器名和%
- 禁止使用insert、delete或update语句进行用户权限的设置,清理和修改操作
- 禁止使用old_password进行加密,数据库参数old_passwords必须置为OFF
- 禁止使用全文检索功能
- 禁止使用事件(EVENT)功能
- 禁止在mysql中使用用户自定义变量
- 不推荐使用外键,临时表,视图,自定义函数,存储过程以及触发器
- SELECT语句必须指定具体字段名称,禁止写成*
- SELECT语句禁止使用UNION,推荐使用UNION ALL
- INSERT语句必须指定具体的字段名称
- 禁止写成多层子查询嵌套的SQL语句,推荐改写成表顺序连接的格式
- 禁止在INSERT|UPDATE|DELETE|REPLACE语句中进行多表连接操作
- WHERE 子句中禁止只使用全模糊的LIKE条件进行查找,必须有其他查询条件
- 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的一些规范的更多相关文章
- MySQL建表规范与常见问题
一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用InnoDB存储引擎. 存储精确 ...
- Mysql手册—基本规范与数据类型
第十章 本章主要介绍了一些语法规范,如 对于表,函数,字段,在Linux上大小写敏感,Windows和MacOS上却不敏感: Mysql是如何识别函数的及用户在定义自定义函数时命名要求:通过 ...
- mysql数据库开发规范
对规范的遵守可用二八原则,不要教条.为满足实际需求 可忽视部分规范. 1.索引规范 *目标 |--利用最小的索引成本找到需要的行记录 *原则 |--做前缀匹配 |--选择区分度高的列做前缀索引列 |- ...
- MySQL数据库开发规范知识点
前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...
- 【转】拍拍网2015年mysql最新开发规范
1.命名规范 (1)库名.表名.字段名必须使用小写字母,并采用下划线分割. (2)库名.表名.字段名禁止超过32个字符. (3)库名.表名.字段名必须见名知意.命名与业务.产品线等相关联. (4)库名 ...
- MySQL之开发规范
一..数据库命名规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3.数据库对象的命 ...
- MySQL建表规范
一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省 ...
- Mysql推荐使用规范
一.基础规范 使用InnoDB存储引擎支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 推荐使用utf8mb4字符集无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 ...
- Mysql推荐使用规范(转)
一:基础规范 1.使用InnoDB存储引擎 支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 2.推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部 ...
- Mysql 数据库开发规范
设计范式参看,DDL与DDL 库表基础规范 1.注释 每个表要添加注释,对 status 型需指明主要值的含义,如”0-离线,1-在线” 2.表的字段数量 单表字段数一般考虑上限为 30左右,再多的话 ...
随机推荐
- Ubuntu下搭建FTP服务器图解
在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的 ...
- 3294 [SCOI2016]背单词
题目描述 Lweb 面对如山的英语单词,陷入了深深的沉思,”我怎么样才能快点学完,然后去玩三国杀呢?“.这时候睿智的凤老师从远处飘来,他送给了 Lweb 一本计划册和一大缸泡椒,他的计划册是长这样的: ...
- ans_rproxy 说明
ans_rproxy 说明 网络IP资源分配 Windows2008R2: IP: 172.16.204.50/24 Gateway: 172.16.204.1 ...
- SCOI2014极水的题解- -
话说SCOI都考了1个月了,终于拿出决心把题解补完了,但都说了是极水的题解,大家就看着玩吧- - DAY1 T1:目标是找最长不降子序列,先就有一个比较显然的结论,就是假如我们要拔高区间[L, R], ...
- 【bzoj4002】有意义的字符串
Portal --> bzoj4002 Solution 虽然说这题有点强行但是感觉还是挺妙的,给你通项让你反推数列的这种==有点毒 补档时间 首先有一个东西叫做特征方程,我们可以 ...
- LOJ #6037.「雅礼集训 2017 Day4」猜数列 状压dp
这个题的搜索可以打到48分…… #include <cstdio> #include <cstring> #include <algorithm> ; bool m ...
- CVPR 2014 ObjectnessBING 原文翻译
BING: Binarized Normed Gradients for Objectness Estimation at 300fps Ming-Ming Cheng, Ziming Zhang, ...
- [CodeForces]String Reconstruction
http://codeforces.com/contest/828/problem/C 并查集的神奇应用. #include<bits/stdc++.h> using namespace ...
- mongodb replica set 和 nodejs中使用mongoose连接replica
一.mongodb replication 介绍 官网上的第一句话就是Replication is the process of synchronizing data across multiple ...
- cxf开发webservice服务器+客户端(各种类型的参数传递返回)
开发环境:eclipse3.7+jdk1.6.0_29+tomcat6.0.37 XFire搭建webservice: http://www.cnblogs.com/gavinYang/p/35253 ...