SQL CREATE DATABASE创建数据库的用法(附带实例)
在 SQL 中,创建数据库是通过 CREATE DATABASE 语句实现的,完整的语法格式如下:
字符集是一套符号和编码,在数据库中指定字符集是为了定义数据库存储字符串的方式;校对规则是在字符集内用于比较字符的一套规则。
【实例】用最简单的方式创建 test01 数据库。
可以看到在成功创建数据库后,出现了“Query OK,1 row affected(0.001 sec)”的提示信息。其中,Query OK 表示命令执行成功,1 row affected 表示只影响了数据库中的一行记录,(0.001 sec)表示命令执行的时间。
用完整的命令格式创建 test02 数据库。
CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET<字符集名>] [[DEFAULT] COLLATE<校对规则名>];
语句中每段的具体含义如下:[ ] 中的内容是可选的。
- CREATE DATABASE:创建数据库的关键命令,固定不变。
- [IF NOT EXISTS]:可选配置,用来避免创建重复名称的数据库。
- <数据库名>:数据库名称。不区分大小写且不能以数字开头,名称尽量做到“见名知意”。
- [[DEFAULT] CHARACTER SET<字符集名>]:指定数据库的字符集,避免数据库中的数据出现乱码的情况。
- [[DEFAULT] COLLATE<校对规则名>]:指定字符集的默认校对规则。
字符集是一套符号和编码,在数据库中指定字符集是为了定义数据库存储字符串的方式;校对规则是在字符集内用于比较字符的一套规则。
【实例】用最简单的方式创建 test01 数据库。
MariaDB [(none)]> create database test01; #创建一个数据库 Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> create database test01; #再一次创建同名数据库 ERROR 1007 (HY000): Can't create database 'test01'; database exists #提示数据库已存在 MariaDB [(none)]> create database IF NOT EXISTS test01; #加入 [IF NOT EXISTS] 配置 Query OK, 0 rows affected, 1 warning (0.000 sec) MariaDB [(none)]> show databases; #查看当前数据库 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test01 | +--------------------+ 5 rows in set (0.000 sec)
可以看到在成功创建数据库后,出现了“Query OK,1 row affected(0.001 sec)”的提示信息。其中,Query OK 表示命令执行成功,1 row affected 表示只影响了数据库中的一行记录,(0.001 sec)表示命令执行的时间。
用完整的命令格式创建 test02 数据库。
MariaDB [(none)]> create database if not exists test02 -> default character set utf8 -> default collate utf8_general_ci; Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> show create database test02; #查看指定数据库的定义声明 +----------------+-----------------------------------------------------------------+ | Database | Create Database | +----------------+-----------------------------------------------------------------+ | test02 | CREATE DATABASE `test02` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------------+-----------------------------------------------------------------+ 1 row in set (0.000 sec) #只有 1 行信息,处理时间为 0.00s