修改表的相关属性,包括增加列和修改表属性。
语法
alter_table_statement ::= ALTER TABLE table_name alter_table_instruction
alter_table_instruction ::= ADD [COLUMN] column_name lql_type ( ',' column_name lql_type )*
| COMPACT (idcName)?
| DROP COLUMN [ IF EXISTS ] column_name
| SET table_options
说明
- 关于
table_options
的选项请参见支持的Table_Option列表。 - COMPACT操作仅适用于宽表引擎2.3.4及以上版本。
- DROP COLUMN操作仅适用于宽表引擎2.5.0及以上版本。
支持的功能谓词
谓词 | 功能描述 |
---|---|
ADD | 向数据表中添加列。 |
DROP | 从数据表中删除已有的列。 重要 该功能目前处于邀测阶段,如需删除数据表中已有的列,请联系Lindorm技术支持(钉钉号:s0s3eg3)开通该功能。 |
SET | 给数据表设置表属性。 目前支持的表属性可参见支持的Table_Option列表。 |
COMPACT | 对指定的表强制执行COMPACTION。 该谓词是Lindorm扩展的SQL。 |
示例
- 通过以下语句为test表新增c4列。
ALTER TABLE test ADD COLUMN c4 VARCHAR;
- 通过以下语句为test表新增多个列。
ALTER TABLE test ADD c3 INTEGER, c4 INTEGER, c5 VARCHAR;
- 通过以下语句将列c4从test表中删除
ALTER TABLE test DROP COLUMN IF EXISTS c4;
- 通过以下语句为test表开启动态列,动态列仅支持Varbinary类型。关于动态列的介绍,请参见动态列。
ALTER TABLE test SET 'DYNAMIC_COLUMNS' = 'true';
- 通过以下语句为test表设置数据有效期。
ALTER TABLE test SET 'TTL' = '2592000';
- 通过以下语句为test表取消数据有效期。
ALTER TABLE test SET 'TTL' = '';
- 通过以下语句为test表添加压缩算法。
ALTER TABLE test SET 'COMPRESSION' = 'ZSTD';
- 通过以下语句为test表取消压缩算法。
ALTER TABLE test SET 'COMPRESSION' = '';
- 通过以下语句为test表设置冷热分界线。关于冷热分离的介绍,请参见冷热分离介绍。
ALTER TABLE test SET 'CHS' = '86400', 'CHS_L2' = 'storagetype=COLD';
- 通过以下语句为test表取消冷热分界线。
ALTER TABLE test SET 'CHS' = '', 'CHS_L2' = '';
- 通过以下语句对test表进行major_compact。
ALTER TABLE test COMPACT;
- 如果您开通了双Zone,可以指定一个或多个IDC进行major_compact。
- 通过以下语句对特定的IDC进行major_compact。
ALTER TABLE test COMPACT 'idc2';
说明 如果您未指定特定的IDC,则系统默认对idc1进行major_compact。 - 通过以下语句指定多个IDC进行major_compact。以下示例表示对idc1和idc2都进行了major_compact。
ALTER TABLE test COMPACT 'idc1,idc2';
- 通过以下语句对特定的IDC进行major_compact。