MySQL中如何使用CREATE DATABASE语句创建数据库

55次阅读
没有评论

共计 2087 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章将为大家详细讲解有关 MySQL 中如何使用 CREATE DATABASE 语句创建数据库,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下:

CREATE DATABASE [IF NOT EXISTS] 数据库名

[[DEFAULT] CHARACTER SET 字符集名 ]

[[DEFAULT] COLLATE 校对规则名

[]中的内容是可选的。语法说明如下:

数据库名:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。

IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。

[DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。

[DEFAULT] COLLATE:指定字符集的默认校对规则。

MySQL 的字符集 (CHARACTER) 和校对规则 (COLLATION) 是两个不同的概念。字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式。后面我们会单独讲解 MySQL 的字符集和校对规则。

实例 1:最简单的创建 MySQL 数据库的语句

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

mysql CREATE DATABASE test_db;

Query OK, 1 row affected (0.12 sec);

“Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令执行成功,“1 row affected”表示操作只影响了数据库中一行的记录,“0.12 sec”则记录了操作执行的时间。

若再次输入 CREATE DATABASE test_db; 语句,则系统会给出错误提示信息,如下所示:

mysql CREATE DATABASE test_db;

ERROR 1007 (HY000): Can t create database test_db database exists

提示不能创建“test_db”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。

可以加上 IF NOT EXISTS 从句,就可以避免类似错误,如下所示:

mysql CREATE DATABASE IF NOT EXISTS test_db;

Query OK, 1 row affected (0.12 sec)

实例 2:创建 MySQL 数据库时指定字符集和校对规则

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

mysql CREATE DATABASE IF NOT EXISTS test_db_char

– DEFAULT CHARACTER SET utf8

– DEFAULT COLLATE utf8_chinese_ci;

Query OK, 1 row affected (0.03 sec)

这时,可以使用 SHOW CREATE DATABASE 查看 test_db_char 数据库的定义声明,发现该数据库的指定字符集为 utf8,运行结果如下所示:

mysql SHOW CREATE DATABASE test_db_char;

+————–+—————————————————–+

| Database | Create Database |

+————–+—————————————————–+

| test_db_char | CREATE DATABASE `test_db_char` /*!40100 DEFAULT CHARACTER SET utf8 */ |

+————–+—————————————————–+

1 row in set (0.00 sec)

“1 row in set (0.00 sec)”表示集合中有 1 行信息,处理时间为 0.00 秒。时间为 0.00 秒并不代表没有花费时间,而是时间非常短,小于 0.01 秒。

关于 MySQL 中如何使用 CREATE DATABASE 语句创建数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2087字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)