ALTER TABLE:修改表。

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

Hologres当前版本对表的修改支持重名命表,增加列和修改部分表属性。

重命名表

  1. 命令格式
    ALTER TABLE table_name RENAME TO new_table_name;
  2. 使用说明

    如果RENAME不存在的表,或者将表重命名为已存在的表名,都会返回异常。

  3. 使用示例
    ALTER TABLE test RENAME TO holo_test ;

增加列

  1. 命令格式
    ALTER TABLE IF EXISTS table_name ADD COLUMN new_column_name data_type; ALTER TABLE IF EXISTS table_name ADD COLUMN col_add_1 data_type, ADD COLUMN col_add_2 TEXT IF NOT EXISTS col_add_2 data_type; 
  2. 使用示例
    ALTER TABLE IF EXISTS holo_test ADD COLUMN id int;

修改表属性

通常来讲,设置表属性必须与create table在同一个事务中执行,但以下几个表属性可以单独执行,表示修改对应的属性。

call set_table_property('tbl', 'bitmap_columns', '[columnName [,...]]');  call set_table_property('tbl', 'dictionary_encoding_columns', '[columnName [,...]]'); call set_table_property('tbl', 'time_to_live_in_seconds', '<non_negative_literal>');
使用示例

  1. 修改bitmap_columns比特编码列
    call set_table_property('tbl', 'bitmap_columns', 'a,b');
  2. 修改dictionary_encoding_columns字典编码列
    call set_table_property('tbl', 'dictionary_encoding_columns', 'a,b');
  3. 修改表数据生存时间
    call set_table_property('tbl', 'time_to_live_in_seconds', '86400');