整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

数据库,MySQL,字符集(Character Set)和校对规则(Collation)

概念说明

1、字符集( Set)

定义了字符和二进制的对应关系,为字符分配了唯一的编号。

2、字符编码( )

字集码,规定了字符的编号存储到计算机中。如:ASCII、IOS-8859-1、GB2312、GBK,既表示了字符集又表示了对应的字符编码。

3、校对规则()

也可称为排序规则,在同一个字符集内字符之间的比较规则,字符集和校对规则是一对多的关系,每个字符集都有一个默认的校对规则,字符集和校对规则相辅相成,相互依赖关联。

4、总结

字符集定义了MySQL存储字符串的方式,校对规则定义了MySQL比较字符串的方式。

字符集( Set)

1、查询支持的字符集以及默认的校对规则

show set;

sql数据库命名规范_sql数据库命名规则_sql命名表

2、查询当前MySQL使用的字符集

show like '%%'

sql数据库命名规则_sql命名表_sql数据库命名规范

sql数据库命名规范_sql数据库命名规则_sql命名表

3、MySQL字符编码转换原理

sql数据库命名规范_sql数据库命名规则_sql命名表

①MySQL Server收到请求时将请求数据从转换为tion。

②进行内部操作前将请求数据从tion转换为内部操作字符集。

校对规则()

1、查询支付的校对规则

show ;

2、查询当前MySQL使用的校对规则

show like '%%';

sql数据库命名规范_sql命名表_sql数据库命名规则

3、校对规则特征

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

②每个字符集有一个默认校对规则。

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

4、说明总结

系统使用utf8字符集,若使用校对规则执行SQL查询时区分大小写,使用不区分大小写(默认的utf8字符集对应的校对规则是)。

实战常用

sql命名表_sql数据库命名规则_sql数据库命名规范

1、创建数据库指定编码及校对规则

create database demo1 character set=gbk collate=gbk_bin;  

2、创建表指定编码及校对规则

create table demo2(
	id int,
	name varchar(20)
) 
character set=gbk,collate=gbk_bin; 

3、创建表字段指定编码及校对规则

create table demo3(
	id int,
	name varchar(20),
	email varchar(100) collate gbk_bin,
	mobile varchar(100) collate utf8mb4_unicode_ci
) 
character set=gbk,collate=gbk_bin;