mysql 字符集测试_Mysql 数据库修改字符集-测试

mysql的字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念。字符集是用来定义mysql存储字符串的方式,校对规则则是定义了比较字符串的方式。字符集和校对规则是一对多的关系, MySQL支持30多种字符集的70多种校对规则。

每个字符集至少对应一个校对规则。可以用SHOW COLLATION LIKE 'utf8%';命令查看相关字符集的校对规则。

字符集设置

mysql的字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和字段级。分别在不同的地方设置,作用也不相同。

服务器字符集和校对,在mysql服务启动的时候确定。可以在my.cnf中设置:

[mysqld]

default-character-set=utf8

或者在启动选项中指定:

mysqld

--default-character-set=utf8

或者在编译的时候指定:

./configure --with-charset=utf8

如果没有特别的指定服务器字符集,默认使用latin1作为服务器字符集。上面三种设置的方式都只指定了字符集,没有指定校对规则,这样是使用该字符集默认的校对规则,如果要使用该字符集的非默认校对规则,则需要在指定字符集的同时指定校对规则。

可以用show variables like 'character_set_server';命令查询当前服务器的字符集和校对规则。

通过MYsql名利行修改字符集:

更改客户端、服务器、数据库字符集的命令

set

character_set_client=utf8;

set

character_set_connection=utf8;

set

character_set_database=utf8;

set

character_set_results=utf8;

set

character_set_server=utf8;

set

character_set_system=utf8;

set

collation_connection=utf8;

set

collation_database=utf8;

set

collation_server=utf8;

查看字符集:

show variables like 'collation_%';

show variables like 'character_set_%';

修改数据库字符集:

1 ---1.修改数据库字符集

2 alter database mini default character set = gb2312;

3 ----2.创建数据库设置字符集

4 create database mydb character set gb2312;

修改表字符集:

1 alter table pub_logs default character set = gb2312;

2 alter table pub_logs convert to character set gb2312;

生成批量改表字符集:

1 SELECT a.TABLE_TYPE,CONCAT('alter TABLE ',A.TABLE_NAME,' default character set = gb2312;')  FROM INFORMATION_SCHEMA.TABLES A

2 WHERE A.TABLE_SCHEMA='MINI'

3 AND a.TABLE_TYPE='BASE TABLE'

4 ;

生成批量更改列字符集:

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';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值