1、字符集概述
大家都知道,計(jì)算機(jī)只能識(shí)別二進(jìn)制碼,為了讓計(jì)算機(jī)能處理文字,人們給每個(gè)文字進(jìn)行編碼,這個(gè)編碼就是計(jì)算機(jī)字符集的由來(lái)。
字符集是多個(gè)字符的集合,而字符是各種文字、符號(hào)和編碼的總稱(chēng)。MySQL提供了字符集支持,可以使用各種字符集存儲(chǔ)數(shù)據(jù)??梢栽诜?wù)器,數(shù)據(jù)庫(kù),表和列級(jí)別指定字符集。
MySQL常用字符集
MySQL排序規(guī)則后綴
2、MySQL的字符集和排序規(guī)則
字符集:用來(lái)定義MySQL存儲(chǔ)字符串的方式
排序規(guī)則:用來(lái)定義比較字符串的方式。
字符集和排序規(guī)則是一對(duì)多的關(guān)系。
在同一服務(wù)器,同一數(shù)據(jù)庫(kù)甚至同一表中混合使用具有不同字符集或排序規(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ù)庫(kù)字符集和排序規(guī)則
數(shù)據(jù)庫(kù)字符集和排序規(guī)則可以在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候指定,也可以在創(chuàng)建完數(shù)據(jù)庫(kù)后通過(guò)‘a(chǎn)lter database’命令進(jìn)行修改。如果數(shù)據(jù)庫(kù)里已經(jīng)存在數(shù)據(jù),則以前的數(shù)據(jù)還是按照久的字符集進(jìn)行存儲(chǔ),新數(shù)據(jù)按照新的字符集存放。
設(shè)置數(shù)據(jù)庫(kù)字符集和排序規(guī)則
設(shè)置數(shù)據(jù)庫(kù)字符集和排序規(guī)則
查詢當(dāng)前數(shù)據(jù)庫(kù)的字符集和排序規(guī)則
show variables like 'character_set_database'; show variables like 'collation_ database';
MySQL設(shè)置數(shù)據(jù)庫(kù)字符集和排序規(guī)則的規(guī)則如下:
如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則
如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則
如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集
如果未指定字符集和排序規(guī)則,則使用服務(wù)器字符集和服務(wù)器排序規(guī)則。
表字符集和排序規(guī)則
表的字符集和排序規(guī)則在創(chuàng)建表的時(shí)候指定,也可以通過(guò)alter table命令進(jìn)行修改,如果表中已有數(shù)據(jù),修改字符集對(duì)原有數(shù)據(jù)沒(méi)有影響。
設(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ù)庫(kù)字符集和服務(wù)器排序規(guī)則。
列字符集和排序規(guī)則
每個(gè)“ 字符 ”列(即,類(lèi)型列 CHAR, VARCHAR中, TEXT類(lèi)型)都有字符集和列排序規(guī)則。列定義語(yǔ)法,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ù)庫(kù)的字符集,步驟如下:
導(dǎo)出表結(jié)構(gòu)
手工修改導(dǎo)出文件的字符集為新的字符集
導(dǎo)出所有記錄
修改數(shù)據(jù)文件的字符集
創(chuàng)建新的數(shù)據(jù)庫(kù)
利用導(dǎo)出的文件建表
利用導(dǎo)出的文件導(dǎo)入數(shù)據(jù)
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3884瀏覽量
65584 -
MySQL
+關(guān)注
關(guān)注
1文章
840瀏覽量
27344
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Altium Designer中PCB設(shè)計(jì)規(guī)則設(shè)置

使用插件將Excel連接到MySQL/MariaDB

MySQL數(shù)據(jù)庫(kù)的安裝

詳解Linux sort命令之掌握排序技巧與實(shí)用案例
云服務(wù)器 Flexus X 實(shí)例 MySQL 應(yīng)用加速測(cè)試

Linux系統(tǒng)設(shè)置用戶密碼規(guī)則(復(fù)雜密碼策略)方法
4G模組LuatOS開(kāi)發(fā)|iconv字符集轉(zhuǎn)換技術(shù)篇

MySQL還能跟上PostgreSQL的步伐嗎

香港云服務(wù)器怎么部署MySQL數(shù)據(jù)庫(kù)?
網(wǎng)關(guān)的設(shè)置規(guī)則
ad如何設(shè)置兩個(gè)元器件的距離
AD9元器件間距規(guī)則如何設(shè)置
Jtti:MySQL初始化操作如何設(shè)置root密碼
MySQL知識(shí)點(diǎn)匯總

華納云:如何修改MySQL的默認(rèn)端口

評(píng)論