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