更新时间:2026-07-03 GMT+08:00
分享

创建数据库

功能描述

创建数据库。

语法格式

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:数据库的属性,属性名和属性值成对出现。

参数说明

表1 参数说明

参数

描述

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;

结果示例:

表2 结果示例

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/';

相关文档