1 / 22
文档名称:

MySQL数据库SQL开发手册.docx

格式:docx   大小:101KB   页数:22页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MySQL数据库SQL开发手册.docx

上传人:不忘初心 2019/1/31 文件大小:101 KB

下载得到文件列表

MySQL数据库SQL开发手册.docx

文档介绍

文档介绍:MySQL数据库SQL开发手册目录一、 编写目的 4(一) 简介 4(二) 范围 4(三) 术语和定义 4二、 创建规范 5(一) 通用 5(二) 兼容性规约 5(三) 建表规约 6(四) 主键规约 7(五) 索引规约 7三、 开发规范 9(一) 通用 9(二) Insert 9(三) Delete 10(四) Update 10(五) Select 10(六) From 11(七) Where 11(八) Groupby 11(九) Having 12(十) Orderby 12(十一) Limit 12四、 优化规范 13(一) 通用 13(二) Insert 14(三) Update 14(四) Delete 14(五) Join 14(六) or 14(七) Groupby 15(八) Orderby 15(九) Limit 15(十) 子查询 16五、 附录 17(一) A保留字 17编写目的简介针对关系型数据库MySQL的相关特性,拟定的相关开发过程的规范,其旨在通过该规范的约束和建议,使开发人员可以在他们所编写的代码中保持统一正确的风格,提供代码的可读性以及减少出现错误的几率。范围本规范仅适用于环境MySQL数据库以及其对应的SQL脚本语言。术语和定义本规范采用以下的术语描述:★强制:必须遵从使用的原则。★规则:如无特殊情况,应该遵守的原则。★推荐:建议遵守的原则。★参考:开发人员可以参考了解的原则。创建规范通用【强制】表必须有主键【强制】禁用外键【强制】禁用视图【强制】禁用分区表【强制】禁用使用MyISAM引擎【规则】日志类表:不入库,存成文件;入库,明确生命周期,保留业务必须数据,定期清理。【推荐】库名与应用名称尽量一致,长度控制在15个字符以内。【参考】合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度。正例:人的年龄用unsignedtinyint(范围0-255,人的寿命不会超过255岁);海龟就必须是smallint,但如果是太阳的年龄,就必须是int;如果是所有恒星的年龄都加起来,那么就必须使用bigint。兼容性规约【强制】禁用触发器、存储过程、自定义函数、EVENTS【规则】禁止使用hint【强制】禁用数据库保留字,如desc、range、match、delayed等,详见附录A保留字【强制】禁止使用字段属性defaultcurrent_timestamponupdatecurrent_timestamp,该功能直接在程序中实现。【强制】禁止使用encryption、key_block_size、avg_row_length、max_rows、min_rows等表的属性建表规约【强制】所有业务表必须使用Innodb引擎【强制】字符集和应用层必须保持一致UTF8【强制】必须显式指定engine和charset【强制】表和字段应该有必要的注释【强制】创建表时,必须创建主键【强制】不同表之间的相同字段或者关联字段,字段类型要保持一致【强制】临时表、备份表、历史表要使用后缀tmp、bak、his字段标明,并提供数据生命周期【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint(1表示是,0表示否)。说明:任何字段如果为非负数,必须是unsigned。【强制】表名、字段名必须使用小写字母或数字,长度限制在15个字符以内;禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。正例:getter_admin,task_config,level3_name反例:GetterAdmin,taskConfig,level_3_name【强制】小数类型为decimal,禁止使用float和double。说明:float和double在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不正确的结果。如果存储的数据范围超过decimal的范围,建议将数据拆成整数和小数分开存储。【强制】表必备三字段:id,xxx_create,xxx_modified。说明:其中id为主键,类型为unsignedbigint,xxx_create,xxx_modified的类型均为datetime类型,分别记录该条数据的创建时间、修改时间。【强制】如果存储的字符串长度几乎相等,使用CHAR定长字符串类型。【强制】varchar是可变长字符串,不预先分配存储空间,长度不要超过255,如果存储长度大于此值,建议不入库直接存成文件【规则】禁止在数据库中使用大字段(blob/text)【规则】单表字段数上限不得超过30个【推荐】表行数不允许超过500W,超过500W时,推荐分表或冷数据下线。【推荐】