
在
Presto
中使用
SQL
|
127
有时你只需要创建一个具有相同表定义而不包含数据的表。你可以通过在
CTAS
语句的末尾添加
WITH NO DATA
子句来实现。
8.6.4
修改表
ALTER TABLE
语句可以执行诸如重命名表、添加列、删除列或重命名列等操作:
ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMN column_name data_type
[ COMMENT comment ] [ WITH ( property_name = expression [, ...] ) ]
ALTER TABLE name DROP COLUMN column_name
ALTER TABLE name RENAME COLUMN column_name TO new_column_name
需要注意的是,根据连接器和连接器的授权模型,默认可能不允许这些修改表的操作。例
如,
Hive
连接器就默认限制了这些操作。
8.6.5
删除表
使用
DROP TABLE
语句可以删除一个表:
DROP TABLE [ IF EXISTS ] table_name
根据连接器的实现,这不一定会删除底层数据,你应该参考连接器文档以获得进一步的
解释。
8.6.6
连接器对表操作的限制
目前,本章已经介绍了
Presto
支持的各种
SQL
语句。然而,这并不意味着
Presto
中的每一
个数据源都支持所有的语句和语法,或者提供相同的语义。
连接器的实现和底层数据源的能力与语义很大程度上会影响 ...