本文详细介绍在 MySQL 中创建数据库的三种常用方法:使用 SQL 语句、mysqladmin 命令行工具以及 PHP 脚本。涵盖基础语法、字符集设置、权限管理及错误处理,帮助开发者快速掌握数据库初始化的核心技能。
创建数据库的最终效果预览
在开始操作之前,我们先明确创建数据库成功与失败时的典型界面表现。成功时,终端或脚本会返回确认信息;若数据库已存在且未处理异常,则会抛出错误提示。掌握这些反馈有助于快速排查问题。
操作前准备说明
在执行创建数据库操作前,请确保满足以下条件:
- MySQL 服务运行中:确保 MySQL 服务器已启动并可访问。
- 用户权限:执行创建操作的用户需拥有
CREATE权限。通常root用户拥有最高权限,普通用户可能需要管理员授权。 - 数据库命名规范:数据库名应遵循标识符命名规则,避免使用保留字,建议采用小写字母、数字和下划线组合。
方法一:使用 SQL 语句创建数据库
这是最常用且推荐的方式,通过 mysql 客户端执行 CREATE DATABASE 语句。该方法灵活,支持指定字符集和排序规则。
第1步:登录 MySQL 服务器
首先需要通过命令行登录到 MySQL 服务。使用 -u 指定用户名,-p 提示输入密码。
[root@host]# mysql -u root -p
Enter password:******
登录成功后,你将看到 mysql> 提示符,表示已进入 MySQL 交互终端。
第2步:执行 CREATE DATABASE 语句
在 mysql> 提示符下,输入创建数据库的基本语法。以下示例创建一个名为 RUNOOB 的数据库:
mysql> CREATE DATABASE RUNOOB;
执行成功后,数据库即被创建。此时可使用 SHOW DATABASES; 命令验证。
第3步:指定字符集与排序规则(可选)
为了支持多语言字符(如中文、Emoji等),建议显式指定字符集为 utf8mb4,并设置排序规则。这能避免后续数据插入时的乱码问题。
CREATE DATABASE mydatabase
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
参数说明:
CHARACTER SET:定义数据库默认字符集,utf8mb4是 UTF-8 的完整实现,支持所有 Unicode 字符。COLLATE:定义字符排序规则,utf8mb4_general_ci表示不区分大小写的通用排序。
第4步:处理数据库已存在的情况
如果尝试创建已存在的数据库,MySQL 会报错。为避免错误中断脚本执行,可使用 IF NOT EXISTS 子句:
CREATE DATABASE IF NOT EXISTS mydatabase;
该语句在数据库不存在时创建,存在时则静默跳过,不会报错。
方法二:使用 mysqladmin 命令行工具
mysqladmin 是 MySQL 提供的强大管理命令行工具,适合在服务器层面或脚本中执行管理任务,如创建数据库、重启服务等。
第5步:执行 mysqladmin 创建命令
无需登录 MySQL 交互界面,直接在系统终端执行以下命令:
[root@host]# mysqladmin -u root -p create RUNOOB
Enter password:******
参数解析:
-u root:指定登录用户为root。-p:提示输入密码。create:指定操作类型为创建数据库。RUNOOB:目标数据库名称。
执行成功后,数据库 RUNOOB 即被创建。若指定字符集,可追加参数:
mysqladmin -u root -p create mydatabase \
--default-character-set=utf8mb4 \
--default-collation=utf8mb4_general_ci
方法三:使用 PHP 脚本创建数据库
在 Web 开发中,常通过 PHP 脚本动态创建数据库。PHP 使用 mysqli_query() 函数执行 SQL 语句。
第6步:建立数据库连接
首先使用 mysqli_connect() 连接到 MySQL 服务器。注意:创建数据库不需要先选择特定数据库,只需连接服务器本身。
';
?>
第7步:执行创建数据库查询
连接成功后,构造 CREATE DATABASE 语句并通过 mysqli_query() 执行:
$sql = 'CREATE DATABASE RUNOOB';
$retval = mysqli_query($conn, $sql);
if(! $retval ) {
die('创建数据库失败: ' . mysqli_error($conn));
}
echo "数据库 RUNOOB 创建成功
";
mysqli_close($conn);
?>
函数说明:
mysqli_query(connection, query):执行 SQL 查询。对于CREATE、INSERT等不返回结果集的操作,成功返回TRUE,失败返回FALSE。mysqli_error():获取最近一次操作的错误信息,用于调试。
结果验证与图片对照
执行上述 PHP 脚本后,根据数据库是否已存在,终端或浏览器会输出不同结果。请对照以下图片确认执行状态:


常见问题与调整建议
问题1:权限不足导致创建失败
表现:执行命令后提示 Access denied for user...。
原因:当前用户没有 CREATE 权限。
解决:使用 root 用户登录,或由管理员授予权限:GRANT CREATE ON *.* TO 'username'@'host';
问题2:字符集设置不当导致乱码
表现:数据库创建成功,但插入中文数据时出现乱码或报错。
原因:未指定 utf8mb4 字符集,默认可能为 latin1。
解决:创建数据库时显式指定 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci。
问题3:数据库名包含特殊字符或保留字
表现:语法错误 ERROR 1064。
解决:避免使用保留字(如 order, select),若必须使用,请用反引号 `database_name` 包裹。
总结
本文涵盖了 MySQL 创建数据库的三种核心方式:SQL 语句、mysqladmin 命令行以及 PHP 脚本。关键点在于:
- SQL 语句最灵活,支持字符集和排序规则的精确定义。
mysqladmin适合服务器管理场景,无需进入交互界面。- PHP 脚本适用于 Web 应用动态初始化,需做好错误处理。
无论使用哪种方法,建议始终指定 utf8mb4 字符集以支持完整 Unicode,并确保执行用户拥有足够权限。以上就是 MySQL 创建数据库的详细内容,更多关于 MySQL 基础操作的资料请关注本站其它相关文章!
