CREATE DATABASE

创建新数据库,可指定字符集和排序规则

语法

CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];

参数

参数说明示例级别
IF NOT EXISTS 数据库已存在时不报错 CREATE DATABASE IF NOT EXISTS mydb; 常用
CHARACTER SET 指定字符集 CREATE DATABASE mydb CHARACTER SET utf8mb4; 常用
COLLATE 指定排序规则 CREATE DATABASE mydb COLLATE utf8mb4_unicode_ci; 常用
DROP DATABASE 删除数据库 DROP DATABASE IF EXISTS test_db; 危险
SHOW DATABASES 查看所有数据库 SHOW DATABASES; 常用

示例

创建电商数据库

CREATE DATABASE IF NOT EXISTS ecommerce
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;
utf8mb4 支持 emoji 等 4 字节字符

查看数据库列表

SHOW DATABASES;
USE ecommerce;
USE 切换当前数据库

查看数据库创建语句

SHOW CREATE DATABASE ecommerce;
可以看到字符集和排序规则

删除测试数据库

DROP DATABASE IF EXISTS test_db;
危险操作,会删除所有表和数据

常见错误

ERROR 1007 (HY000): Can't create database 'mydb'; database exists 数据库已存在,使用 IF NOT EXISTS 避免报错
ERROR 1044 (42000): Access denied for user 当前用户没有创建数据库的权限,需要 GRANT CREATE 权限

技巧

相关命令