亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL?中字符集詳細介紹

 更新時間:2022年08月26日 09:42:33   作者:昨天的風???????  
這篇文章主要介紹了MySQL?中字符集詳細介紹,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

MySQL 中的 UTF8

在 MySQL 中, utf8 編碼格式有點特殊, 它不是我們通常用到的 utf8, 而是 utf8mb3 編碼的縮寫. 而 utf8mb4 才是我們常說的那個 utf8.

  • utf8mb3:閹割過的 utf8 字符集, 只使用 1~3 個字節(jié)表示字符.
  • utf8mb4:正宗的 utf8 字符集, 使用 1~4 個字節(jié)表示字符.

通常情況下, utf8mb3 和 utf8mb4 的使用區(qū)別不大, 但是如果有使用 4 字節(jié)編碼一個字符的情況, 比如存儲一些 emoji 表情, 那就必須使用 utf8mb4 編碼.

修改MySQL數(shù)據(jù)庫的編碼

當我們 MySQL 數(shù)據(jù)庫的編碼已經(jīng)是UTF8 時, 此時需要對某個表的某個字段支持插入emoji 表情,前面說過 emoji 表情需要 utf8mb4 才支持。所以此時就需要修改 MySQL 的編碼。

注意:utf8mb4 字符集要求 MySQL 數(shù)據(jù)庫版本 >=5.5.3。

修改的步驟如下:

1.修改 mysql 配置文件,設置其編碼格式,添加或修改如下代碼:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
character-set-client-handshake = false
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

2.修改數(shù)據(jù)庫字符集編碼

-- 設置指定數(shù)據(jù)庫的字符集編碼,xxx 為數(shù)據(jù)庫名稱
ALTER DATABASE xxx CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3.修改數(shù)據(jù)表字符集編碼

-- 設置指定數(shù)據(jù)表的字符集編碼
ALTER TABLE xxx.yyy CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

4.檢測是否修改成功

SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%';

5.插入一個emoji表情來測試下:

UPDATE yyy SET comments = '測試表情??' WHERE id = 1;

字符集的比較規(guī)則

MySQL 有 4 個級別的字符集, 分別是: 服務器級別, 數(shù)據(jù)庫級別, 表級別, 列級別。同時對應了4個級別的比較規(guī)則,即服務器級別, 數(shù)據(jù)庫級別, 表級別, 列級別。

每種字符集對應若干種比較規(guī)則, 且每種字符集都有一種默認的比較規(guī)則。

通過 SHOW COLLATION 命令的結(jié)果中的 Default 列的值為 YES 的就是該字符集的默認比較規(guī)則, 對于 utf8 字符集,默認的比較規(guī)則就是 utf8_general_ci. ( ci 表示不區(qū)分大小寫 )

  • utf8_general_ci 表示不區(qū)分大小寫
  • utf8_general_cs 表示區(qū)分大小寫

上面說到,一種字符集對應多個比較規(guī)則,常見的比較規(guī)則 utf8_unicode_ci 和 utf8_general_ci 的區(qū)別:

  • 對中英文來說沒有實質(zhì)的差別。
  • utf8_general_ci: 校對速度快,但準確度稍差。
  • utf8_unicode_ci: 準確度高,但校對速度稍慢。
  • 若數(shù)據(jù)庫中有德語、法語或者俄語需求,需使用 utf8_unicode_ci。其他情況用 utf8_general_ci 即可。

MySQL查詢時區(qū)分大小寫

上面說到,MySQL 默認是不區(qū)分大小寫的,平時也很少會考慮數(shù)據(jù)存儲時是否區(qū)分字符串的大小寫。不過,有時候還是會明確要求某張表的指定字段在查詢時需要區(qū)分大小寫。

那么如何實現(xiàn)呢?

  • 方式1:在建表的時候,就設置比較規(guī)則區(qū)分大小寫。但個人認為最好不要這么做。一般在設計數(shù)據(jù)庫時并不能很明確的知道哪個字段需要區(qū)分,都是在開發(fā)一段時間后,突然提出的。具有難以預料性。
  • 方式2:是在執(zhí)行查詢 SQL 時添加關鍵字 binary 可以區(qū)分大小寫。
-- 查詢結(jié)果是相同的,不分區(qū)大小寫
SELECT * FROM U WHERE name LIKE 'a%';
SELECT * FROM U WHERE name LIKE 'A%';

-- 查詢結(jié)果是不同的,區(qū)分大小寫
SELECT * FROM U WHERE binary name LIKE 'a%';
SELECT * FROM U WHERE binary name LIKE 'A%';

到此這篇關于MySQL 中字符集詳細介紹的文章就介紹到這了,更多相關MySQL 字符集內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mysql如何在linux中實現(xiàn)定時備份

    Mysql如何在linux中實現(xiàn)定時備份

    這篇文章主要介紹了Mysql如何在linux中實現(xiàn)定時備份,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 修改mysql默認字符集的兩種方法詳細解析

    修改mysql默認字符集的兩種方法詳細解析

    下面小編就為大家介紹兩種修改mysql默認字符集的方法。需要的朋友可以過來參考下
    2013-08-08
  • MySQL基本操作語句小結(jié)

    MySQL基本操作語句小結(jié)

    這篇文章主要介紹了MySQL的基本操作語句,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
    2015-07-07
  • 一文理解MySQL數(shù)據(jù)庫的約束與表的設計

    一文理解MySQL數(shù)據(jù)庫的約束與表的設計

    約束是用來限制表中的數(shù)據(jù)長什么樣子的,即什么樣的數(shù)據(jù)可以插入到表中,什么樣的數(shù)據(jù)插入不到表中,下面這篇文章主要給大家介紹了關于如何通過一文理解MySQL數(shù)據(jù)庫的約束與表的設計的相關資料,需要的朋友可以參考下
    2022-11-11
  • MySQL導出所有Index和約束的方法

    MySQL導出所有Index和約束的方法

    這篇文章主要介紹了MySQL導出所有Index和約束的方法,非常實用的技巧,需要的朋友可以參考下
    2014-08-08
  • 淺析MYSQL REPEATABLE-READ隔離級別

    淺析MYSQL REPEATABLE-READ隔離級別

    REPEATABLE-READ 即可重復讀,autocommit= 0或者START TRANSACTION狀態(tài)下select表的內(nèi)容不會改變
    2014-07-07
  • MySQL 建表的優(yōu)化策略 小結(jié)

    MySQL 建表的優(yōu)化策略 小結(jié)

    mysql 數(shù)據(jù)庫建表經(jīng)驗總結(jié),用做優(yōu)化表結(jié)構(gòu)的參考
    2009-09-09
  • 淺談MySQL分頁Limit的性能問題

    淺談MySQL分頁Limit的性能問題

    這篇文章主要介紹了淺談MySQL分頁Limit的性能問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • MYSQL中varchar和TEXT的相關問題詳析

    MYSQL中varchar和TEXT的相關問題詳析

    varchar 和 text 是 MySQL 字符存儲爭議比較多的領域,下面這篇文章主要給大家介紹了關于MYSQL中varchar和TEXT,文中介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

    Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

    這兩天為了解決workbench連接不上阿里云服務器的問題,搞得頭大,網(wǎng)上搜到的教程都大同小異,但唯獨到我這就是行不通。不過好在最后終于解決了,記錄一下這個坑爹的過程,另外腳本之家小編特把這些問題整理了一下,看完這一篇文章基本上就解決了
    2020-02-02

最新評論