DROP COLUMN

最近更新时间:2026-05-20 14:11:22

我的收藏

描述

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 tci
TBLPROPERTIES ('primary-key' = 'id');

INSERT INTO tci_drop_col
VALUES (1, 'Alice', 'a@test.com', '13800001', 95.5),
(2, 'Bob', 'b@test.com', '13800002', 88.0);

删除单列

ALTER TABLE tci_drop_col
DROP COLUMN phone;

删除多列

ALTER TABLE tci_drop_col
DROP COLUMNS (email, score);

验证剩余列结构与数据可读性

DESCRIBE tci_drop_col;

SELECT * FROM tci_drop_col;