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