Mysql字符集图解

本文介绍了MySQL中字符集的概念及其显示过程,并详细解释了不同级别的字符集变量如何影响数据处理,包括服务器、数据库和表层面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概念

字符集:编码与字符一一对应关系的集合。以下图片中字符集缩写为CS。

校对:某一字符集内部字符的比较规则。

校对规则一般有这些特征:

·         两个不同的字符集不能有相同的校对规则。

·         每个字符集有一个默认校对规则 。例如,latin1默认校对规则是latin1_swedish_ci。

·         存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。

 

二、字符显示过程

三、非连接的字符集变量

以下介绍的变量跟具体连接无关。MySQL在处理字符时具体使用哪个字符集依据下述优先级,从字段级到服务器级。如果高优先级的没有明确指定使用什么字符集,则用次优先级的字符集。

1.服务器字符集(优先级最低)

当启动mysql服务 时,根据使用的初始选项设置或者配置文件来确定服务器字符集和校对规则。可设置的相关系统变量为character_set_servercollation_server


2.数据库字符集(优先级低)

每一个数据库有一个数据库字符集和一个数据库校对规则,它不能够为空。

MySQL这样选择数据库字符集和数据库校对规则:

·         如果指定了CHARACTER SET X和COLLATE Y,那么采用字符集X 和校对规则Y

·         如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默认校对规则。

·         否则,采用服务器字符集和服务器校对规则。

如果在CREATE TABLE语句中没有指定表字符集和校对规则,则使用数据库字符集和校对规则作为默认值。

 

3.待续...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值