mysql ddl注意_MYSQL-DDL注意事项

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 会在字符判断中会被当做一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值