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


原文地址:https://www.cnblogs.com/xiaozengzeng/p/12042180.html