哈喽大家好,本次是MySQL数据库原理系列第九期
⭐本期内容:字符集与校对集
系列专栏:MySQL数据库
还请大家多多指教呀~
欢迎大佬指正,一起学习,一起加油!
字符指计算机中保存的各种文字和符号,包括各种国家的文字、标点符号、图形符号、数字等。由于计算机采用二进制保存数据,用户输入的字符将会按照一定的规则转换成二进制后保存,这个过程就是字符编码,将一系列字符的编码规则组合起来就形成了字符集。
输入
show character set;
可以查看可用字符集。
Charset
:字符集名称
Description
:描述信息
Default collation
:默认校对集
Maxlen
:单字符的最大长度
字符集 | 单字符最大长度 | 支持的语言 |
---|---|---|
latin1 | 1字节 | 西欧字符、希腊字符等 |
gbk | 2字节 | 简体和繁体中文、日文、韩文等 |
utf8 | 3字节 | 世界上大部分国家的文字 |
单字符占用的存储空间越多,所支持的语言越多
MySQL中提供了许多校对集,用于为不同字符集指定比较和排序规则。校对集的名称由“_
”分隔的3部分组成,开头是对应的字符集,中间是国家名或general,结尾是ci、cs或bin
。ci
表示不区分大小写,cs
表示区分大小写,bin
表示以二进制方式比较。
通过
show collation;
可以查看MySQL可用校对集。
Collation
:校对集名称
Charset:对应的字符集
Id:校对集id
Default:是否为对应字符集的默认校对集
Complied:是否已经编译
Sortlen`:排序的内存需求量
输入如下命令可以查看与字符集相关的变量。
在创建数据库时设定字符集和校对集的语法如下:
[default] character set [=] charset_name
[default] collate [=] collation_name
character set
用于指定字符集,collate
用于指定校对集。如果只指定一个,那么另一个将使用默认的方式。
数据表的字符集与校对集在表选项中设定,语法格式如下:
[default] character set [=] charset_name
[default] collate [=] collation_name
如果没有为数据表指定字符集,则自动使用数据库的字符集。
字段的字符集与校对集在字段属性中设定,语法格式如下:
[character set charset_name] [collate collation_name]
如果没有为字段设定字符集与校对集,则会自动使用数据表的字符集与校对集。
以上就是今天的学习内容啦~
如果有兴趣的话可以订阅专栏,持续更新呢~
咱们下期再见~