赞
踩
DDL的基础语法及设计工具
数据定义语言:它定义了数据库的结构 和 数据表的结构。
在DDL中,我们常用的功能是增删改,分别对应的命令是
CREATE、DROP和ALTER。
需要注意的是,在执行DDL的时候,不需要COMMIT,就可以完成执行任务。
我们将字符集设置为utf8,排序规则为utf8_general_ci,行格式为Dynamic,就可以定义数据表的最后约定了:
ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
排序规则:
utf8_unicode_ci和utf8_general_ci对中英文来说没有实质的差别。
utf8_general_ci: 校对速度快,但准确度稍差。
utf8_unicode_ci: 准确度高,但校对速度稍慢。
若数据库中有德语、法语或者俄语需求,需使用utf8_unicode_ci。
其他情况用utf8_general_ci即可。
Note:
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。
格式:
fixed :静态表
在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,
就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。
dynamic :动态表
若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynamic,
就是说每条记录所占用的字节是动态的。其优点节省空间,缺点增加读取的时间开销。
所以,做搜索查询量大的表一般都以空间来换取时间,设计成静态表。
排序规则为
utf8_unicode_ci和utf8_general_ci对中英文来说没有实质的差别。
utf8_general_ci: 校对速度快,但准确度稍差。
utf8_unicode_ci: 准确度高,但校对速度稍慢。
若数据库中有德语、法语或者俄语需求,需使用utf8_unicode_ci。
其他情况用utf8_general_ci即可。
Note:
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。