描述
ALTER TABLE ... DROP COLUMN 语句用于从表中删除一列或多列。删除操作是元数据变更,不会物理删除数据文件中的列值。语法
ALTER TABLE table_name DROP COLUMN column_name;ALTER TABLE table_name DROP COLUMNS ( column_name1, column_name2, ... );
注意事项
列删除后,已有数据文件中该列的数据不会被立即物理删除(属于 schema evolution)。
不能删除分区字段中引用的列(需先删除分区字段)。
示例
已验证 SQL
创建基础表及数据
DROP TABLE IF EXISTS tci_drop_col;CREATE TABLE tci_drop_col (id BIGINT NOT NULL,name STRING,email STRING,phone STRING,score DOUBLE) USING tciTBLPROPERTIES ('primary-key' = 'id');INSERT INTO tci_drop_colVALUES (1, 'Alice', 'a@test.com', '13800001', 95.5),(2, 'Bob', 'b@test.com', '13800002', 88.0);
删除单列
ALTER TABLE tci_drop_colDROP COLUMN phone;
删除多列
ALTER TABLE tci_drop_colDROP COLUMNS (email, score);
验证剩余列结构与数据可读性
DESCRIBE tci_drop_col;SELECT * FROM tci_drop_col;