创建数据库
功能描述
创建数据库。
语法格式
CREATE [DATABASE | SCHEMA] [IF NOT EXISTS] db_name [COMMENT db_comment] LOCATION obs_path [WITH DBPROPERTIES (property_name=property_value, ...)];
关键字
- IF NOT EXISTS:所需创建的数据库已存在时不报错,静默跳过。
- COMMENT:对数据库的描述。
- LOCATION:指定数据库在文件系统中的存储路径。必须指定,且为OBS格式。例如obs://bucket-name/db-path/。不指定LOCATION或不满足格式要求将报错。
- WITH DBPROPERTIES:数据库的属性,属性名和属性值成对出现。
参数说明
| 参数 | 描述 |
|---|---|
| db_name | 数据库名称,由字母、数字和下划线(_)组成。不能是纯数字,且不能以数字和下划线开头。 |
| db_comment | 数据库描述。 |
| obs_path | 数据库存储路径,必须为obs://格式,指向有效的对象存储路径。 |
| property_name | 数据库属性名。 |
| property_value | 数据库属性值。 |
注意事项
- DATABASE与SCHEMA两者没有区别,可替换使用,建议使用DATABASE。
- "default"为内置数据库,不能创建名为"default"的数据库。
- 使用DESCRIBE DATABASE EXTENDED可查看数据库的属性信息。
示例1:创建数据库
创建数据库testdb。如果testdb已存在则不报错。
CREATE DATABASE IF NOT EXISTS testdb LOCATION 'obs://my-bucket/testdb/';
示例2:创建带注释和属性的数据库
创建数据库customer_db,添加注释和属性信息。
CREATE DATABASE IF NOT EXISTS customer_db COMMENT 'This is customer database' LOCATION 'obs://my-bucket/customer_db/' WITH DBPROPERTIES (ID=001, Name='John');
示例3:验证数据库属性
使用DESCRIBE DATABASE EXTENDED查看数据库的详细信息,包括属性。
DESCRIBE DATABASE EXTENDED customer_db;
结果示例:
| database_description_item | database_description_value |
|---|---|
| Database Name | customer_db |
| Description | This is customer database |
| Location | obs://my-bucket/customer_db/ |
| Properties | ((ID,001), (Name,John)) |
示例4:使用SCHEMA关键字创建数据库
SCHEMA与DATABASE等效,可替换使用。
CREATE SCHEMA IF NOT EXISTS payroll_db LOCATION 'obs://my-bucket/payroll_db/';