欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL基礎(chǔ)學習之字符集的應用

 更新時間:2023年05月16日 14:11:05   作者:寧軒  
這篇文章主要為大家詳細介紹了MySQL中字符集的相關(guān)使用,例如字符集的查詢與修改和比較規(guī)則等,文中的示例代碼講解詳細,需要的可以參考一下

字符集的查詢與修改

MySQL 8.0版本之前, 默認字符集是latin1, 使用默認字符集的時候輸入中文會出現(xiàn)亂碼問題, 所以我們開發(fā)人員經(jīng)常會將MySQL字符集的格式修改為utf8解決亂碼問題, utf8字符集默認指向的是utf8mb3格式編碼, 在MySQL 8.0版本開始, 默認的字符集將改為了utf8mb4, 有效的解決了中文亂碼問題

查看當前MySQL數(shù)據(jù)庫使用的字符集

show variables like 'character%';

-- 或

show variables like '%char%';

MySQL 8.0版本查詢默認字符集

MySQL 5.7版本查詢默認字符集

對于MySQL 5.7版本我們可以通過Navicat等工具來對數(shù)據(jù)庫的默認字符集進行修改, 也可以通過修改MySQL的配置文件my.cnf來修改默認字符集

my.cnf文件在Linux系統(tǒng)下的地址是: /etc/my.cnf 在 [mysqld] 下新增 character_set_server=utf8 修改成功之后注意要重啟 MySQL, 使配置生效, 重啟命令systemctl restart mysqld.service

在上面字符集列表里面有幾個屬性可以了解一下:

  • character_set_client 服務器解碼請求時使用的字符集
  • character_set_connection 服務器處理請求時會把請求字符串從character_set_client轉(zhuǎn)為character_set_connection
  • character_set_results 服務器向客戶端返回數(shù)據(jù)時使用的字符集

字符集比較規(guī)則

utf8mb3和 utf8mb4

在日常操作中utf8字符集表示一個字符需要 14個字節(jié), 但是我們常用的一些字符只需要使用 13個字節(jié), 而字符集表示使用一個字符的最大字節(jié)長度, 長度不同占用空間大小也不同, 所以在MySQL中定義了utf8mb3utf8mb4:

  • utf8mb3 1~3字節(jié)
  • utf8mb4 1~4字節(jié)

MySQL中, utf8通常指的是 utf8mb4

查看當前MySQL支持的字符集可輸入下列查詢:

show charset;
-- 或
show character set;

我們可以看到查詢結(jié)果一共有四列, 分別是字符集名稱, 簡介, 該字符集默認排序規(guī)則, 使用該字符集最大字節(jié)數(shù)

Default collation表示的是該字符集默認的比較規(guī)則, utf8_general_ci是一種通用的比較規(guī)則,這里可以選擇比較規(guī)則主要作用于哪種語言 在我們使用Navicat編輯數(shù)據(jù)庫的時候可以看到當前數(shù)據(jù)庫使用的字符集和排序規(guī)則

  • utf8_croatiian_ci就是以羅克地亞語的規(guī)則比較,
  • utf8_czech_ci 以捷克語的規(guī)則比較
  • utf8_danish_ci 以丹麥語規(guī)則比較
  • ...

utf8_unicode_ci和 utf8_general_ci對中英文來說沒有區(qū)別 utf8_general_ci 校對速度快, 準確度較差 utf8_unicode_ci 準確度高, 但校對速度稍慢

一般來講使用utf8_general_ci就夠了, 但是如果應用中使用到德語, 法語或者俄語, 一定要使用 utf8_unicode_ci, 因為 utf8_general_ci是一種比較老的標準 utf8_unicode_ci會更符合這些國家人們的習慣

比較規(guī)則后綴含義

后綴英文釋義描述
_aiaccent insensitive不區(qū)分重音
_asaccent sensitive區(qū)分重音
_cicase insensitive不區(qū)分大小寫
_cscase sensitive區(qū)分大小寫
_binbinary以二進制的方式比較

字符集常用SQL

-- 查看服務器的字符集和比較規(guī)則
show variables like '%_server';
-- 查看數(shù)據(jù)庫的字符集和比較規(guī)則
show variables like '%_database';
-- 查看具體數(shù)據(jù)庫的字符集
show create database 表名;
-- 修改具體數(shù)據(jù)庫的字符集
alter database 表名 default character set 'utf8' collate 'utf8_general_ci';

修改數(shù)據(jù)庫的默認字符集和比較規(guī)則后, 原來已經(jīng)創(chuàng)建的表的字符集和比較規(guī)則并不會改變, 需要單獨的去更改

以上就是MySQL基礎(chǔ)學習之字符集的應用的詳細內(nèi)容,更多關(guān)于MySQL字符集的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 允許遠程用戶訪問mysql服務sql語句

    允許遠程用戶訪問mysql服務sql語句

    本節(jié)主要介紹了如何允許遠程用戶訪問mysql服務,本例授權(quán)192.168.14.1 主機的cakephp用戶訪問cakephp數(shù)據(jù)庫
    2014-07-07
  • mysql修改數(shù)據(jù)庫默認路徑無法啟動問題的解決

    mysql修改數(shù)據(jù)庫默認路徑無法啟動問題的解決

    這篇文章主要給大家介紹了關(guān)于mysql修改數(shù)據(jù)庫默認路徑無法啟動問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • MYSQL8如何快速修改root密碼

    MYSQL8如何快速修改root密碼

    MySQL8的改密碼跟MySQL5不同,很多朋友都遇到過這個問題,今天小編給大家講解下MYSQL8如何快速修改root密碼,需要的朋友可以參考下
    2023-05-05
  • MySQL正則表達式REGEXP使用詳解

    MySQL正則表達式REGEXP使用詳解

    MySQL中正則表達式通常被用來檢索或替換符合某個模式的文本內(nèi)容,根據(jù)指定的匹配模式匹配文中符合要求的特殊字符串,下面這篇文章主要給大家介紹了關(guān)于MySQL正則表達式REGEXP使用的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Mysql 如何查詢時間段交集

    Mysql 如何查詢時間段交集

    這篇文章主要介紹了Mysql 查詢時間段交集的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • mysql中文排序注意事項與實現(xiàn)方法

    mysql中文排序注意事項與實現(xiàn)方法

    mysql在查詢字符串時是大小寫不敏感的,在編繹mysql時一般以ISO-8859字符集作為默認的字符集,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象,比較應急的方法是對于包含中文的字段加上"binary"屬性,使之作二進制比較
    2008-09-09
  • 全面解析Windows下安裝 mysql5.7的方法

    全面解析Windows下安裝 mysql5.7的方法

    這篇文章主要介紹了全面解析Windows下安裝 mysql5.7的方法的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • ARM64架構(gòu)下安裝mysql5.7.22的全過程

    ARM64架構(gòu)下安裝mysql5.7.22的全過程

    這篇文章主要介紹了ARM64架構(gòu)下安裝mysql5.7.22的全過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • mysql8.0.11數(shù)據(jù)目錄遷移的實現(xiàn)

    mysql8.0.11數(shù)據(jù)目錄遷移的實現(xiàn)

    這篇文章主要介紹了mysql8.0.11數(shù)據(jù)目錄遷移的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • MySQL查詢數(shù)據(jù)庫中某個庫、表、索引等所占空間的大小

    MySQL查詢數(shù)據(jù)庫中某個庫、表、索引等所占空間的大小

    MySQL是一個非常流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的查詢操作是非常強大和靈活的。查詢的效率不僅取決于表的大小,而且還取決于索引的大小,本文主要介紹了MySQL查詢數(shù)據(jù)庫中某個庫、表、索引等所占空間的大小,感興趣的可以了解一下
    2024-01-01

最新評論