用于创建数据库。
语法:
CREATE DATABASE (IF NOT EXISTS)? <DATABASE_NAME> (WITH properties)?
说明:
<DATABASE_NAME> 数据库名称,具有以下特性:
WITH properties 子句可配置如下属性:
注:属性的大小写不敏感,有关详细信息大小写敏感规则。
| 属性 | 含义 | 默认值 |
|---|---|---|
TTL | 数据自动过期删除,单位 ms | INF |
TIME_PARTITION_INTERVAL | 数据库的时间分区间隔,单位 ms | 604800000 |
SCHEMA_REGION_GROUP_NUM | 数据库的元数据副本组数量,一般不需要修改 | 1 |
DATA_REGION_GROUP_NUM | 数据库的数据副本组数量,一般不需要修改 | 2 |
示例:
CREATE DATABASE database1; CREATE DATABASE IF NOT EXISTS database1; // 创建一个名为 database1 的数据库,并将数据库的TTL时间设置为1年。 CREATE DATABASE IF NOT EXISTS database1 with(TTL=31536000000);
用于指定当前数据库作为表的命名空间。
语法:
USE <DATABASE_NAME>
示例:
USE database1
返回当前会话所连接的数据库名称,若未执行过 use语句指定数据库,则默认为 null。
语法:
SHOW CURRENT_DATABASE
示例:
IoTDB> SHOW CURRENT_DATABASE; +---------------+ |CurrentDatabase| +---------------+ | null| +---------------+ IoTDB> USE test; IoTDB> SHOW CURRENT_DATABASE; +---------------+ |CurrentDatabase| +---------------+ | iot_database| +---------------+
用于查看所有数据库和数据库的属性信息。
语法:
SHOW DATABASES (DETAILS)?
语句返回列含义如下:
| 列名 | 含义 |
|---|---|
| database | database名称。 |
| TTL | 数据保留周期。如果在创建数据库的时候指定TTL,则TTL对该数据库下所有表的TTL生效。也可以再通过 create table 、alter table 来设置或更新表的TTL时间。 |
| SchemaReplicationFactor | 元数据副本数,用于确保元数据的高可用性。可以在iotdb-system.properties中修改schema_replication_factor配置项。 |
| DataReplicationFactor | 数据副本数,用于确保数据的高可用性。可以在iotdb-system.properties中修改data_replication_factor配置项。 |
| TimePartitionInterval | 时间分区间隔,决定了数据在磁盘上按多长时间进行目录分组,通常采用默认1周即可。 |
| SchemaRegionGroupNum | 使用DETAILS语句会返回此列,展示数据库的元数据副本组数量,一般不需要修改 |
| DataRegionGroupNum | 使用DETAILS语句会返回此列,展示数据库的数据副本组数量,一般不需要修改 |
示例:
IoTDB> show databases +---------+-------+-----------------------+---------------------+---------------------+ | Database|TTL(ms)|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval| +---------+-------+-----------------------+---------------------+---------------------+ |test_prop| 300| 3| 2| 100000| | test2| 300| 3| 2| 604800000| +---------+-------+-----------------------+---------------------+---------------------+ IoTDB> show databases details +---------+-------+-----------------------+---------------------+---------------------+-----------------------+-----------------------+ | Database|TTL(ms)|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|SchemaRegionGroupNum| DataRegionGroupNum| +---------+-------+-----------------------+---------------------+---------------------+-----------------------+-----------------------+ |test_prop| 300| 3| 2| 100000| 1| 2| | test2| 300| 3| 2| 604800000| 1| 2| +---------+-------+-----------------------+---------------------+---------------------+-----------------------+-----------------------+
用于修改数据库中的部分属性。
语法:
ALTER DATABASE (IF EXISTS)? database=identifier SET PROPERTIES propertyAssignments
说明:
ALTER DATABASE操作目前仅支持对数据库的SCHEMA_REGION_GROUP_NUM、DATA_REGION_GROUP_NUM以及TTL属性进行修改。示例:
ALTER DATABASE database1 SET PROPERTIES TTL=31536000000;
用于删除数据库。
语法:
DROP DATABASE (IF EXISTS)? <DATABASE_NAME>
说明:
示例:
DROP DATABASE IF EXISTS database1