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

MySQL基礎(chǔ)學(xué)習(xí)之字符集的應(yīng)用

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

字符集的查詢與修改

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

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

show variables like 'character%';

-- 或

show variables like '%char%';

MySQL 8.0版本查詢默認(rèn)字符集

MySQL 5.7版本查詢默認(rèn)字符集

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

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

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

  • character_set_client 服務(wù)器解碼請(qǐng)求時(shí)使用的字符集
  • character_set_connection 服務(wù)器處理請(qǐng)求時(shí)會(huì)把請(qǐng)求字符串從character_set_client轉(zhuǎn)為character_set_connection
  • character_set_results 服務(wù)器向客戶端返回?cái)?shù)據(jù)時(shí)使用的字符集

字符集比較規(guī)則

utf8mb3和 utf8mb4

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

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

MySQL中, utf8通常指的是 utf8mb4

查看當(dāng)前MySQL支持的字符集可輸入下列查詢:

show charset;
-- 或
show character set;

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

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

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

utf8_unicode_ci和 utf8_general_ci對(duì)中英文來(lái)說(shuō)沒(méi)有區(qū)別 utf8_general_ci 校對(duì)速度快, 準(zhǔn)確度較差 utf8_unicode_ci 準(zhǔn)確度高, 但校對(duì)速度稍慢

一般來(lái)講使用utf8_general_ci就夠了, 但是如果應(yīng)用中使用到德語(yǔ), 法語(yǔ)或者俄語(yǔ), 一定要使用 utf8_unicode_ci, 因?yàn)?utf8_general_ci是一種比較老的標(biāo)準(zhǔn) utf8_unicode_ci會(huì)更符合這些國(guó)家人們的習(xí)慣

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

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

字符集常用SQL

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

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

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

相關(guān)文章

最新評(píng)論

稷山县| 桓仁| 荃湾区| 瓮安县| 牟定县| 盐津县| 江口县| 怀集县| 余江县| 吕梁市| 故城县| 晴隆县| 上杭县| 沁水县| 徐水县| 鸡东县| 五寨县| 贵南县| 喀什市| 子长县| 柞水县| 桂阳县| 石林| 昭苏县| 乌兰县| 桑日县| 抚远县| 会东县| 磴口县| 京山县| 开化县| 城市| 巴楚县| 南汇区| 广水市| 黔南| 乐至县| 新竹市| 多伦县| 饶河县| 内江市|