mysql 字符集、比较规则, 比较规则底层逻辑

这篇具有很好参考价值的文章主要介绍了mysql 字符集、比较规则, 比较规则底层逻辑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

字符集的级别

show variables like ‘%charecter%’;
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

character_set_server 服务器级别

一般在
5.7: C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
8.0: C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
Linux 系列 vim /etc/my.cnf
character_set_server=xxx # 设定默认字符集
collation_server=xxx_chinese_ci # 对应的默认的比较规则

character_set_database 数据库级别

创建数据库指定

create database xxx
[[default] character set 字符集名称]
[[default] collate 比较规则名称;

修改数据库

alter database xxx
[[default] character set 字符集名称]
[[default] collate 比较规则名称];

create database db_test
character set gb2312
collate gb2312_chinese_ci;

create database xxxx # 没有指定,则使用服务器级别的字符集和比较规则

表级别

create table 表名(
列的信息
) engine=InnoDB [[default] character set 字符集名称] [collate 比较规则名称]

alter table 表名
[[default] character set 字符集名称]
[collate 比较规则]

如果创建和修改表的语句中没有指明字符集和比较规则,将使用该表所在的数据库的字符集和比较规则作为该表的字符集和比较规则

create table t(
col varchar(10)
) character set utf8 collate utf8_general_ci;

列级别

对于存储字符串的列,同一个表中的不同的列也可以有不同的字符集和比较规则。我们在创建和修改列定义的时候可以指定该列的字符集和比较规则,如果不指明,延用表的字符集和比较规则

create table xx(
列名1 字符串类型 [character set 字符集名称] [ collate 比较规则名称],
列名2…
);

alter table xx modify 列名 字符串类型 [character set 字符集名称] [ collate 比较规则名称];

character_set_client 服务器解码请求的使用的字符集
character_set_connection 服务器处理请求时会把请求字符串从 character_set_client 转为 charater_set_connection
character_set_results 服务器向客户端返回数据的使用的字符集、

mysql 5.7 默认字符集 latini, 设置 utf8 ,等价于utf8mb3
mysql 8.0 默认字符集 utf8mb4
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

查看mysql 支持的字符集、和比较规则

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

show collation like ‘XXX%’;
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

查看 服务器的字符集和比较规则

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

查看 数据库的字符集和比较规则

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

查看数据库的字符集和比较规则

show create database xxx;

修改数据库字符集和比较规则

alter database xxx character set ‘utf8mb4’ collate ‘utf8_general_ci’;

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

经验

开发中通常把 character_set_client 、character_set_connection、character_set_results 这个三个系统变量【会话系统变量】设置成和客户端使用的字符集要一致。这样减少了很多无谓的字符集转换。

set NAMES 字符集;
 
等价于
set character_set_client=字符集名称;
set character_set_connection=字符集名称;
set character_set_results=字符集名称;

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库

mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库
mysql 字符集、比较规则, 比较规则底层逻辑,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-679134.html

到了这里,关于mysql 字符集、比较规则, 比较规则底层逻辑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 知识点分享一:utf8 字符集和排序规则

    我们经常能在数据库中看到这些: utf8mb4 和 utf8, utf8mb4_unicode_ci, utf8mb4_general_ci, utf8mb4_bin 分别代表什么意思呢? 其实他们表示的是字符集 和 排序规则 字符集:就是用来定义字符在数据库中的编码的集合。 排序规则:用来定义比较字符串的方式。 字符集和排序规则是一对多的关

    2024年02月07日
    浏览(48)
  • 【MySQL】关于数据库字符编码以及字符集排序相关知识

    通过设置表的字符集和排序规则,解决MySQL查询时不区分字母大小写、插入时不支持特殊字符的问题。 关于MySQL查询时不区分字母大小写、插入时不支持特殊字符的问题,只有修改表的字符集和排序规则才能根治,而且事半功倍。utf8mb4支持的最低mysql版本为5.5.3+,若不是,请

    2024年02月12日
    浏览(45)
  • 数据库 --- mysql(03)-- mysql字符集、表操作(01)

    (1)简介: MySQL字符集 包括 字符集(CHARACTER) 和 校对规则(COLLATION) 两个概念: 字符集(CHARACTER) 是一套编码 校对规则(COLLATION) 是在字符集内用于比较字符的一套规则。 (2)命令: 1 查看字符集 2 修改默认字符集 附:utf8和utf8mb4的区别 MySQL在5.5.3之后增加了这个u

    2024年02月16日
    浏览(40)
  • 数据库之MySQL字符集与数据库操作

    目录 字符集 CHRARCTER SET 与COLLATION的关联 CHRARCTER SET 定义 基础操作         查看当前MySQL Server支持的 CHARACTER SET         查看特定字符集信息(主要包含默认的COLLATION 与 MAXLEN) COLLATION 定义 COLLATION后缀 基础操作         查看MySQL Server支持的COLLATION MySQL Ser

    2024年02月13日
    浏览(46)
  • 达梦数据库如何查看字符集

     0 表示 GB18030,1 表示 UTF-8,2 表示 EUC-KR select SF_GET_UNICODE_FLAG(); select  UNICODE (); 字符集在安装初始化库的时候指定,设定后不可更改,请在安装时按照需求设置好 后期如果想修改就只能重新初始库! 注意中文字符的长度问题:数据库初始化参数  LENGTH_IN_CHAR=0  时,unicode 编

    2023年04月09日
    浏览(42)
  • MySQL 字符集概念与原理及如何配置字符集 - 超详细图文详解

    目录 一、字符集概念 1、字符(Character) 2、字符编码 3、字符集(Character set) 二、字符集原理 1、ASCII字符集 2、GB2312 3、GBK 4、GB18030 5、BIG5 6、Unicode 编码 三、字符序 四、MySQL字符集 字符序 1、mysql 字符集 2、mysql 字符序 3、字符集与字符序的关系 五、MySQL 数据存储字符集

    2024年02月04日
    浏览(56)
  • Oracle数据库字符集概述及修改方式

    Oracle语言环境的描述包括三部分:language、territory、characterset(语言、地域、字符集) language:主要指定服务器消息的语言,提示信息显示中文还是英文 territory:主要指定服务器的数字和日期的格式 characterset:是指字符集,一般国内数据库实际使用的字符集主要是ZHS16GBK、AL32

    2024年02月11日
    浏览(48)
  • (三) MySQL字符集

    MySQL字符集包括 基字符集 (CHARACTER)与 校对规则 (COLLATION)这两个概念: latin1支持西欧字符、希腊字符等 gbk支持中文简体字符 big5支持中文繁体字符 utf8几乎支持世界所有国家的字符 utf8mb4是真正意义上的utf-8 查看当前数据库默认的字符集: SHOW VARIABLES like \\\'character%\\\'; MySQL在

    2024年01月24日
    浏览(60)
  • 【MySQL】——数据类型及字符集

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月03日
    浏览(50)
  • 达梦数据库支持GB18030-2022中文编码字符集证明方法

    既然是证明就要做到有图有真相。 证明途径1:系统概览法 查看达梦数据库“管理工具”-“对象导航”-“管理服务器”-“系统概览”-“字符集编码”-”GB18030”. 看见”GB18030”字样就是证据之一。如果你没有看见这个字样,而是UTF8等其他字样,请重新安装产品吧,安装向导

    2023年04月18日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包