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

    文章

    3767

    浏览量

    64278
  • MySQL
    +关注

    关注

    1

    文章

    802

    浏览量

    26448
收藏 人收藏

    评论

    相关推荐

    网关的设置规则

    网关的设置规则涉及多个方面,包括硬件安装、网络连接、基本配置、高级配置以及安全设置等。以下是一篇关于网关设置规则的详细指南,旨在帮助用户正确
    的头像 发表于 09-30 11:48 1252次阅读

    AD9元器件间距规则如何设置

    在Altium Designer 9(简称AD9)中设置元器件间距规则,主要是为了确保PCB(Printed Circuit Board,印刷电路板)上的元器件之间保持适当的距离,以避免短路、干扰或
    的头像 发表于 09-02 15:26 2696次阅读

    Jtti:MySQL初始化操作如何设置root密码

    MySQL初始化时,可以通过以下步骤设置root密码: 打开命令行工具,使用以下命令启动MySQL服务:   sudo service mysql start   使用以下命令登录
    的头像 发表于 08-08 16:45 316次阅读

    华纳云:如何修改MySQL的默认端口

    更改MySQL的默认端口。 理解MySQL配置文件 MySQL的配置文件是控制服务器设置的关键。在不同的操作系统中,这个文件可能位于不同的位置: Linux: /etc/
    的头像 发表于 07-22 14:56 281次阅读
    华纳云:如何<b class='flag-5'>修改</b><b class='flag-5'>MySQL</b>的默认端口

    MySQL的整体逻辑架构

    支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一。如果能够理解MySQL Server与存储引擎之间是怎样通过API交互的,将大大有利于理解MySQL的核心
    的头像 发表于 04-30 11:14 427次阅读
    <b class='flag-5'>MySQL</b>的整体逻辑架构

    MySQL忘记root密码解决方案

    mysql登录密码为password()算法加密,解密成本太高,以下为通用方案; 原理:mysql提供了特殊启动方式,即跳过权限表验证,启动后,登录不需要提供密码; 登录后,即可修改
    的头像 发表于 04-23 16:08 656次阅读

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

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

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

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

    mysql怎么新建一个数据库

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

    mysql密码忘了怎么重置

    mysql密码忘了怎么重置  MySQL是一种开源的关系型数据库管理系统,密码用于保护数据库的安全性和保密性。如果你忘记了MySQL的密码,可以通过以下几种方法进行重置。 方法一:使用MySQ
    的头像 发表于 12-27 16:51 6408次阅读

    ad覆铜规则怎么设置距离

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

    oracle和mysql语法区别大吗

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

    php的mysql无法启动

    MySQL是一种常用的关系型数据库管理系统,而PHP是一种广泛应用于服务器端的脚本语言。在使用PHP开发网站或应用时,经常会碰到MySQL无法启动的问题。本文将详细介绍解决MySQL无法启动的方法
    的头像 发表于 12-04 15:59 1463次阅读

    MySQL替换字符串函数REPLACE

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

    mysql中replace的用法

    MySQL中,REPLACE是用于替换字符串或者更新特定记录的关键字。它可以用于单个表或者多个表,允许你在已有的数据中查找指定的字符串并替换为新的字符串。REPLACE非常强大,可以
    的头像 发表于 11-30 10:35 1743次阅读