mysql 字符集比較 mysql字符集與比較規則

2021-10-17 22:20:42 字數 2307 閱讀 7746

mysql有4個級別的字符集和比較規則,分別是:

伺服器級別

資料庫級別

表級別列級別

檢視伺服器級別命令:

mysql> show variables like 'character_set_server';+----------------------+-------+

| variable_name | value |

| character_set_server | utf8 |

1 row in set (0.00sec)

mysql> show variables like 'collation_server';+------------------+-----------------+

| variable_name | value |

| collation_server | utf8_general_ci |

1 row in set (0.00 sec)

建立與修改伺服器級別命令:

server]

character_set_server=gbk

collation_server=gbk_chinese_ci

檢視資料庫級別命令:

mysql>use charset_demo_db;

database changed

mysql> show variables like 'character_set_database';+------------------------+--------+

| variable_name | value |

| character_set_database | gb2312 |

1 row in set (0.00sec)

mysql> show variables like 'collation_database';+--------------------+-------------------+

| variable_name | value |

| collation_database | gb2312_chinese_ci |

1 row in set (0.00 sec)

建立與修改資料庫級別命令:

create database 資料庫名

[[default] character set 字符集名稱]

[[default] collate 比較規則名稱];

alter database 資料庫名

[[default] character set 字符集名稱]

[[default] collate 比較規則名稱];

建立與修改表級別命令:

create table 表名 (列的資訊)

[[default] character set 字符集名稱]

[collate 比較規則名稱]]

alter table 表名

[[default] character set 字符集名稱]

[collate 比較規則名稱]

建立與修改列名級別命令:

create table 表名(

列名 字串型別 [character set 字符集名稱] [collate 比較規則名稱],

其他列...

alter table 表名 modify 列名 字串型別 [character set 字符集名稱] [collate 比較規則名稱];

各級別字符集和比較規則小結

我們介紹的這4個級別字符集和比較規則的聯絡如下:

如果建立或修改列時沒有顯式的指定字符集和比較規則,則該列缺省用表的字符集和比較規則

如果建立或修改表時沒有顯式的指定字符集和比較規則,則該錶預設用資料庫的字符集和比較規則

如果建立或修改資料庫時沒有顯式的指定字符集和比較規則,則該資料庫預設用伺服器的字符集和比較規則

mysql中字符集的轉換

我們知道從客戶端發往伺服器的請求本質上就是乙個字串,伺服器向客戶端返回的結果本質上也是乙個字串,而字串其實是使用某種字符集編碼的二進位制資料。這個字串可不是使用一種字符集的編碼方式一條道走到黑的,從傳送請求到返回結果這個過程中伴隨著多次字符集的轉換,在這個過程中會用到3個系統變數,我們先把它們寫出來看一下:

系統變數描述

character_set_client

伺服器解碼請求時使用的字符集

character_set_connection

伺服器處理請求時會把請求字串從character_set_client轉為character_set_connection

character_set_results

伺服器向客戶端返回資料時使用的字符集

mysql 集群字符集 Mysql 字符集

字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...

mysql字符集 MySQL字符集選擇

一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...

mysql 字符集及比較規則

1 字符集與比較規則 字符集 字串和儲存的二進位制的對映關係,某個字元範圍的編碼規則。如 ascii gbk utf8 utf8m64等 比較規則 對某種字符集來說,制定的用來比較字元大小的多種規則 一種字符集多種比較規則,乙個預設規則 比較規則名稱以關聯的字符集名稱開頭,緊跟規則使用語言,字尾是是...