您的位置:首页 > 数据库 > MySQL

mysql常用的一些命令,用于查看数据库、表、字段编码

2016-04-07 12:56 771 查看
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;

修改字符集命令

级别 命令 时效 备注

服务器 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 永久  

创建时指定字符集

级别 命令

服务器级 在安装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 );

查看字符集:

show variables like 'collation_%';
show variables like 'character_set_%';


创建和修改数据库字符集:

create database mydb character set utf8 collate utf8_general_ci;
alter database mini default character set = gb2312;


修改数据表字符集:

alter table pub_logs default character set = gb2312;
alter table pub_logs convert to character set gb2312;


生成批量修改表字符集:

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'


生成批量修改列字符集:

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'
;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: