alter
New in version 2.00.5.
alter 语句用于向现有表中添加、删除列,或对某一列字段进行重命名。注意:TSDB 引擎仅支持添加操作(add),不支持删除(drop)和重命名(rename)操作。
相关函数:addColumn, dropColumns!, rename!。
语法
alter table tableObj add columnName columnType;
alter table tableObj drop [column] columnName;
alter table tableObj rename [column] columnName to newColumnName;
tableObj 可为任何形式的数据表,包括内存表、流数据表、分布式表或维度表。
colNames 字符串标量,表示要添加的列的名称。
newColNames 字符串标量,表示要修改的列的新名称。
colTypes 表示数据类型的标量。
例子
$ if(existsDatabase("dfs://test")) dropDatabase("dfs://test")
$ create database "dfs://test" partitioned by VALUE(1..10), HASH([SYMBOL, 40]), engine='OLAP', atomic='TRANS', chunkGranularity='TABLE'
$ create table "dfs://test"."pt"(
id INT,
deviceId SYMBOL,
date DATE[comment="time_col", compress="delta"],
value DOUBLE,
isFin BOOL
)
partitioned by ID, deviceID
$ alter table pt add location SYMBOL;
$ pt = loadTable("dfs://test", `pt)
$ pt.schema().colDefs
name |
typeString |
typeInt |
extra |
comment |
---|---|---|---|---|
id |
INT |
4 |
||
deviceId |
SYMBOL |
17 |
||
date |
DATE |
6 |
time_col |
|
value |
DOUBLE |
16 |
||
isFin |
BOOL |
1 |
||
location |
SYMBOL |
17 |
$ alter table pt rename location to loc
$ pt = loadTable("dfs://test", `pt)
$ pt.schema().colDefs
name |
typeString |
typeInt |
extra |
comment |
---|---|---|---|---|
id |
INT |
4 |
||
deviceId |
SYMBOL |
17 |
||
date |
DATE |
6 |
time_col |
|
value |
DOUBLE |
16 |
||
isFin |
BOOL |
1 |
||
loc |
SYMBOL |
17 |
$ alter table pt drop value
$ pt = loadTable("dfs://test", `pt)
$ pt.schema().colDefs
name |
typeString |
typeInt |
extra |
comment |
---|---|---|---|---|
id |
INT |
4 |
||
deviceId |
SYMBOL |
17 |
||
date |
DATE |
6 |
time_col |
|
isFin |
BOOL |
1 |
||
loc |
SYMBOL |
17 |