1、字符集概述
大家都知道,計(jì)算機(jī)只能識(shí)別二進(jìn)制碼,為了讓計(jì)算機(jī)能處理文字,人們給每個(gè)文字進(jìn)行編碼,這個(gè)編碼就是計(jì)算機(jī)字符集的由來。
字符集是多個(gè)字符的集合,而字符是各種文字、符號(hào)和編碼的總稱。MySQL提供了字符集支持,可以使用各種字符集存儲(chǔ)數(shù)據(jù)。可以在服務(wù)器,數(shù)據(jù)庫,表和列級(jí)別指定字符集。
MySQL常用字符集
MySQL排序規(guī)則后綴
2、MySQL的字符集和排序規(guī)則
字符集:用來定義MySQL存儲(chǔ)字符串的方式
排序規(guī)則:用來定義比較字符串的方式。
字符集和排序規(guī)則是一對(duì)多的關(guān)系。
在同一服務(wù)器,同一數(shù)據(jù)庫甚至同一表中混合使用具有不同字符集或排序規(guī)則的字符串
3、MySQL字符集的設(shè)置
服務(wù)器字符集和排序規(guī)則
服務(wù)器字符集和排序規(guī)則,可以在MySQL的配置文件匯中設(shè)置。
在my.cnf中設(shè)置
[mysql] character_set_server=utf8
查詢當(dāng)前服務(wù)器的字符集和排序規(guī)則
show variables like 'character_set_server'; show variables like 'collation_server';
數(shù)據(jù)庫字符集和排序規(guī)則
數(shù)據(jù)庫字符集和排序規(guī)則可以在創(chuàng)建數(shù)據(jù)庫的時(shí)候指定,也可以在創(chuàng)建完數(shù)據(jù)庫后通過‘a(chǎn)lter database’命令進(jìn)行修改。如果數(shù)據(jù)庫里已經(jīng)存在數(shù)據(jù),則以前的數(shù)據(jù)還是按照久的字符集進(jìn)行存儲(chǔ),新數(shù)據(jù)按照新的字符集存放。
設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則
設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則
查詢當(dāng)前數(shù)據(jù)庫的字符集和排序規(guī)則
show variables like 'character_set_database'; show variables like 'collation_ database';
MySQL設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則的規(guī)則如下:
如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則
如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則
如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集
如果未指定字符集和排序規(guī)則,則使用服務(wù)器字符集和服務(wù)器排序規(guī)則。
表字符集和排序規(guī)則
表的字符集和排序規(guī)則在創(chuàng)建表的時(shí)候指定,也可以通過alter table命令進(jìn)行修改,如果表中已有數(shù)據(jù),修改字符集對(duì)原有數(shù)據(jù)沒有影響。
設(shè)置表字符集和排序規(guī)則
設(shè)置表字符集和排序規(guī)則
查詢當(dāng)前表的字符集和排序規(guī)則
show create table
MySQL設(shè)置表字符集和排序規(guī)則的規(guī)則如下:
如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則
如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則
如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集
如果未指定字符集和排序規(guī)則,則使用數(shù)據(jù)庫字符集和服務(wù)器排序規(guī)則。
列字符集和排序規(guī)則
每個(gè)“ 字符 ”列(即,類型列 CHAR, VARCHAR中, TEXT類型)都有字符集和列排序規(guī)則。列定義語法,CREATE TABLE并 ALTER TABLE具有用于指定列字符集和排序規(guī)則的可選子句:
設(shè)置列字符集和排序規(guī)則
查詢當(dāng)前列的字符集和排序規(guī)則
show create table
MySQL設(shè)置列字符集和排序規(guī)則的規(guī)則如下:
如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則
如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則
如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集
如果未指定字符集和排序規(guī)則,則使用表字符集和服務(wù)器排序規(guī)則。
4、MySQL字符集修改
修改帶有歷史數(shù)據(jù)的數(shù)據(jù)庫的字符集,步驟如下:
導(dǎo)出表結(jié)構(gòu)
手工修改導(dǎo)出文件的字符集為新的字符集
導(dǎo)出所有記錄
修改數(shù)據(jù)文件的字符集
創(chuàng)建新的數(shù)據(jù)庫
利用導(dǎo)出的文件建表
利用導(dǎo)出的文件導(dǎo)入數(shù)據(jù)
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4085瀏覽量
68569 -
MySQL
+關(guān)注
關(guān)注
1文章
931瀏覽量
29775
發(fā)布評(píng)論請(qǐng)先 登錄
深入解析GT24L24A2Y16標(biāo)準(zhǔn)點(diǎn)陣中外文字庫芯片
GT24L16A2Y20標(biāo)準(zhǔn)點(diǎn)陣中外文字庫芯片:設(shè)計(jì)與應(yīng)用解析
MAX16050/MAX16051:具備反向排序功能的電壓監(jiān)控與排序電路
字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?
C語言插入排序算法和代碼
恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫
光纖線芯都是按照什么顏色排序的
如何查看電能質(zhì)量在線監(jiān)測裝置的數(shù)據(jù)自動(dòng)清理規(guī)則參數(shù)設(shè)置是否成功?
電能質(zhì)量在線監(jiān)測裝置如何設(shè)置數(shù)據(jù)自動(dòng)清理規(guī)則的參數(shù)?
Coremark測試集分析與性能優(yōu)化思路
如何給rt-thread studio 2.2.8 ide工具安裝支持其他字符編碼,如gb2312等?
MySQL數(shù)據(jù)備份與恢復(fù)策略
企業(yè)級(jí)MySQL數(shù)據(jù)庫管理指南
網(wǎng)課回放 I 升級(jí)版“一站式” PCB 設(shè)計(jì)第四期:規(guī)則設(shè)置
MySQL字符集的設(shè)置修改和排序規(guī)則
評(píng)論