1、字符集概述
大家都知道,计算机只能识别二进制码,为了让计算机能处理文字,人们给每个文字进行编码,这个编码就是计算机字符集的由来。
字符集是多个字符的集合,而字符是各种文字、符号和编码的总称。MySQL提供了字符集支持,可以使用各种字符集存储数据。可以在服务器,数据库,表和列级别指定字符集。
MySQL常用字符集
MySQL排序规则后缀
2、MySQL的字符集和排序规则
字符集:用来定义MySQL存储字符串的方式
排序规则:用来定义比较字符串的方式。
字符集和排序规则是一对多的关系。
在同一服务器,同一数据库甚至同一表中混合使用具有不同字符集或排序规则的字符串
3、MySQL字符集的设置
服务器字符集和排序规则
服务器字符集和排序规则,可以在MySQL的配置文件汇中设置。
在my.cnf中设置
[mysql] character_set_server=utf8
查询当前服务器的字符集和排序规则
show variables like 'character_set_server'; show variables like 'collation_server';
数据库字符集和排序规则
数据库字符集和排序规则可以在创建数据库的时候指定,也可以在创建完数据库后通过‘alter database’命令进行修改。如果数据库里已经存在数据,则以前的数据还是按照久的字符集进行存储,新数据按照新的字符集存放。
设置数据库字符集和排序规则
设置数据库字符集和排序规则
查询当前数据库的字符集和排序规则
show variables like 'character_set_database'; show variables like 'collation_ database';
MySQL设置数据库字符集和排序规则的规则如下:
如果指定了字符集和排序规则,则使用指定的字符集和排序规则
如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则
如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集
如果未指定字符集和排序规则,则使用服务器字符集和服务器排序规则。
表字符集和排序规则
表的字符集和排序规则在创建表的时候指定,也可以通过alter table命令进行修改,如果表中已有数据,修改字符集对原有数据没有影响。
设置表字符集和排序规则
设置表字符集和排序规则
查询当前表的字符集和排序规则
show create table
MySQL设置表字符集和排序规则的规则如下:
如果指定了字符集和排序规则,则使用指定的字符集和排序规则
如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则
如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集
如果未指定字符集和排序规则,则使用数据库字符集和服务器排序规则。
列字符集和排序规则
每个“ 字符 ”列(即,类型列 CHAR, VARCHAR中, TEXT类型)都有字符集和列排序规则。列定义语法,CREATE TABLE并 ALTER TABLE具有用于指定列字符集和排序规则的可选子句:
设置列字符集和排序规则
查询当前列的字符集和排序规则
show create table
MySQL设置列字符集和排序规则的规则如下:
如果指定了字符集和排序规则,则使用指定的字符集和排序规则
如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则
如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集
如果未指定字符集和排序规则,则使用表字符集和服务器排序规则。
4、MySQL字符集修改
修改带有历史数据的数据库的字符集,步骤如下:
导出表结构
手工修改导出文件的字符集为新的字符集
导出所有记录
修改数据文件的字符集
创建新的数据库
利用导出的文件建表
利用导出的文件导入数据
-
数据库
+关注
关注
7文章
3767浏览量
64278 -
MySQL
+关注
关注
1文章
802浏览量
26448
发布评论请先 登录
相关推荐
评论