语法
ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])
Rename To… 语句
- 对于内部表,除了更新表的元数据之外,还对表的目录名称进行修改。
- 对于外部表,这个操作只更新元数据,但不会更改存放数据的目录名称。
ALTER TABLE oldTableName RENAME TO newTableName;
Change 语句
下表包含employee表的字段,它显示的字段要被更改。
下面查询重命名使用上述数据的列名和列数据类型:
ALTER TABLE employee CHANGE name ename String;
ALTER TABLE employee CHANGE salary salary Double;
添加列语句
下面的查询增加了一个列名dept在employee表。
ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');
REPLACE语句
这个操作其实是将原有的列删除,然后再添加新的指定的列。
ALTER TABLE employee REPLACE COLUMNS ( eid INT empid Int, ename STRING name String)
备注:
ALTER TABLE table_name add columns( dept string COMMENT '') CASCADE;
加分区表字段需要加上CASCADE
创建一个Schema一样的新表-- Like
CREATE TABLE new_table LIKE existing_table;
整理自:
1.https://www.cnblogs.com/skyl/p/4736587.html
2.https://www.cnblogs.com/linn/p/6233776.html
网友评论