MySQL之创建数据库

1、创建数据库create database或CREATE DATABASE   //数据库无大小写之分

create database <basename>                 或   CREATE DATABASE <BASENAME>        或create database if not exists <basename>

[[default] character set <字符集名> ]                        [[ DEFAULT ]CHARACTER SET <字符集名>]

[[default ]collate <校对规则名> ]                            [[DEFAULT] COLLATE<校对规则名>]

[ ]中的内容是可选的。语法说明如下:
<数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,注意在 MySQL 中不区分大小写。
IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
[DEFAULT] CHARACTER SET:指定数据库的默认字符集。
[DEFAULT] COLLATE:指定字符集的默认校对规则。

MySQL 的字符集(CHARACTER)和校对规则(COLLATION)两个不同的概念:字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式,解决排序和字符分组的问题。

字符集和校对规则是一对多的关系,每个字符集至少对应一个校对规则,MySQL 支持 39 种字符集的将近 200 种校对规则。


实例1:最简单的创建 MySQL 数据库的语句
在 MySQL 中创建一个名为 test_db 的数据库。在 MySQL 命令行客户端输入 SQL 语句CREATE DATABASE test_db;即可创建一个数据库,输入的 SQL 语句与执行结果如下。

 

 

 

 MySQL 不允许在同一系统创建两个相同名称的数据库,所以if not exists就可以避免上述问题;

实例2:创建 MySQL 数据库时指定字符集和校对规则
使用 MySQL 命令行工具创建一个测试数据库,命名为 test_db_int,指定其默认字符集为 utf8,默认校对规则为 utf8_general_ci(简体中文,不区分大小写),输入的 SQL 语句与执行结果如下所示:

 

 2、查询数据支持的编码及对应的校验规则

查询所有的编码及对应的校验规则show collation;

 

 MySQL数据库查看所有可用的字符集,利用命令:show character set;

 

 利用information_schema.character_sets,查看显示所有的字符集和字符集默认的校对规则,利用命令:

desc information_schema.character_sets;

如下图所示:

 

 查看字符集的校对规则

show collation 立刻 ‘<字符集%>’;

 

 

 

 查看当前服务的字符集

show variables like 'character_set_server';

 

 查看当前服务器的校对规则

show variables like 'collation_server';

 

 查看当前数据库的字符集

show variables like 'character_set_database';

 

 查看当前数据库的校对规则

show variables like 'collation_database';

 

 

为防止字符混乱的情况发生,MySQL 有时需要在创建数据库时明确指定字符集;在中国大陆地区,常用的字符集有 utf8 和 gbk。

  • utf8 能够存储全球的所有字符,在任何国家都可以使用,默认的校对规则为 utf8_general_ci,对于中文可以使用 utf8_general_ci。
  • gbk 只能存储汉语涉及到的字符,不具有全球通用性,默认的校对规则为 gbk_chinese_ci。
posted @ 2020-01-06 13:31  菜菜成长记  阅读(5715)  评论(0编辑  收藏  举报