广告
返回顶部
首页 > 资讯 > 数据库 >MySQL学习笔记(8):字符集
  • 802
分享到

MySQL学习笔记(8):字符集

MySQL学习笔记(8):字符集 2019-08-14 17:08:31 802人浏览 绘本
摘要

本文更新于2019-06-16,使用Mysql 5.7,操作系统为Deepin 15.4。 目录常用字符集mysql字符集 常用字符集 字符集 定长 代码宽度 说明 ASCII或ISO-646 是 1字节7位 英文字

MySQL学习笔记(8):字符集

本文更新于2019-06-16,使用Mysql 5.7,操作系统为Deepin 15.4。

目录

  • 常用字符集
  • mysql字符集

常用字符集

字符集 定长 代码宽度 说明
ASCII或ISO-646 1字节7位 英文字母、数字、标点符号和33个控制符
ISO-8859系列 1字节8位 各西欧字符集,兼容ASCII
GB2312 1或2字节 兼容ASCII,不推荐使用
GBK 1或2字节 兼容GB2312
GB18030 1、2或4字节 兼容GBK
Unicode或UCS-4或ISO-10646 4字节 从最高字节起依次代表组(group)、面(plane)、行(row)、格(ceil),包括BMP、辅助字面和专用字面
UCS-2 2字节 UCS-4的0组0面,即基本多语言文字面(BMP)

Unicode有如下编码方式:

编码方式 定长 代码宽度 说明
UTF-8 1至6字节 兼容ASCII
UTF-16 2或4字节 BMP使用2字节表示,以外使用4字节表示,按字节序不同分为UTF-16BE和UTF-16LE
UTF-32 4字节 Unicode原始编码,按字节序不同分为UTF-32BE和UTF-32LE

UTF-8编码如下:

字节 代码位数 代码空间 字节组合
1 0-7 0x0 - 0x7f 0xxxxxxx
2 8-11 0x80 - 0x7ff 110xxxxx,10xxxxxx
3 12-16 0x800 - 0xffff 1110xxxx,10xxxxxx,10xxxxxx
4 17-21 0x10000 - 0x1fffff 11110xxx,10xxxxxx,10xxxxxx,10xxxxxx
5 22-26 0x200000 - 0x3ffffff 111110xx,10xxxxxx,10xxxxxx,10xxxxxx,10xxxxxx
6 27-31 0x4000000 - 0x7fffffff 1111110x,10xxxxxx,10xxxxxx,10xxxxxx,10xxxxxx,10xxxxxx

每个汉字,GBK使用2字节,UTF-8使用3字节。

Mysql字符集

MySQL的UTF-8字符集最大长度为3字节,只能表示BMP中的字符(0-0xffff)。若要使用大于3字节的字符(如emoji),则需使用utf8mb4字符集。

MySQL包含字符集和校对规则两个概念。校对规则用来定义比较字符串的方式,一种字符集至少有一种校对规则,但可以有多种校对规则。校对规则的命名以其相关的字符集名开始,中间通常包含一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(比较是基于字符编码的值而与语言无关)结束,如gbk_chinese_ci。

MySQL的字符集和校对规则有4个级别的设置:

  • 服务器级:可通过配置文件或启动选项设置,默认为latin1。
  • 数据库级:可通过CREATE DATABASEALTER DATABASE设置,如数据库中已存在记录,修改字符集不会将已有数据按照新的字符集进行存放。
  • 表级:可通过CREATE TABLEALTER TABLE设置,如表中已存在记录,修改字符集不会将已有数据按照新的字符集进行存放。
  • 字段级:可通过CREATE TABLEALTER TABLE设置,如表中已存在记录,修改字符集不会将已有数据按照新的字符集进行存放。

客户端和服务器交互时,还存在客户端、连接、返回结果的字符集和校对规则,通常这三者是相同的,才可以确保数据能被正确读取。可以通过SET NAMES charset同时修改这三个值。可以通过[_charset] "str" [COLLATE collation]强制字符串的字符集和校对规则。

已有记录的字符集调整,需先将数据导出,经过适当调整后重新导入。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL学习笔记(8):字符集

本文链接: https://www.lsjlt.com/news/6925.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL学习笔记(8):字符集
    本文更新于2019-06-16,使用MySQL 5.7,操作系统为Deepin 15.4。 目录常用字符集MySQL字符集 常用字符集 字符集 定长 代码宽度 说明 ASCII或ISO-646 是 1字节7位 英文字...
    99+
    2019-08-14
    MySQL学习笔记(8):字符集
  • 字符编码学习笔记
    一、常见编码 ASCII:ASCII码即美国标准信息交换码(American Standard Code for Information Interchange)。由于计算机内部所有信息最终都是一个二进制值,而每一个二进制位(bit)有0...
    99+
    2023-01-31
    学习笔记 字符
  • Python学习笔记8——列表、字典、元
    参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3 Lists 列表 The Python list object is the most gene...
    99+
    2023-01-30
    字典 学习笔记 列表
  • Python 学习笔记 (8)—— sy
    主要介绍用的比较多的sys的模块命令包括:sys.argv,sys.platform,sys.getdefaultencoding,sys.setdefaultencoding(),sys.getfilesystemencoding(),s...
    99+
    2023-01-31
    学习笔记 Python sy
  • Python学习笔记1—Python字符
        字符串是python中重要的数据对象    python字符串是以单引号、双引号、或者三个三单引号三个双引号包含的任意的python数据对象都可以称为python字符串    注意:以单引号或双引号包含的数据对象中间不可以换行(若需...
    99+
    2023-01-31
    学习笔记 字符 Python
  • python学习笔记字符串(二)
    字符串类型(string)字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就...
    99+
    2023-01-31
    字符串 学习笔记 python
  • MySQL学习笔记(5):运算符
    本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。 目录算数运算符比较运算符逻辑运算符位运算符运算符优先级 算数运算符 运算符 语法 说明 + a + b 加法 - a -...
    99+
    2021-06-02
    MySQL学习笔记(5):运算符
  • Redis 学习笔记(一) 字符串 SDS
    SDS 简单动态字符串。 SDS的结构: struct sdshdr{ int len;//记录BUF数组中已使用字节的数量 ,等于SDS所八寸字符串的长度 int free;//记录BUF数组中未使用字节的数量 char ...
    99+
    2016-03-29
    Redis 学习笔记(一) 字符串 SDS
  • python学习笔记3:转义字符
    本文列出python中的转义字符,以方便项目参考 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \00...
    99+
    2023-01-31
    学习笔记 字符 python
  • MySQL学习笔记
    作者: Grey 原文地址:MySQL学习笔记 说明 注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。 关于DDL DDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了...
    99+
    2015-01-17
    MySQL学习笔记
  • MySQL 学习笔记
    😀😀😀创作不易,各位看官点赞收藏. 文章目录 MySQL 学习笔记1、`DQL` 查询语句1.1、基本查询1.2、函数查询1.2.1、单行函数1...
    99+
    2023-10-01
    mysql 学习 笔记
  • java学习笔记_关于字符串概述
    一、String类String类代表字符串,是由字符构成的一个序列。创建String对象的方法很简单,有以下几种:1)用new来创建:String s1 = new String("my name is tongye");...
    99+
    2023-05-31
    java 字符串 ava
  • MySQL 学习笔记 (一)
    1.InnoDB and Online DDL ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; https://dev.mysql.c...
    99+
    2016-12-04
    MySQL 学习笔记 (一)
  • MySQL 学习笔记(五)
    mysqldump 与 --set-gtid-purged 设置 (1)  mysqldump The mysqldump client utility performs logical backups, producing a set ...
    99+
    2022-01-27
    MySQL 学习笔记(五)
  • MySQL学习笔记-day01
    1、数据库概述及数据准备 1.1、SQL概述 SQL,全称Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。(90%以上的SQL都是通用的)。 SQL:结构化语言,是一门标...
    99+
    2017-10-15
    MySQL学习笔记-day01
  • MySQL学习笔记-day03
    1、约束 1.1、唯一性约束(unique) 唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。 案例:给某一列添加unique drop table if exists t_user; create table t_...
    99+
    2020-11-18
    MySQL学习笔记-day03
  • python学习笔记:字典
     python版本:Python 2.6.6   系统环境:CentOS release 6.2 x86_64   本文参考了互联网上前辈的一些文章   一、字典是python中最灵活的内置数据结构类型,如果把列表看作是有序的对象集合,那么...
    99+
    2023-01-31
    字典 学习笔记 python
  • MongoDB学习笔记:副本集
    本文更新于2022-01-08,使用MongoDB 4.4.5。 目录单台服务器下创建副本集多台服务器下创建副本集重新启动并连接到副本集维护副本集节点 单台服务器下创建副本集 确保/data/db目录存在且当前系统用户有读写权限。例如...
    99+
    2019-12-08
    MongoDB学习笔记:副本集
  • MySQL学习笔记 初涉MySQL
    1.在Linux下安装MySQL# yum -y install mysql mysql-server mysql-devel &nbs...
    99+
    2022-10-18
  • MySQL学习笔记(17):MySQL Utilities
    本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 目录安装分类mysqldbcompare——数据库比较工具mysqldbcopy——数据库复制工具mysqldiff——数据库对象定义比较...
    99+
    2015-05-06
    MySQL学习笔记(17):MySQL Utilities
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作