doris 建表语句
时间: 2024-09-09 20:03:01 浏览: 53
Doris是一个开源的MPP分析型数据库,它支持SQL查询并可以用来做在线分析处理(OLAP)。Doris的建表语句类似于标准SQL,但是针对其分布式架构做了优化。以下是Doris建表语句的基本格式:
```sql
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
(
column_name1 column_type1,
column_name2 column_type2,
...
)
[ENGINE = olap引擎类型]
[DISTRIBUTED BY HASH(字段名) BUCKETS 数量]
[PROPERTIES (属性名1 = '属性值1', 属性名2 = '属性值2', ...)];
```
其中,`[IF NOT EXISTS]`是可选的,用来避免在表已经存在的情况下执行建表语句而导致的错误。`[db_name.]`指定了数据库名,如果是在当前连接的数据库中建表,数据库名可以省略。
`column_name`是列的名称,`column_type`是列的数据类型。Doris支持的数据类型包括`INT`, `BIGINT`, `VARCHAR`, `DATE`, `DATETIME`等。
`ENGINE`指定了使用的存储引擎类型,Doris通常使用`olap`作为存储引擎。
`DISTRIBUTED BY HASH(字段名) BUCKETS 数量`指定了数据分布的方式,通过散列某个字段来分布数据到不同的分桶中,`数量`表示分桶的数量。
`PROPERTIES`子句用于设置一些特定的属性,比如副本数量、排序键等。
例如,创建一个简单的表,可能看起来像这样:
```sql
CREATE TABLE sales_data (
sale_date DATE,
product_id BIGINT,
total_price DOUBLE
)
ENGINE = olap
DISTRIBUTED BY HASH(product_id) BUCKETS 16
PROPERTIES (
"replication_num" = "3"
);
```
在这个例子中,`sales_data`是表名,包含三个字段:`sale_date`(日期类型),`product_id`(大整数类型)和`total_price`(双精度浮点数类型)。表使用`olap`引擎,并且按照`product_id`字段的散列值分布到16个分桶中。另外设置了属性`replication_num`为3,意味着每个分桶有3个副本。
阅读全文