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

    文章

    3993

    浏览量

    67736
  • MySQL
    +关注

    关注

    1

    文章

    897

    浏览量

    29233
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Coremark测试分析与性能优化思路

    1. 项目说明文档: coremark github项目(https://github.com/eembc/coremark) 2. 配置和使用 通过设置coremark运行开关,测试可以完成
    发表于 10-24 08:21

    如何给rt-thread studio 2.2.8 ide工具安装支持其他字符编码,如gb2312等?

    目前使用的rt-thread studio版本为2.2.8,当前支持的字符集编码如下 由于移植的工程,之前的文件编码格式为gb2312的,因此在此ide中中文显示为乱码 请教如何给ide添加新的字符集支持。
    发表于 09-29 07:41

    MySQL数据备份与恢复策略

    数据是企业的核心资产,MySQL作为主流的关系型数据库管理系统,其数据的安全性和可靠性至关重要。本文将深入探讨MySQL的数据备份策略、常用备份工具以及数据恢复的最佳实践,帮助运维工程师构建完善的数据保护体系。
    的头像 发表于 07-14 11:11 465次阅读

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL的企业级部署、优化、维护技能至关重要。本文将从实战角度出发,系统阐述MySQL在企业环
    的头像 发表于 07-09 09:50 509次阅读

    网课回放 I 升级版“一站式” PCB 设计第四期:规则设置

    网课回放 I 升级版“一站式” PCB 设计第四期:规则设置
    的头像 发表于 06-06 18:58 538次阅读
    网课回放 I 升级版“一站式” PCB 设计第四期:<b class='flag-5'>规则</b><b class='flag-5'>设置</b>

    Altium Designer中PCB设计规则设置

    在使用 Altium Designer 进行PCB设计时,除了电气间距(Clearance)等基础规则外, 导线宽度、阻焊层、内电层连接、铜皮敷设等规则也同样重要 。这些设置不仅影响布线效率,还决定了成品板的可制造性与可靠性。
    的头像 发表于 04-17 13:54 7044次阅读
    Altium Designer中PCB设计<b class='flag-5'>规则</b><b class='flag-5'>设置</b>

    如何在特定区域设置线宽、线距规则

    “  今天偷个懒,分享一个 Hayden 大佬提供的自定义规则,非常实用。可以在特定区域(如BGA器件范围内)定义特殊的线宽、线距规则。  ” 就是下面这段自定义规则,表示 U10
    的头像 发表于 03-19 11:20 1049次阅读
    如何在特定区域<b class='flag-5'>设置</b>线宽、线距<b class='flag-5'>规则</b>

    从Delphi、C++ Builder和Lazarus连接到MySQL数据库

      从 Delphi、C++ Builder 和 Lazarus 连接到 MySQL 数据库 MySQL 数据访问组件(MyDAC)是一个组件库,提供从 Delphi 和 C++ Builder
    的头像 发表于 01-20 13:47 1318次阅读
    从Delphi、C++ Builder和Lazarus连接到<b class='flag-5'>MySQL</b>数据库

    使用插件将Excel连接到MySQL/MariaDB

    使用插件将 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 1129次阅读
    使用插件将Excel连接到<b class='flag-5'>MySQL</b>/MariaDB

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    适用于 MySQL 和 MariaDB 的 Python 连接器 Python Connector for MySQL 是一种可靠的连接解决方案,用于从 Python 应用程序访问 MySQL
    的头像 发表于 01-17 12:18 844次阅读
    适用于<b class='flag-5'>MySQL</b>和MariaDB的Python连接器:可靠的<b class='flag-5'>MySQL</b>数据连接器和数据库

    适用于MySQL和MariaDB的.NET连接器

    支持 ORM 的适用于 MySQL 和 MariaDB 的 .NET 连接器 dotConnect for MySQL 是一种高性能 ADO.NET 数据提供程序,可在开发 MySQL 的应用程序
    的头像 发表于 01-16 14:17 793次阅读
    适用于<b class='flag-5'>MySQL</b>和MariaDB的.NET连接器

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
    的头像 发表于 01-14 11:25 860次阅读
    <b class='flag-5'>MySQL</b>数据库的安装

    详解Linux sort命令之掌握排序技巧与实用案例

    在linux系统使用过程中,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用参数如下:   短参数 长参数 说明 -n – number-sort 按字符串数值
    的头像 发表于 01-09 10:10 1581次阅读

    字符串与字符数组的区别

    在编程语言中,字符串和字符数组是两种基本的数据结构,它们都用于存储和处理文本数据。尽管它们在功能上有一定的重叠,但在内部表示、操作方式和使用场景上存在显著差异。 1. 内部表示 字符字符
    的头像 发表于 01-07 15:29 1677次阅读

    云服务器 Flexus X 实例 MySQL 应用加速测试

    文章目录 目录 文章目录   购买配置   基本配置参考如下:   连接服务器   查询MySQL状态   启动MySQL   添加配置   添加密码并修改权限   性能测试   C#插入数据测试
    的头像 发表于 12-24 12:19 798次阅读
    云服务器 Flexus X 实例 <b class='flag-5'>MySQL</b> 应用加速测试