【mysql】 數據庫字符集和排序規則


庫的字符集影響表和字段的字符集

  • 數據庫字符集 》表的字符集 》 字段的字符集 (從前往后優先級由低到高,從左往右繼承,如果表沒設置字符集,繼承數據庫的,如果字段沒設置,繼承表的)
  • 數據庫的字符集如果是utf8,表和字段的字符集繼承
  • 字段的字符集和排序規則繼承自表,例如表的字符集為latin1,那表的字段(字符型)都是latin1
  • 修改表的字符集對新增加字段有用,但是老字段字符集不變,應再編寫腳本修改老數據的字符集
  • show variableslike "%char%" ;顯示 character_set_database 為 latin1,如果想顯示utf8,應該修改所有數據庫的默認字符集為utf8
--- 修改數據庫字符集和排序規則
alter database xc  character set utf8 collate utf8_general_ci;
--- 查看數據庫的字符集
select * from information_schema.schemata where schema_name = 'db_name';
--- 修改表默認的字符集
alter table table_name character set gbk collate gbk_bin;
--- 修改表數據的字符集
alter table table_name convert to character set gbk collate gbk_bin; 
--- 查看表的字符集
select * from information_schema.tables where table_schema = 'db_name' and table_name = 'table_name';
--- 修改字段的字符集
alter table table_name change column_name varchar(50) character set gbk collate gbk_bin;
--- 查看字段的字符集
select * from information_schema.columns where table_schema = 'db_name' and table_name = 'table_name';

如需引用,請注明來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM