MySQL创建数据库(CREATE DATABASE语句)

         在 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 支持 39 种字符集的将近 200 种校对规则。

实例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)

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

mysql> CREATE DATABASE test_db;
ERROR 1007 (HY000): Can't create database 'test_db'; database exists

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.05 sec)


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

  • utf8 能够存储全球的所有字符,在任何国家都可以使用,默认的校对规则为 utf8_general_ci,对于中文可以使用 utf8_general_ci。
  • gbk 只能存储汉语涉及到的字符,不具有全球通用性,默认的校对规则为 gbk_chinese_ci。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 "CREATE DATABASE" 语句创建数据库时,并不会直接创建数据文件。这个语句只是告诉数据库系统需要创建一个新的数据库,并为该数据库分配一些系统资源。实际的数据文件在第一次向该数据库添加数据时自动生成。 以下是创建 MySQL 数据库的示例代码: ``` CREATE DATABASE mydatabase; ``` 这将创建一个名为 "mydatabase" 的数据库。要在 SQL Server 中创建数据库,请使用以下代码: ``` CREATE DATABASE mydatabase ON PRIMARY ( NAME = mydatabase_data, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\mydatabase_data.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB ) LOG ON ( NAME = mydatabase_log, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\mydatabase_log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ); ``` 这将创建一个名为 "mydatabase" 的数据库,并在 C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA 目录下创建两个文件:mydatabase_data.mdf 和 mydatabase_log.ldf。其中,mydatabase_data.mdf 是主数据文件,mydatabase_log.ldf 是日志文件。 ### 回答2: 使用"CREATE DATABASE"语句可以创建数据库和相关的数据文件。此语句用于在数据库管理系统中创建一个新的数据库。 首先,我们需要打开数据库管理系统,如MySQL或SQL Server。然后,在系统的控制台或查询编辑器中,输入以下命令: CREATE DATABASE 数据库名; 其中,"数据库名"是你想创建的数据库的名称。可以根据需要自行命名。创建数据库时,系统会自动分配相应的数据文件,默认情况下,会将这些文件存储在默认的数据目录中。 执行完上述命令后,系统将创建一个新的数据库,并将其名称添加到数据库列表中。同时,系统也会为该数据库创建一个相关的数据文件,以便于存储表、记录以及其他的数据库对象和数据。 正常情况下,创建数据库的操作是在数据库管理系统的超级用户或具有特定权限的用户下进行的,因为这涉及到对系统资源的管理和操作。在执行"CREATE DATABASE"语句之前,确保您拥有足够的权限来创建数据库。 总之,通过使用"CREATE DATABASE"语句,我们可以方便地创建数据库和相关的数据文件,以支持后续的数据管理和操作。 ### 回答3: 使用"CREATE DATABASE"语句可以在SQL Server数据库中创建一个新的数据库。该语句创建一个空的数据库,但是还没有任何相关的数据文件。 创建数据库语法如下: CREATE DATABASE 数据库名称 例如,要创建一个名为"mydatabase"的数据库,可以使用以下语句CREATE DATABASE mydatabase 这个语句将在SQL Server中创建一个名为"mydatabase"的数据库,但是此时数据库中没有任何数据文件。 要创建数据库数据文件,可以使用"ALTER DATABASE"语句来添加文件。例如,可以使用以下语句在"mydatabase"数据库中添加一个数据文件: ALTER DATABASE mydatabase ADD FILE ( NAME = 'mydata', FILENAME = 'D:\mydata.mdf', SIZE = 100MB, MAXSIZE = UNLIMITED, FILEGROWTH = 20MB ) 上述语句将在"mydatabase"数据库中添加一个名为"mydata"的数据文件,路径为"D:\mydata.mdf"。该文件的初始大小为100MB,最大大小为无限制,并且每次自动增长20MB。 通过使用"CREATE DATABASE"和"ALTER DATABASE"语句,我们可以在SQL Server中创建数据库并为其添加数据文件。这些数据文件用于存储实际的数据库信息和数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值