MySQL的字符集操作命令总结

时间:2022-02-08 02:36:11

以下均在mysql 5.5命令行中运行通过:

查看MySQL支持的字符集:

复制代码 代码如下:
show charset;


查看字符集:

复制代码 代码如下:
status


下面的更具体:

复制代码 代码如下:
SHOW VARIABLES LIKE 'character_set_%';


查看排序方式:

复制代码 代码如下:
SHOW VARIABLES LIKE 'collation_%';


数据库建立时候一般会使用默认的字符集,除非在建立的时候指定:

复制代码 代码如下:
CREATE DATABASE [db-name] CHARACTER SET utf8 COLLATE utf8_general_ci;


建立table时候指定字符集:

复制代码 代码如下:
create table [table-name] (id int not null ) default charset utf8;


查看database使用的字符集:
方法1:找到存放数据库的目录,进入相应database的目录,查看db.opt文件。
方法2:

复制代码 代码如下:
show create database [db-name];


查看表的字符集:

复制代码 代码如下:
show create table [table-name];


查看数据库中每个表的字符集:

复制代码 代码如下:
show table status from [db-name];


如果每一列后未说明字符集,则列的字符集和表一样。
也可以指定某个表:

复制代码 代码如下:
show table status from [db-name] like '%filter%';


查看表中每一列的字符集:

复制代码 代码如下:
show full columns from [table-name];


或者

复制代码 代码如下:
show table status from [db-name];


修改数据库字符集:

复制代码 代码如下:
ALTER DATABASE [db-name] DEFAULT CHARACTER SET [character-name] COLLATE [collation-name];


修改表和列(字段)的字符集:

复制代码 代码如下:
ALTER TABLE [table-name] CONVERT TO CHARACTER SET [character-name] COLLATE [collation-name];


只是修改表的字符集:

复制代码 代码如下:
ALTER TABLE [table-name] DEFAULT CHARACTER SET [character-name] COLLATE [collation-name];


其他: 可以修改mysql的默认字符集为自己需要的字符集,如utf-8,建表的时候表的字符集默认使用数据库的字符集。不过,个人觉得更好的方式是,在建立数据库时候制定数据库使用的字符集,我们在编写程序时候,也不要忽略这个查询:

复制代码 代码如下:
SET NAMES 'utf8';