MySQL使用字符集與校對(duì)順序使用圖文說(shuō)明教程
發(fā)表時(shí)間:2023-08-28 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]使用字符集和校對(duì)順序MySQL支持眾多的字符集。為查看所支持的字符集完整列表,使用以下語(yǔ)句:輸入:show character set;分析:這條語(yǔ)句顯示所有可用的字符集以及每個(gè)字符集的描述和默認(rèn)校對(duì)。為了查看所支持校對(duì)的完整列表,使用以下語(yǔ)句:輸入:show collation;分析:此語(yǔ)句顯示...
使用字符集和校對(duì)順序MySQL支持眾多的字符集。為查看所支持的字符集完整列表,使用以下語(yǔ)句:
輸入:
show character set;
分析:這條語(yǔ)句顯示所有可用的字符集以及每個(gè)字符集的描述和默認(rèn)校對(duì)。
為了查看所支持校對(duì)的完整列表,使用以下語(yǔ)句:
輸入:
show collation;
分析:此語(yǔ)句顯示所有可用的校對(duì),以及它們適用的字符集。可以看到有的字符集具有不止一種校對(duì)。例如, latin1 對(duì)不同的歐洲語(yǔ)言有幾種校對(duì),而且許多校對(duì)出現(xiàn)兩次,一次區(qū)分大小寫(xiě)(由 _cs 表示),一次不區(qū)分大小寫(xiě)(由 _ci 表示)。
通常系統(tǒng)管理在安裝時(shí)定義一個(gè)默認(rèn)的字符集和校對(duì)。此外,也可以在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),指定默認(rèn)的字符集和校對(duì)。為了確定所用的字符集和校對(duì),可以使用以下語(yǔ)句:
輸入:
show variables like 'character%';
show variables like 'collation%';
實(shí)際上,字符集很少是服務(wù)器范圍(甚至數(shù)據(jù)庫(kù)范圍)的設(shè)置。不同的表,甚至不同的列都可能需要不同的字符集,而且兩者都可以在創(chuàng)建表時(shí)指定。
為了給表指定字符集和校對(duì),可使用帶子句的 CREATE TABLE:
輸入:
create table mytable
(
columnn1 int,
columnn2 varchar(10)
)default character set hebrew collate hebrew_general_ci;
分析:此語(yǔ)句創(chuàng)建一個(gè)包含兩列的表,并且指定一個(gè)字符集和一個(gè)校對(duì)順序。
這個(gè)例子中指定了 CHARACTER SET 和 COLLATE 兩者。一般,MySQL如下確定使用什么樣的字符集和校對(duì)。
1.如果指定 CHARACTER SET 和 COLLATE 兩者,則使用這些值。
2.如果只指定 CHARACTER SET ,則使用此字符集及其默認(rèn)的校對(duì)(如SHOW CHARACTER SET 的結(jié)果中所示)。
3.如果既不指定 CHARACTER SET ,也不指定 COLLATE ,則使用數(shù)據(jù)庫(kù)默認(rèn)。
除了能指定字符集和校對(duì)的表范圍外,MySQL還允許對(duì)每個(gè)列設(shè)置它們,如下所示:
輸入:
create table mytable
(
columnn1 int,
columnn2 varchar(10),
columnn3 varchar(10) character set latin1 collate latin1_general_ci
latin_grneral_ci
)default character set hebrew collate hebrew_general_ci;
分析:這里對(duì)整個(gè)表以及一個(gè)特定的列指定了 CHARACTER SET 和COLLATE 。
如前所述,校對(duì)在對(duì)用 ORDER BY子句檢索出來(lái)的數(shù)據(jù)排序時(shí)起重要的作用。如果你需要用與創(chuàng)建表時(shí)不同的校對(duì)順序排序特定的 SELECT 語(yǔ)句,可以在 SELECT 語(yǔ)句自身中進(jìn)行:
輸入:
select * from customers order by lastname,firstname collate latin1_general_cs;
分析:此 SELECT 使用 COLLATE 指定一個(gè)備用的校對(duì)順序(在這個(gè)例子中,為區(qū)分大小寫(xiě)的校對(duì))。這顯然將會(huì)影響到結(jié)果排序的次序。
臨時(shí)區(qū)分大小寫(xiě) 上面的 SELECT 語(yǔ)句演示了在通常不區(qū)分大小寫(xiě)的表上進(jìn)行區(qū)分大小寫(xiě)搜索的一種技術(shù)。當(dāng)然,反過(guò)來(lái)也是可以的。
SELECT 的其他 COLLATE 子句 除了這里看到的在 ORDER BY子句 中使用以外, COLLATE 還可以用于 GROUP BY 、 HAVING 、聚集函數(shù)、別名等。
最后,值得注意的是,如果絕對(duì)需要,串可以在字符集之間進(jìn)行轉(zhuǎn)換。為此,使用 Cast() 或 Convert ()函數(shù)。
【相關(guān)推薦】
1. mysql免費(fèi)視頻教程
2. MySQL字符集和校對(duì)順序簡(jiǎn)介
3. MySQL事務(wù)-使用保留點(diǎn)、更改默認(rèn)的提交行為詳解
4. MySQL事務(wù)-ROLLBACK,COMMIT用法詳解
5. MySQL事務(wù)處理實(shí)例講解
以上就是MySQL使用字符集和校對(duì)順序使用教程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。