创建数据库时的三要素

现在各种基于MySQL数据库的开源框架非常多,基本上大家都是先安装再二次开发。

在安装开源框架的时候,需要先在MySQL里面新建一个数据库,新建数据库的时候需要确定三个重要的信息:
file

  1. Database name
  2. Database charset
  3. Database collation

这个三个信息中文直译和对应的意思分别是:

  1. Database name
    数据库名称。就是新建的这个数据库的名字是什么。
  2. Database charset
    数据库字符集。这个数据库使用哪种字符集存储数据库。对于中文项目或者可能包含非英语的国际语言的项目而言,一般都会选择UTF-8,这个基本上有点开发经验的人都应该知道。
  3. Database collation
    数据库整理规则( 排序规则 )。这个选择起来可能就有些晕了,我们来看看可选项有哪些?
    file
    在众多选项中,多数人应该会在utf8_bin、utf8_general_ci、utf8_unicode_ci三者之间由于不定。

选哪个?

要想确定选哪个,其实看看三者的英文全称就能略知一二了。

  • utf8_bin是utf8 binary的缩写。该种排序方式区分字母大小写。
  • utf8_general_ci是utf8 general case insensitive的缩写。该种方式不区分字母大小写,排序效率高,且对绝大多数语言的字符能够做到有效的排序。
  • utf8_unicode_ci是utf8_unicode case insensitive的缩写。不区分大小写,排序效率较utf8_general_ci而言稍低,但对语言字符排序的支持比utf8_general_ci更好。

所以

一般情况下,选择utf8_general_ci就可以了。这也是目前绝大多数项目的首选。
如果遇到某些涉及大量非主流外文的项目的,可以考虑使用utf8_unicode_ci编码。
utf8_bin由于区分大小写,除非有特殊的要求,一般不建议使用。

发表评论

邮箱地址不会被公开。 必填项已用*标注