表格 SQL 文法

表格物件支援列出的 DDL 工作負載 SQL 文法。

Oracle AI Data Platform Workbench 支援所有標準 Spark SQL 資料類型。如需詳細資訊,請參閱 Apache Spark 文件 - 支援的資料類型

操作 Grammar - 文法
建立表格
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ]
USING [HIVE|DELTA, CSV, TXT, ORC, JDBC, PARQUET, etc.]
[ options ( <key1>=<val1>[, ...]) ]
[ PARTITIONED BY (<par-column-name>[, ...]) ]
[ CLUSTERED BY ( <clus-column-name>[, ...])
    [ SORTED BY ( <sort-column-name> [ asc | desc ][, ...]) ]
    INTO <num_buckets> buckets]
[ LOCATION '<path>']
[TBLPROPERTIES ( DESCRIPTION = 'some-description', '<property-name>'='<property-value>'[, ...]) ]

回應:

<<SQL Command>> was successfully executed

錯誤:

Error: <<SQL Command>> failed due to <<reason>>
建立受管理表格
建立受管理表格
CREATE TABLE <catalog>.<schema>.<table-name> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] USING <format>;

回應:

<<SQL Command>> was successfully executed
錯誤:
Error: <<SQL Command>> failed due to <<reason>>
使用資料建立受管理表格
create datatable <<catalog_name>>.<<schema_name>>.<<table_name>> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] tblproperties ('lakehouse_storage_format'='PARQUET') using parquet with select ( <column1-name>], ... ) from parquet.'oci://bucket@namespace/folder/'

回應:

<<SQL Command>> was successfully executed
錯誤:
Error: <<SQL Command>> failed due to <<reason>>
使用統一支援建立表格
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name> <column1-type> [comment <column1-comment>], ... ) ]
[TBLPROPERTIES ('delta.universalFormat.enabledFormats' = 'iceberg') ]
更改表格
ALTER TABLE table_old_name RENAME TO table_new_name
ALTER TABLE table_name ADD COLUMNS ( col_spec [ , ... ])
ALTER TABLE table_name DROP { COLUMN | COLUMNS } [ ( ] col_name [ , ... ] [ ) ]
ALTER TABLE table_name RENAME COLUMN col_name TO col_name
ALTER TABLE table_name ADD [IF NOT EXISTS] ( partition_spec [partition_spec ... ] )
ALTER TABLE table_name DROP [ IF EXISTS ] partition_spec [PURGE]
ALTER TABLE table_name set tblproperties (description ='some-description')
刪除表格
DROP TABLE [ IF EXISTS ] table_name [ PURGE ]

回應

<<SQL Command>> was successfully executed

錯誤

Error: <<SQL Command>> failed due to <<reason>>
列出綱要中的表格
SHOW TABLES in catalog_name.schema_name [ LIKE <regex_pattern> ]

regex_pattern:用於篩選敘述句結果的正規表示式樣式。

回應:
<<namesake>>,tableName,isTemporary

錯誤:

<<SQL Command>> failed due to <<reason>>
描述表格
DESCRIBE TABLE [ FORMAT ] catalog_name.schema_name.table_name [ PARTITION (<partition_col_name> = <partition_col_val>, ...) ] [ catalog_name.schema_name.table_name.column_name ]

格式:如果將 EXTENDED 指定為格式,則會傳回其他描述資料資訊 (例如父項資料庫、擁有者和存取時間)。

DESCRIBE TABLE catalog.schema.table 回應:

col_name,data_type,comment
DESCRIBE TABLE catalog.schema.table column 回應:
info_name,info_value