mysql数据库的创建问题
数据库客户端工具navicate
1.使用create database语句创建数据库
(1)指定字符集
create [database|schema ]if not exists 数据库名 default character set = 'utf8';
备注:通过default character set = 语句来指定DB的字符集.
(2)指定字符集和指定字符集的校对规则名称[ 校对规则 可选]
create [database|schema ]if not exists 数据库名 default character set = 'utf8' collate utf_bin|gbk_chinese_ci;
2.查看创建的DB的字符集
select schema_name,default_character_set_name from information_schema.schemata where schema_name = 数据库名称;
备注:通过系统表schemata查看可以知道,DB的字符集是utf8的.同时,数据库的字符集是utf8,那么在这个数据库下创建的表的字符集也都是utf8的.也就是数据库的字符集对于后续创建的表是有影响的.
3.建表时没有指定字符集
建表时没有指定,会默认使用数据库的字符集,若库的字符集没有设置,会默认使用数据库服务器的字符集
4. 查看数据库的创建信息:show create database + database_name.
修改字符集: alter database + database_name character set gbk;
查看系统字符集:show variables like 'character_set_%';
5. 修改字符集方式:
修改表的默认字符集:
ALTER TABLE table_name DEFAULT CHARACTER SET character_name;
修改表字段的默认字符集:
ALTER TABLE table_name CHANGE field field field_type CHARACTER SET character_name [other_attribute]
修改表的默认字符集和所有列的字符集:
ALTER TABLE table_name CONVERT TO CHARACTER SET character_name
修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
通过配置文件修改:
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci
为
default-character-set=utf8
default-collation=utf8_general_ci
重起MySQL:
[root@bogon ~]# /etc/rc.d/init.d/mysql restart