
# 创建数据库
#### 功能描述
创建数据库。
#### 语法格式
```
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/';
```
