1、字符集概述
大家都知道,計算機只能識別二進制碼,為了讓計算機能處理文字,人們給每個文字進行編碼,這個編碼就是計算機字符集的由來。
字符集是多個字符的集合,而字符是各種文字、符號和編碼的總稱。MySQL提供了字符集支持,可以使用各種字符集存儲數據。可以在服務器,數據庫,表和列級別指定字符集。
MySQL常用字符集
MySQL排序規則后綴
2、MySQL的字符集和排序規則
字符集:用來定義MySQL存儲字符串的方式
排序規則:用來定義比較字符串的方式。
字符集和排序規則是一對多的關系。
在同一服務器,同一數據庫甚至同一表中混合使用具有不同字符集或排序規則的字符串
3、MySQL字符集的設置
服務器字符集和排序規則
服務器字符集和排序規則,可以在MySQL的配置文件匯中設置。
在my.cnf中設置
[mysql] character_set_server=utf8
查詢當前服務器的字符集和排序規則
show variables like 'character_set_server'; show variables like 'collation_server';
數據庫字符集和排序規則
數據庫字符集和排序規則可以在創建數據庫的時候指定,也可以在創建完數據庫后通過‘alter database’命令進行修改。如果數據庫里已經存在數據,則以前的數據還是按照久的字符集進行存儲,新數據按照新的字符集存放。
設置數據庫字符集和排序規則
設置數據庫字符集和排序規則
查詢當前數據庫的字符集和排序規則
show variables like 'character_set_database'; show variables like 'collation_ database';
MySQL設置數據庫字符集和排序規則的規則如下:
如果指定了字符集和排序規則,則使用指定的字符集和排序規則
如果指定了字符集未指定排序規則,則使用指定字符集其默認排序規則
如果指定了排序規則但未指定字符集,則使用與排序規則相關的字符集
如果未指定字符集和排序規則,則使用服務器字符集和服務器排序規則。
表字符集和排序規則
表的字符集和排序規則在創建表的時候指定,也可以通過alter table命令進行修改,如果表中已有數據,修改字符集對原有數據沒有影響。
設置表字符集和排序規則
設置表字符集和排序規則
查詢當前表的字符集和排序規則
show create table
MySQL設置表字符集和排序規則的規則如下:
如果指定了字符集和排序規則,則使用指定的字符集和排序規則
如果指定了字符集未指定排序規則,則使用指定字符集其默認排序規則
如果指定了排序規則但未指定字符集,則使用與排序規則相關的字符集
如果未指定字符集和排序規則,則使用數據庫字符集和服務器排序規則。
列字符集和排序規則
每個“ 字符 ”列(即,類型列 CHAR, VARCHAR中, TEXT類型)都有字符集和列排序規則。列定義語法,CREATE TABLE并 ALTER TABLE具有用于指定列字符集和排序規則的可選子句:
設置列字符集和排序規則
查詢當前列的字符集和排序規則
show create table
MySQL設置列字符集和排序規則的規則如下:
如果指定了字符集和排序規則,則使用指定的字符集和排序規則
如果指定了字符集未指定排序規則,則使用指定字符集其默認排序規則
如果指定了排序規則但未指定字符集,則使用與排序規則相關的字符集
如果未指定字符集和排序規則,則使用表字符集和服務器排序規則。
4、MySQL字符集修改
修改帶有歷史數據的數據庫的字符集,步驟如下:
導出表結構
手工修改導出文件的字符集為新的字符集
導出所有記錄
修改數據文件的字符集
創建新的數據庫
利用導出的文件建表
利用導出的文件導入數據
-
數據庫
+關注
關注
7文章
3767瀏覽量
64280 -
MySQL
+關注
關注
1文章
802瀏覽量
26452
發布評論請先 登錄
相關推薦
評論