
3.2 创建数据库

默认情况下,只有系统管理员和具有创建数据库角色的登录账户的拥有者,才可以创建数据库。在MySQL中,root用户拥有最高权限,因此使用root用户登录MySQL数据库后,就可以创建数据库了。
3.2.1 使用CREATE DATABASE语句创建
在MySQL中,SQL提供了创建数据库的语句CREATE DATABASE,其基本语法格式如下:
CREATE DATABASE database_name;
主要参数为database_name:为要创建的数据库的名称,该名称不能与已经存在的数据库重名。
【实例1】创建数据库mybase,输入语句如下:
CREATE DATABASE mybase;
按Enter键,执行语句,创建名为mybase的数据库,如图3-3所示。
【实例2】查看数据库mybase是否创建成功,输入语句如下:
SHOW DATABASES;
按Enter键,执行语句,可以在数据库列表中看到刚刚创建的数据库mybase以及其他原有的数据库,这就说明数据库已创建成功,如图3-4所示。

图3-3 创建数据库mybase

图3-4 查看数据库mybase
3.2.2 使用mysqladmin命令创建
使用root用户登录MySQL数据库后,除使用CREATE DATABASE语句创建数据库外,还可以使用mysqladmin命令来创建数据库。
【实例3】使用mysqladmin命令创建数据库book,输入语句如下:
mysqladmin -u root -p create book Enter password:******
以上命令执行成功后会创建MySQL数据库book,如图3-5所示。
【实例4】查看数据库book是否创建成功,输入语句如下:
SHOW DATABASES;
按Enter键,执行语句,可以在数据库列表中看到刚刚创建的数据库book以及其他原有的数据库,这就说明数据库已创建成功,如图3-6所示。

图3-5 使用mysqladmin命令创建

图3-6 查看数据库book
3.2.3 使用PHP脚本创建
使用PHP中的mysqli_query函数可以创建或者删除MySQL数据库。该函数有两个参数,在执行成功时返回TRUE,否则返回FALSE。其语法格式如下:
mysqli_query(connection,query,resultmode);
主要参数介绍如下。
- connection:必需。规定要使用的MySQL连接。
- query:必需。规定查询字符串。
- resultmode:可选。一个常量。可以是MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)和MYSQLI_STORE_RESULT(默认)任意一个。
【实例5】使用PHP创建数据库mymaster,输入语句如下:

执行成功后,返回如图3-7所示的结果。
如果数据库已存在,执行后,返回如图3-8所示的结果。

图3-7 创建数据库成功

图3-8 创建数据库失败
知识扩展:使用root登录MySQL后,还可以使用如下命令创建数据库。
CREATE DATABASE IF NOT EXISTS book DEFAULT CHARSET UTF-8 COLLATE utf8_general_ci;
该命令的作用为:如果book数据库不存在则创建,存在则不创建,并设定book数据库的编码集为UTF-8。