
# ALTER TABLE
修改表结构时，针对聚合模型和非聚合模型的修改方式不同；针对Key列和Value列的修改方式也不同。其中：
- 建表时指定**AGGREGATE KEY**时，为聚合模型；其他场景为非聚合模型。
- 建表语句中的关键字**'unique key'** 或**'aggregate key'** 或**'duplicate key'**后面的列就是Key列，剩下的就是Value列。
#### 聚合模型示例
聚合列不支持修改聚合类型。
- 在**col1** 列后添加**new_col** 列（key列）：
  **ALTER TABLE example_db.my_table ADD COLUMN new_col INT DEFAULT "0" AFTER col1;**
  
- 在**col1** 后添加**new_col** 列（Value列SUM聚合类型）：
  **ALTER TABLE example_db.my_table ADD COLUMN new_col INT SUM DEFAULT "0" AFTER col1;**
  
- 修改**col1** 列的类型为BIGINT（Key列）：
  **ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT DEFAULT "1";**
  
- 修改**col1** 列的类型为BIGINT（Value列）：
  **ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT MAX DEFAULT "1";**
  
- 删除**col1** 列：
  **ALTER TABLE example_db.my_table DROP COLUMN col1;**
  
 
#### 非聚合模型示例
- 在**col1** 列后添加**new_col** 列（添加Key列）：
  **ALTER TABLE example_db.my_table ADD COLUMN new_col INT KEY DEFAULT "0" AFTER col1;**
  
- 在**col1** 列后添加**new_col** 列（添加Value列）：
  **ALTER TABLE example_db.my_table ADD COLUMN new_col INT DEFAULT "0" AFTER col1;**
  
- 修改**col1** 列的类型为BIGINT（Key列）：
  **ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT KEY DEFAULT "1";**
  
- 修改**col1** 列的类型为BIGINT（Value列）：
  **ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT DEFAULT "1";**
  
- 删除**col1** 列：
  **ALTER TABLE example_db.my_table DROP COLUMN col1;**
  
 
