
CHARSET :給定一系列字符并賦予對應(yīng)的編碼后,所有這些字符和編碼對組成的集合就是字符集(Character Set)。例如,給定字符列表為{‘A’,’B’}時,{‘A’=>0, ‘B’=>1}就是一個字符集;COLLATE 是指在同一字符集內(nèi)字符之間的比較規(guī)則;確定比較規(guī)則后,才能在一個字符集上定義什么是等價的字符,以及字符之間的大小關(guān)系;
COLLATE 會影響到ORDER BY語句的順序,會影響到WHERE條件中大于小于號篩選出來的結(jié)果,會影響DISTINCT、GROUP BY、HAVING語句的查詢結(jié)果。另外,MySQL建索引的時候,如果索引列是字符類型,也會影響索引創(chuàng)建,總之,凡是涉及到字符類型比較或排序的地方,都和COLLATE有關(guān)。命名慣例:以對應(yīng)的字符集名稱開頭;以_ci(表示大小寫不敏感)、_cs(表示大小寫敏感)或_bin(表示按編碼值比較)結(jié)尾。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等價的;