最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql字符集utf8和utf8mb4詳解

 更新時(shí)間:2024年12月23日 09:37:49   作者:碎月如割  
文章介紹了MySQL中utf8和utf8mb4兩種字符集的區(qū)別,包括編碼方式、存儲(chǔ)空間、索引長度以及支持的Unicode字符范圍,同時(shí),通過創(chuàng)建兩個(gè)表并插入數(shù)據(jù)進(jìn)行存儲(chǔ)長度的比較,驗(yàn)證了上述理論

背景

1、MySQL在5.5.3版本之后增加了utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來兼容四字節(jié)的unicode;

2、utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉(zhuǎn)換。當(dāng)然,為了節(jié)省空間,一般情況下使用utf8也就夠了;

名詞解釋

  • 字符集(character set/charset):字符的二進(jìn)制編碼方式;
  • UTF-8:是unicode的實(shí)現(xiàn)方式之一,其他實(shí)現(xiàn)方式還有utf-16,utf-32,它是一種變長的編碼,一個(gè)符號(hào)使用1~4個(gè)字節(jié)表示;
  • utf8:mysql中實(shí)現(xiàn)了utf-8編碼的unicode字符集,是utf8mb3的別稱,utf8編碼中一個(gè)符號(hào)使用1~3個(gè)字節(jié)表示;
  • utf8mb4:mysql中實(shí)現(xiàn)了

關(guān)系

  • 1、都實(shí)現(xiàn)了utf-8編碼中的的unicode字符集;
  • 2、utf8僅支持基本多語言平面Basic Multilingual Plane (BMP);
  • 3、utf8mb4支持BMP之外的補(bǔ)充字符,如一些生僻的漢字,emoji字符,以及任何新增的unicode字符。
  • 4、utf8一個(gè)字符最多使用3個(gè)字節(jié)存儲(chǔ),utf8mb4一個(gè)字符最多使用4個(gè)字節(jié)存儲(chǔ);
  • 5、對(duì)于BPM字符,utf8和utf8mb4都使用三個(gè)字節(jié)存儲(chǔ);對(duì)于非BMP字符,utf8mb4使用4個(gè)字節(jié)存儲(chǔ),utf8不能存儲(chǔ)非BMP字符;
  • 6、InnoDB中默認(rèn)最大可對(duì)767個(gè)字節(jié)建立索引;使用utf8的列最多可對(duì)255個(gè)字符建立索引;使用utf8mb4的最多可對(duì)191個(gè)字符建立索引;

實(shí)踐

為了驗(yàn)證上面的理論,創(chuàng)建如下兩個(gè)表:它們的字符集分別為utf8和utf8mb4

CREATE TABLE `test_utf8` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `name` varchar(5) NOT NULL COMMENT '名稱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='測(cè)試utf8';

CREATE TABLE `test_utf8mb4` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `name` varchar(5) NOT NULL COMMENT '名稱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='測(cè)試utf8mb4';

向兩個(gè)表中分別插入如下數(shù)據(jù):

insert into test_utf8(name) values ('我是一顆小'), ('我是reo'), ('12345'), ('ggvdc');
insert into test_utf8mb4(name) values ('我是一顆小'), ('我是reo'), ('12345'), ('ggvdc');
insert into test_utf8mb4(name) values ('?????');

查看在兩種字符集下的存儲(chǔ)長度:

該圖驗(yàn)證了上面3、4、5點(diǎn)理論;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    本文主要介紹了MySQL的索引類型,根據(jù)索引的存儲(chǔ)方式來劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點(diǎn)是葉子節(jié)點(diǎn)包含了完整的記錄行,而非聚簇索引的葉子節(jié)點(diǎn)只有所以字段和主鍵ID,感興趣的同學(xué)可以閱讀本文
    2023-04-04
  • MySQL找出未提交事務(wù)的SQL實(shí)例淺析

    MySQL找出未提交事務(wù)的SQL實(shí)例淺析

    這篇文章主要給大家介紹了關(guān)于MySQL找出未提交事務(wù)SQL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Mysql多表操作方法講解教程

    Mysql多表操作方法講解教程

    這篇文章主要介紹了MySQL數(shù)據(jù)庫的多表操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-12-12
  • MySQL 用 limit 為什么會(huì)影響性能

    MySQL 用 limit 為什么會(huì)影響性能

    對(duì)于小的偏移量,直接使用limit來查詢沒有什么問題,但隨著數(shù)據(jù)量的增大,越往后分頁,limit語句的偏移量就會(huì)越大,速度也會(huì)明顯變慢,接下來文章就向大家介紹其的原由,感興趣的小伙伴可參考下面文章具體內(nèi)容
    2021-09-09
  • MYSQL必知必會(huì)讀書筆記 第一章(基礎(chǔ))

    MYSQL必知必會(huì)讀書筆記 第一章(基礎(chǔ))

    數(shù)據(jù)庫(database)是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合。本文是小編日常收集整理些有關(guān)mysql的知識(shí),非常具有參考價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • ADODB 入門

    ADODB 入門

    ADODB 入門...
    2006-12-12
  • MySQL一個(gè)語句查出各種整形占用字節(jié)數(shù)及最大最小值的實(shí)例

    MySQL一個(gè)語句查出各種整形占用字節(jié)數(shù)及最大最小值的實(shí)例

    下面小編就為大家?guī)硪黄狹ySQL一個(gè)語句查出各種整形占用字節(jié)數(shù)及最大最小值的實(shí)例。
    2017-03-03
  • MySQL9.1.0實(shí)現(xiàn)最基礎(chǔ)主從復(fù)制的步驟

    MySQL9.1.0實(shí)現(xiàn)最基礎(chǔ)主從復(fù)制的步驟

    本文主要介紹了使用Docker實(shí)現(xiàn)MySQL的主從復(fù)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Mysql中存儲(chǔ)UUID去除橫線的方法

    Mysql中存儲(chǔ)UUID去除橫線的方法

    這篇文章主要介紹了Mysql中存儲(chǔ)UUID去除橫線的方法,本文給出了3個(gè)Mysql函數(shù)實(shí)現(xiàn)去除去UUID中的橫線,需要的朋友可以參考下
    2015-02-02
  • mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作

    mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作

    這篇文章主要介紹了mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作,修改表指的是修改數(shù)據(jù)庫之后中已經(jīng)存在的數(shù)據(jù)表的結(jié)構(gòu)
    2022-07-07

最新評(píng)論

贵溪市| 浦江县| 长寿区| 抚顺市| 许昌县| 岱山县| 彭水| 抚州市| 贵溪市| 隆德县| 富民县| 吴川市| 和平区| 锦屏县| 铅山县| 那曲县| 凉城县| 永春县| 乐东| 双桥区| 台南县| 南安市| 远安县| 彭山县| 饶平县| 石柱| 昌都县| 阳江市| 贞丰县| 日喀则市| 琼海市| 缙云县| 石门县| 阳东县| 婺源县| 门头沟区| 临城县| 巫山县| 五原县| 江油市| 谷城县|