mysql 修改排序编码_MySQL字符集的设置修改和排序规则

1、字符集概述

大家都知道,计算机只能识别二进制码,为了让计算机能处理文字,人们给每个文字进行编码,这个编码就是计算机字符集的由来。

字符集是多个字符的集合,而字符是各种文字、符号和编码的总称。MySQL提供了字符集支持,可以使用各种字符集存储数据。可以在服务器,数据库,表和列级别指定字符集。

c628ed21b6e115b6f0bbab6ee39f33a1.png

MySQL常用字符集

b541586320b5585759ce6cf41e7c6f4a.png

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’命令进行修改。如果数据库里已经存在数据,则以前的数据还是按照久的字符集进行存储,新数据按照新的字符集存放。

设置数据库字符集和排序规则

ffbbd8f600a213fb5be86591790f458e.png

设置数据库字符集和排序规则

查询当前数据库的字符集和排序规则

show variables like 'character_set_database';

show variables like 'collation_ database';

MySQL设置数据库字符集和排序规则的规则如下:

如果指定了字符集和排序规则,则使用指定的字符集和排序规则

如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则

如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集

如果未指定字符集和排序规则,则使用服务器字符集和服务器排序规则。

表字符集和排序规则

表的字符集和排序规则在创建表的时候指定,也可以通过alter table命令进行修改,如果表中已有数据,修改字符集对原有数据没有影响。

设置表字符集和排序规则

b67933f00b5b555e79ba2ad348cd0727.png

设置表字符集和排序规则

查询当前表的字符集和排序规则

show create table

MySQL设置表字符集和排序规则的规则如下:

如果指定了字符集和排序规则,则使用指定的字符集和排序规则

如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则

如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集

如果未指定字符集和排序规则,则使用数据库字符集和服务器排序规则。

列字符集和排序规则

每个“ 字符 ”列(即,类型列 CHAR, VARCHAR中, TEXT类型)都有字符集和列排序规则。列定义语法,CREATE TABLE并 ALTER TABLE具有用于指定列字符集和排序规则的可选子句:

199d21307d9265db0f5deb7b7c0e4cc5.png

设置列字符集和排序规则

查询当前列的字符集和排序规则

show create table

MySQL设置列字符集和排序规则的规则如下:

如果指定了字符集和排序规则,则使用指定的字符集和排序规则

如果指定了字符集未指定排序规则,则使用指定字符集其默认排序规则

如果指定了排序规则但未指定字符集,则使用与排序规则相关的字符集

如果未指定字符集和排序规则,则使用表字符集和服务器排序规则。

4、MySQL字符集修改

修改带有历史数据的数据库的字符集,步骤如下:

导出表结构

手工修改导出文件的字符集为新的字符集

导出所有记录

修改数据文件的字符集

创建新的数据库

利用导出的文件建表

利用导出的文件导入数据

打开APP阅读更多精彩内容

点击阅读全文

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值