创建数据库
描述
创建一个指定名称的数据库。如果具有相同名称的数据库已经存在,将抛出异常。
语法
创建 { 数据库 | 架构 } [ 如果 不存在 ] 数据库名称
[ 注释 数据库注释 ]
[ 位置 数据库目录 ]
[ 与 数据库属性 ( 属性名称 = 属性值 [ , ... ] ) ]
参数
-
database_name
指定要创建的数据库名称。
-
IF NOT EXISTS
如果数据库不存在,则创建具有给定名称的数据库。如果数据库已经存在,则不执行任何操作。
-
database_directory
指定要创建数据库的文件系统路径。如果指定的路径在底层文件系统中不存在,则会创建该路径的目录。如果未指定位置,则数据库将在默认仓库目录中创建,其路径由静态配置 spark.sql.warehouse.dir 配置。
-
database_comment
指定数据库的描述。
-
WITH DBPROPERTIES ( property_name=property_value [ , … ] )
以键值对的形式指定数据库的属性。
示例
-- 创建数据库 `customer_db`。如果数据库名称为 customer_db 的数据库已存在,则抛出异常。
-- 已经存在。
CREATE DATABASE customer_db;
-- 仅当同名数据库不存在时才创建数据库 `customer_db`。
CREATE DATABASE IF NOT EXISTS customer_db;
-- 仅当同名数据库不存在时,才创建数据库 `customer_db` 及其
-- `注释`、`特定位置` 和 `数据库属性`。
CREATE DATABASE IF NOT EXISTS customer_db COMMENT '这是客户数据库' LOCATION '/user'
WITH DBPROPERTIES (ID=001, Name='约翰');
-- 验证属性是否已设置。
DESCRIBE DATABASE EXTENDED customer_db;
+-------------------------+--------------------------+
|database_description_item|database_description_value|
+-------------------------+--------------------------+
| 数据库 名称| customer_db|
| 描述| 这是 客户 数据库|
| 位置| hdfs://hacluster/user|
| 属性| ((ID,001), (Name,约翰))|
+-------------------------+--------------------------+