A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1黑马币






在Android开发中,为了保存持久的具有结构的数据,就要使用到数据库。这次我们来探讨一下如何创建一个指定字符集为“UTF-8”且具有比较规则的数据库。看看深圳的师生在问答网上是如何探讨这个问题的:














学员问题:

如何创建一个数据库,指定字符集为utf8,且具有比较规则

老师回答:

校对规则通过关键字collate指定,比如创建数据库d1,指定字符集为utf8,校对规则为utf8_bin
CREATE DATABASE d1 DEFAULT CHARACTER SET utf8  COLLATE utf8_bin;

大家在使用mysql过程中,可能会遇到类似以下的问题:
root@chuck 07:42:00>select * from test where c1 like 'ab%';
+-----+
| c1 |
+-----+
| abc |
| ABD |
+-----+
模糊匹配 ab%,结果以AB开头的字符串也出现在结果集中,大家很自然的认为是大小写敏感的问题。那么mysql中大小写敏感就是通过校对规则进行控制的。
那么字符集和校对规则的关系是什么呢?

字符集(charset):是一套符号和编码。
校对规则(collation):是在字符集内用于比较字符的一套规则,比如定义'A'<'B'这样的关系的规则。不同collation可以实现不同的比较规则,如'A'='a'在有的规则中成立,而有的不成立;进而说,就是有的规则区分大小写,而有的无视。
每个字符集有一个或多个校对规则,并且每个校对规则只能属于一个字符集。
具体可以参考博客 http://www.tsingpost.com/index.php/archives/543/



深圳校区除了全国独有问答网,就业老师面试服务,还有更多神秘惊喜等着你,咨询热线:0755-66689855


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马