mysql 全球化和本地化(字符集和校对的设置)

mysql 全球化和本地化(字符集和校对的设置)

全球化和本地化

字符集为字母和符号的集合;
编码为某个字符集成员的内部表示;
校对为规定字符如何比较的指令。(也就是 字符比较如何比较大小
校对在对用ORDER BY子句检索出来的数据排序时起重要的作用

使用何种字符集和校对的决定在服务器、数据库和表级进行。

显示所有可用的字符集以及每个字符集的描述和默认校对:

SHOW CHARACTER SET;

显示所有可用的校对,以及它们适用的字符集:

SHOW COLLATION;

通常系统管理在安装时定义一个默认的字符集和校对。
也可以在创建数据库时,指定默认的字符集和校对。
为了确定所用的字符集和校对,可以使用以下语句:

SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation%';

在创建数据库时,指定默认的字符集和校对

创建表时,给表指定字符集和校对

CREATE TABLE table_name(
	...
)DEFAULT CHARACTER SET hebrew
 COLLATE hebrew_general_ci;
# 指定一个字符集和一个校对顺序。

创建表时,给列指定字符集和校对

CREATE TABLE table_name(
	col_name1 VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_general_ci
    ...
)DEFAULT CHARACTER SET hebrew
 COLLATE hebrew_general_ci;
# 指定一个字符集和一个校对顺序。

指定字符集和校对的规则
 如果指定CHARACTER SET和COLLATE两者,则使用这些值。
 如果只指定CHARACTER SET,则使用此字符集及其默认的校对(如SHOW CHARACTER SET的结果中所示)。
 如果既不指定CHARACTER SET,也不指定COLLATE,则使用数据库默认。


COLLATE子句,还可以用于ORDER BY,GROUP BY,HAVING,函数,别名等。

# 为了区分大小写的校对
SELECT * FROM table_name ORDER BY col_1, col_2 COLLATE Latin_general_cs;

如果绝对需要,串可以在字符集之间进行转换。为此,使用Cast()Convert()函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值