1.查看數據庫支持的全部字符集
show character set;或show char set;
2.查看當前狀態 裏面包括固然的字符集設置
status或者\s
3.查看系統字符集設置,包括全部的字符集設置
show variables like 'char%';
4.查看數據表中字符集設置
show full columns from tablename; 或者 show create table tablename\G;
5.查看數據庫編碼
show create database dnname; mysql
修改字符集命令
級別 命令 時效 備註
服務器 SET GLOBAL character_set_server=utf8; 臨時
服務器 修改配置文件: [mysqld] default-character-set=utf8 永久
數據庫 SET GLOBAL character_set_database=utf8; 臨時
數據庫 同修改服務器 臨時
表 ALTER TABLE table_name DEFAULT CHARSET utf8; 永久
列 alter table `t_test` change `name` `name` varchar (255) character set utf8 collate utf8_general_ci null default null; 永久
鏈接 show variables like 'char%'; 臨時
鏈接 修改配置文件: [client] default-character-set=utf8 永久 sql
建立時指定字符集
級別 命令
服務器級 在安裝MySQL時能夠設置服務器的默認編碼格式
數據庫級 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 數據庫
或者 CREATE DATABASE 數據庫名 default charset=utf8 collate=utf8_general_ci;服務器
表級 CREATE TABLE `db_name`.`tb_name` ( id VARCHAR(20) NOT NULL, name VARCHAR(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
列級 CREATE TABLE `db_name`.`tb_name` ( id varchar(20) NOT NULL, name varchar(20) CHARACTER SET utf8);編碼
查看字符集:spa
show variables like 'collation_%'; show variables like 'character_set_%';
建立和修改數據庫字符集:code
create database mydb character set utf8 collate utf8_general_ci; alter database mini default character set = gb2312;
修改數據表字符集:server
alter table pub_logs default character set = gb2312; alter table pub_logs convert to character set gb2312;
生成批量修改表字符集:blog
SELECT a.TABLE_TYPE,CONCAT('alter TABLE ',A.TABLE_NAME,' default character set = gb2312;') FROM INFORMATION_SCHEMA.TABLES A WHERE A.TABLE_SCHEMA='MINI' AND a.TABLE_TYPE='BASE TABLE'
生成批量修改列字符集:ci
SELECT CONCAT(CONCAT(CONCAT('alter TABLE ',c.TABLE_NAME,' modify'),CONCAT(' ',C.COLUMN_NAME,' '),C.COLUMN_TYPE),' ',' character set gb2312 COLLATE gb2312_chinese_ci;') AS CLOU FROM INFORMATION_SCHEMA.COLUMNS C,INFORMATION_SCHEMA.TABLES A WHERE c.TABLE_SCHEMA='MINI' AND A.TABLE_NAME=c.TABLE_NAME AND A.TABLE_TYPE='BASE TABLE' AND c.DATA_TYPE='varchar' ;