MySQL字符集设定与查询
一、字符集设定
mysql数据库允许对服务器、数据库、数据表、数据列级别的字符集作出互不影响的设定。
1、对服务器字符集设定是通过配置文件中选项character-set-server 设置,如 character-set-server =utf8
2、如果想在创建数据库时为它设定一个默认的字符集和排序规则,可以使用如下的形式:
如 create database 数据库名 character set utf8 [collate utf8_general_ci]
如果在创建数据库时没有指定字符集,那么服务器级别的字符集和排序规则设置将传递给这个数据库。
3、如果想为某个数据表设定默认的字符集和排序规则,可以在创建数据表时利用character set和collate数据表选项:
如 create table 数据表名 character set utf8 [collate utf8_general_ci]
如果在创建数据表时没有指定字符集和排序规则,那么数据库级别的默认设置将传递给这个数据表。
4、如果想为数据表里的某个数据列,指定一个默认的字符集和排序规则
如 数据列名 char(10) character set utf8 [collate utf8_general_ci]
如果指定数据列时没有指定字符集和排序规则,那么数据表的默认设置将传递给这个数据列。
character set 和collate属性适用于char、varchar、text、enum和set数据类型。
二、查询数据库支持的字符集和查询当前数据库字符集设置
1、查询数据库支持的字符集和排序规则
show character set ; 或 show charset; ——查询数据库支持的字符集
show collation; ——查询数据库支持的排序规则
2、查看数据库当前使用的字符集和排序规则,可以使用show variables语句:
备注:mysql把数据库的字符集和排序规则属性保存在数据库数据文件下的db.opt文件里。