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

MySQL建立數(shù)據(jù)庫時字符集與排序規(guī)則的選擇詳解

 更新時間:2023年06月12日 09:06:58   作者:十一*  
當(dāng)數(shù)據(jù)庫需要適應(yīng)不同的語言就需要有不同的字符集,下面這篇文章主要給大家介紹了關(guān)于MySQL建立數(shù)據(jù)庫時字符集與排序規(guī)則的選擇的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

在MySQL中,字符集和排序規(guī)則是區(qū)分開來的,你可以單獨設(shè)置字符集和排序規(guī)則。

MySQL字符集和排序規(guī)則有關(guān)聯(lián)而且還不是必選項,如果字符集和排序規(guī)則都不填寫,Mysql會做默認處理;或者設(shè)置其一,比如設(shè)置字符集,會默認設(shè)置了與字符集相應(yīng)的排序規(guī)則。

我們建立數(shù)據(jù)庫是總要涉及到字符集和排序規(guī)則的選擇問題?怎么選擇呢,有什么區(qū)別呢?

一、字符集?

先說字符,字符(Character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數(shù)字等。

字符集(Character set)是多個字符的集合,常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。計算機要準確的處理各種字符集文字,就需要進行字符編碼,以便計算機能夠識別和存儲各種文字。

字符編碼(Character encoding)也稱字集碼,是把字符集中的字符通過編碼成為指定集合中某一對象(例如:比特模式、自然數(shù)序列、8位組或者電脈沖),以便文本在計算機中存儲和通過通信網(wǎng)絡(luò)的傳遞。常見的例子包括將拉丁字母表編碼成摩斯電碼和ASCII。其中,ASCII將字母、數(shù)字和其它符號編號,并用7比特的二進制來表示這個整數(shù)。通常會額外使用一個擴充的比特,以便于以1個字節(jié)的方式存儲。

二、Mysql中的字符集

在MySQL中,常用的幾個字符集有UTF8、UTF8MB4、UTF16、UTF32等,那么Unicode與UTF8、UTF8MB4、UTF16、UTF32是什么關(guān)系?我們新建數(shù)據(jù)庫時選擇哪種字符集呢?

1.Unicode與UTF8、UTF8MB4、UTF16、UTF32關(guān)系

Unicode(統(tǒng)一碼、萬國碼、單一碼)是計算機科學(xué)領(lǐng)域里的一項業(yè)界標準,包括字符集、編碼方案等。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉(zhuǎn)換、處理的要求。UTF8、UTF16、UTF32是Unicode碼一種實現(xiàn)形式,都是屬于Unicode編碼。

2.Mysql新建數(shù)據(jù)庫時選擇哪種字符集呢?

UTF8和UTF8MB4是常用的兩種字符集,至于這兩個選用哪個要根據(jù)自己業(yè)務(wù)情況而定。UTF8MB4兼容UTF8,比UTF8能表示更多的字符,Unicode編碼區(qū)從編碼區(qū)1-126屬于UTF8區(qū),當(dāng)然UTF8MB4也兼容這個區(qū),126行以下就是UTF8MB4擴充區(qū),所以你要根據(jù)自己的業(yè)務(wù)進行選擇,一般情況下UTF8就滿足需求,當(dāng)然如果考慮到以后擴展,比如考慮到以后存儲emoji,就選擇UTF8MB4,否則只是浪費空間。我建議還是選擇UTF8MB4,畢竟對于大部分公司而言空間不是什么大問題。

三、Mysql排序規(guī)則

UTF8MB4常用的排序規(guī)則:utf8mb4_unicode_ci、utf8mb4_general_ciutf8mb4_bin,選用哪種方式呢?先來分析一下:

1、準確性:

(1)utf8mb4_unicode_ci 是基于標準的Unicode來排序和比較,能夠在各種語言之間精確排序,不區(qū)分大小寫

(2)utf8mb4_general_ci 沒有實現(xiàn)Unicode排序規(guī)則,在遇到某些特殊語言或者字符集,排序結(jié)果可能不一致,不區(qū)分大小寫

2、性能:

 ?。?)utf8mb4_general_ci 在比較和排序的時候更快

 ?。?)utf8mb4_unicode_ci 在特殊情況下,Unicode排序規(guī)則為了能夠處理特殊字符的情況,實現(xiàn)了略微復(fù)雜的排序算法。相比選擇哪一種collation,使用者更應(yīng)該關(guān)心字符集與排序規(guī)則在db里需要統(tǒng)一。

 ?。?)utf8mb4_bin:將字符串每個字符用二進制數(shù)據(jù)編譯存儲,區(qū)分大小寫,而且可以存二進制的內(nèi)容。

總而言之,utf8mb4_general_ci 和utf8mb4_unicode_ci 是我們最常使用的排序規(guī)則。utf8mb4_unicode_ci 校對速度快,但準確度稍差。utf8_unicode_ci準確度高,但校對速度稍慢,兩者都不區(qū)分大小寫。這兩個選哪個視自己情況而定,還是那句話盡可能保持db中的字符集和排序規(guī)則的統(tǒng)計。

四、Mysql查詢字符集和排序規(guī)則常用的命令

功能命令
查看數(shù)據(jù)庫字符集show create database 數(shù)據(jù)庫名
查看數(shù)據(jù)表全部字段排序規(guī)則show full columns from 表

總結(jié) 

到此這篇關(guān)于MySQL建立數(shù)據(jù)庫時字符集與排序規(guī)則的選擇的文章就介紹到這了,更多相關(guān)MySQL字符集與排序規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MYSQL 表的全面總結(jié)

    MYSQL 表的全面總結(jié)

    這篇文章主要介紹了MYSQL表,文章主要圍繞MySQL表的相關(guān)資料如創(chuàng)建表、刪除表、修改表、等展開內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • MySql常用數(shù)據(jù)類型與操作詳解

    MySql常用數(shù)據(jù)類型與操作詳解

    MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面 MySQL 是最好的。本文將為大家詳細介紹一下MySQL的基礎(chǔ)操作,需要的可以參考一下
    2022-07-07
  • MySQL之庫和表的操作實踐

    MySQL之庫和表的操作實踐

    本文講解MySQL數(shù)據(jù)庫和表的操作,涵蓋創(chuàng)建、修改、刪除,字符集與校驗規(guī)則設(shè)置,備份恢復(fù)方法,及查看連接狀態(tài),強調(diào)注意事項如刪除風(fēng)險和校驗規(guī)則對大小寫的影響
    2025-09-09
  • Mysql中文亂碼以及導(dǎo)出為sql語句和Excel問題解決方法[圖文]

    Mysql中文亂碼以及導(dǎo)出為sql語句和Excel問題解決方法[圖文]

    這幾天基于Heritrix寫了一個爬蟲,用到mysql,在導(dǎo)入導(dǎo)出數(shù)據(jù)時,遇到一些亂碼問題,好不容易解決了,記錄一下,以備查看
    2013-04-04
  • MySql一條查詢語句的執(zhí)行流程究竟是怎么樣的

    MySql一條查詢語句的執(zhí)行流程究竟是怎么樣的

    一直是想知道一條SQL語句是怎么被執(zhí)行的,它執(zhí)行的順序是怎樣的,然后查看總結(jié)各方資料,就有了下面這一篇文章了,下面這篇文章主要給大家介紹了關(guān)于MySql一條查詢語句的執(zhí)行流程究竟是怎么樣的,需要的朋友可以參考下
    2024-06-06
  • mysql報錯:Deadlock found when trying to get lock; try restarting transaction的解決方法

    mysql報錯:Deadlock found when trying to get lock; try restarti

    這篇文章主要給大家介紹了關(guān)于mysql出現(xiàn)報錯:Deadlock found when trying to get lock; try restarting transaction的解決方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 如何將mysql遷移到翰高數(shù)據(jù)庫

    如何將mysql遷移到翰高數(shù)據(jù)庫

    瀚高基礎(chǔ)軟件股份有限公司成立于2005年,是國內(nèi)數(shù)據(jù)庫行業(yè)龍頭企業(yè),專業(yè)從事數(shù)據(jù)庫管理系統(tǒng)研發(fā)、銷售與服務(wù),下面這篇文章主要介紹了如何將mysql遷移到翰高數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-03-03
  • Mysql匿名登錄無法創(chuàng)建數(shù)據(jù)庫問題解決方案

    Mysql匿名登錄無法創(chuàng)建數(shù)據(jù)庫問題解決方案

    這篇文章主要介紹了Mysql匿名登錄無法創(chuàng)建數(shù)據(jù)庫問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • windows下mysql 8.0.12安裝步驟及基本使用教程

    windows下mysql 8.0.12安裝步驟及基本使用教程

    這篇文章主要為大家詳細介紹了windows下mysql 8.0.12安裝步驟及基本使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 基于Php mysql存儲過程的詳解

    基于Php mysql存儲過程的詳解

    本篇文章是對Php中的mysql存儲過程進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論

福泉市| 华安县| 鹰潭市| 桑日县| 景德镇市| 顺义区| 苏尼特左旗| 密山市| 灵宝市| 柘城县| 松滋市| 广饶县| 水城县| 双牌县| 大悟县| 黄石市| 霍林郭勒市| 平山县| 青龙| 嘉善县| 阿瓦提县| 秦皇岛市| 个旧市| 北流市| 长治市| 石门县| 潼关县| 百色市| 连山| 华宁县| 德保县| 双柏县| 连城县| 南澳县| 曲水县| 华宁县| 手游| 敦化市| 高陵县| 绥化市| 桐柏县|