0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MySQL字符集的设置修改和排序规则

汽车玩家 来源:数据库的那些事 作者:数据库的那些事 2020-04-16 17:10 次阅读

1、字符集概述

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

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

MySQL字符集的设置修改和排序规则

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

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

MySQL字符集的设置修改和排序规则

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

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

show variables like 'character_set_database';
show variables like 'collation_ database';

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

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

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

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

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

表字符集和排序规则

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

设置表字符集和排序规则

MySQL字符集的设置修改和排序规则

设置表字符集和排序规则

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

show create table

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

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

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

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

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

列字符集和排序规则

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

MySQL字符集的设置修改和排序规则

设置列字符集和排序规则

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

show create table

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

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

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

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

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

4、MySQL字符集修改

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

导出表结构

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

导出所有记录

修改数据文件的字符集

创建新的数据库

利用导出的文件建表

利用导出的文件导入数据

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3640

    浏览量

    63742
  • MySQL
    +关注

    关注

    1

    文章

    776

    浏览量

    26095
收藏 人收藏

    评论

    相关推荐

    Altium Designer电气规则设置后无报错原因解析

    可是很多时候我们明明是在规则编辑器里面设置规则的,为什么在我们规则之外的时候它竟然不报错呢?是哪里设置不对吗?
    发表于 03-28 09:35 908次阅读
    Altium Designer电气<b class='flag-5'>规则</b><b class='flag-5'>设置</b>后无报错原因解析

    pcb走线的规则设置方法介绍

    随着电子产品的迅速发展,PCB(Printed Circuit Board)在电子设计中扮演着重要的角色。设计PCB走线时,合理设置规则是确保电路在安全、稳定、高效工作的基础。本文将详细介绍PCB
    的头像 发表于 01-09 10:45 1310次阅读

    mysql怎么新建一个数据库

    : ``` CREATE DATABASE database_name [CHARACTER SET charset_name] [COLLATE collation_name]; ``` `CHARACTER SET`参数用于指定数据库的字符集,`COLLATE`参数用于指定数据库的
    的头像 发表于 12-28 10:01 623次阅读

    ad覆铜规则怎么设置距离

    AD覆铜规则是指在PCB板上通过化学方法将铜层覆盖在绝缘层上,用于实现电路连接和信号传输。距离是指AD覆铜之间的间距,通常也称为覆铜间距。合理的AD覆铜规则设置能够保证电路的正常工作和可靠性,同时
    的头像 发表于 12-20 10:46 2633次阅读

    oracle和mysql语法区别大吗

    : Oracle支持更多的数据类型,包括数值型、字符型、日期型、二进制型、大型对象(LOB)等。而MySQL的数据类型相对较少,例如,MySQL不支持日期时间戳(TIMESTAMP)以外的任何日期时间类型
    的头像 发表于 12-06 10:26 620次阅读

    MySQL替换字符串函数REPLACE

    MySQL是目前非常流行的开源数据库管理系统之一,它具有强大的功能和性能。其中之一的字符串函数REPLACE,可以用于替换字符串中的指定字符字符
    的头像 发表于 11-30 10:44 515次阅读

    mysql字符串包含某个字符

    MySQL是一种开源的关系型数据库管理系统,被广泛用于构建Web应用程序和其他大型数据驱动的应用。在进行MySQL数据库查询时,经常需要使用字符串包含操作,即判断一个字符串是否包含另一
    的头像 发表于 11-16 14:52 1600次阅读

    mysql数据库默认字符编码是什么

    MySQL数据库的默认字符编码是utf8mb4。下面我将详细介绍MySQL数据库的字符编码相关知识,并展开讨论相应的配置、应用和注意事项。 一、My
    的头像 发表于 11-16 14:50 949次阅读

    mysql8.0默认字符集是什么

    支持存储和处理 Unicode 字符,包括 emoji 表情符号。 字符集是用于定义数据库中存储的字符编码规则的集合。它们指定了可以在数据库中使用哪些
    的头像 发表于 11-16 14:48 1392次阅读

    mysql如何实现主从复制的具体流程

    。 配置主服务器 (1) 在主服务器上修改MySQL的配置文件my.cnf,打开二进制日志功能,将参数 log_bin 设置为ON,并指定二进制日志文件的名称和路径,例如设置 log_
    的头像 发表于 11-16 14:10 440次阅读

    字符集和字库有什么联系?

    字符集和字库 是同一个对象吗
    发表于 10-12 06:29

    MySQL巨坑:永远不要在MySQL中使用UTF-8!!

    当然,他们并没有对新的字符集广而告之(可能是因为这个bug让他们觉得很尴尬),以致于现在网络上仍然在建议开发者使用“utf8”,但这些建议都是错误的。
    的头像 发表于 08-21 14:47 313次阅读

    pcb规则设置主要有哪些

    分类的创建和差分规则设置:PCB上存在一对USB差分线,首先需要创建差分类,然后针对这对差分线来设置差分规则
    发表于 08-01 10:06 2926次阅读
    pcb<b class='flag-5'>规则</b><b class='flag-5'>设置</b>主要有哪些

    一文详解字符集编码

    软件开发人员经常遇到“中文乱码”、“软件不能显示日文”等类似问题。真相只有一个——对字符集编码没有一个系统的认知。
    的头像 发表于 07-18 09:57 526次阅读
    一文详解<b class='flag-5'>字符集</b>编码

    FPGA排序-冒泡排序介绍

    排序算法是图像处理中经常使用一种算法,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、归
    发表于 07-17 10:12 790次阅读
    FPGA<b class='flag-5'>排序</b>-冒泡<b class='flag-5'>排序</b>介绍