一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情。
建表 (Create Table)
使用 CREATE TABLE 命令建立一个表(Table)。更多详细参数可以查看:
| HELP CREATE TABLE ; |
|---|
首先切换数据库:
| USE test_db ; |
|---|
Doris 的建表是一个同步命令,命令返回成功,即表示建表成功。
可以通过 HELP CREATE TABLE; ****查看更多帮助。
CREATE TABLE IF NOT EXISTS test_db.table0
(
`user_id` LARGEINT NOT NULL COMMENT "用户id",
`date` DATE NOT NULL COMMENT "数据灌入日期时间",
`timestamp` DATETIME NOT NULL COMMENT "数据灌入的时间戳",
`city` VARCHAR(20) COMMENT "用户所在城市",
`age` SMALLINT COMMENT "用户年龄",
`sex` TINYINT COMMENT "用户性别",
`last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
`cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
`max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
`min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
ENGINE=olap
AGGREGATE KEY(`user_id`, `date`, `timestamp`, `city`, `age`, `sex`)
PARTITION BY RANGE(`date`)
(
PARTITION `p202001` VALUES LESS THAN ("2020-02-01"),
PARTITION `p202002` VALUES LESS THAN ("2020-03-01"),
PARTITION `p202003` VALUES LESS THAN ("2020-04-01")
)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 16
PROPERTIES
(
"replication_num" = "3",
"storage_medium" = "SSD",
"storage_cooldown_time" = "2021-05-01 12:00:00"
);
- TINYINT数据类型
长度: 长度为1个字节的有符号整型。
范围: [-128, 127]
转换: Doris可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成CHAR。
举例:
| select cast ( 100 as char ); |
|---|
- SMALLINT数据类型
长度: 长度为2个字节的有符号整型。
范围: [-32768, 32767]
转换: Doris可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,CHAR。
举例:
| select cast ( 10000 as char ); |
|---|
| select cast ( 10000 as tinyint ); |
- INT数据类型
长度: 长度为4个字节的有符号整型。
范围: [-2147483648, 2147483647]
转换: Doris可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,CHAR
举例:
| select cast ( 111111111 as char ); |
|---|
l BIGINT数据类型
长度: 长度为8个字节的有符号整型。
范围: [-9223372036854775808, 9223372036854775807]
转换: Doris可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,INT,CHAR
举例:
| select cast ( 9223372036854775807 as char ); |
|---|
- LARGEINT数据类型
长度: 长度为16个字节的有符号整型。
范围: [-2^127, 2^127-1]
转换: Doris可以自动将该类型转换成浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,INT,BIGINT,CHAR
举例:
| select cast ( 922337203685477582342342 as double ); | | --------------------------------------------------------------------------- | |
- FLOAT数据类型
长度: 长度为4字节的浮点类型。
范围: -3.40E+38 ~ +3.40E+38。
转换: Doris会自动将FLOAT类型转换成DOUBLE类型。用户可以使用CAST()将其转换成TINYINT, SMALLINT, INT, BIGINT, STRING, TIMESTAMP。
- DOUBLE数据类型
长度: 长度为8字节的浮点类型。
范围: -1.79E+308 ~ +1.79E+308。
转换: Doris不会自动将DOUBLE类型转换成其他类型。用户可以使用CAST()将其转换成TINYINT, SMALLINT, INT, BIGINT, STRING, TIMESTAMP。用户可以使用指数符号来描述DOUBLE 类型,或通过STRING转换获得。