目录
字符集和校对顺序
使用字符集和校对顺序
字符集和校对顺序
数据库表被用来存储和检索数据。不同的语言和字符集需要以不同的方式存储和检索。因此,MySQL需要适应不同的字符集(不同的字母和字符),适应不同的排序和检索数据的方法。 字符集为字母和符号的集合; 编码为某个字符集成员的内部表示; 校对为规定字符如何比较的指令。
使用字符集和校对顺序
通常系统管理在安装时定义一个默认的字符集和校对。此外,也可以在创建数据库时,指定默认的字符集和校对。为了确定所用的字符集和校对,可以使用以下语句: 实际上,字符集很少是服务器范围(甚至数据库范围)的设置。不同的表,甚至不同的列都可能需要不同的字符集,而且两者都可以在创建表时指定。 为了给表指定字符集和校对,可使用带子句的CREATE TABLE 如果指定CHARACTER SET和COLLATE两者,则使用这些值。 如果只指定CHARACTER SET,则使用此字符集及其默认的校对(如SHOW CHARACTER SET的结果中所示)。 如果既不指定CHARACTER SET,也不指定COLLATE,则使用数据库默认。 除了能指定字符集和校对的表范围外,MySQL还允许对每个列设置它们的字符集和校对 如果你需要用与创建表时不同的校对顺序排序特定的SELECT语句,可以在SELECT语句自身中进行: 最后,值得注意的是,如果绝对需要,串可以在字符集之间进行转换。为此,使用Cast()或Convert()函数。(数据类型转换可以通过CAST()和CONVERT()函数来实现)