更新映射表屬性列
執(zhí)行ALTER TABLE語句為已存在的映射表添加或刪除屬性列。
關(guān)于ALTER TABLE語句的更多信息,請參見更新映射表屬性列。
前提條件
已初始化Client。具體操作,請參見初始化OTSClient。
已創(chuàng)建映射關(guān)系。具體操作,請參見創(chuàng)建表的映射關(guān)系。
注意事項
- 執(zhí)行ALTER TABLE語句僅支持更新映射表的Schema,不會更新表格存儲的數(shù)據(jù)存儲Schema。
- 不支持添加或者刪除映射表主鍵列的操作。
- 執(zhí)行ALTER TABLE語句后,SQL引擎會異步進行刷新,最多30秒完成刷新。在此期間執(zhí)行返回所有列等操作時可能不會返回新添加的列。
- 只有通過CREATE TABLE語句創(chuàng)建的映射表才支持使用ALTER TABLE語句更新屬性列。通過DESCRIBE操作自動綁定的映射表不支持使用ALTER TABLE語句更新屬性列。
- ALTER TABLE語句每次僅支持添加或者刪除一列。如果需要進行多列操作,請執(zhí)行多次ALTER TABLE語句。
參數(shù)
參數(shù) | 說明 |
query | SQL語句,請根據(jù)所需功能進行設(shè)置。 |
示例
為映射表添加屬性列
以下示例用于為exampletable映射表添加colvalue(BIGINT類型)屬性列。
private static void alterTableAddColumn(SyncClient client) { // 創(chuàng)建SQL請求。 SQLQueryRequest request = new SQLQueryRequest("alter table exampletable add column colvalue bigint"); client.sqlQuery(request); }
刪除映射表的屬性列
以下示例用于刪除exampletable映射表中的colvalue(BIGINT類型)屬性列。
private static void alterTableDropColumn(SyncClient client) { // 創(chuàng)建SQL請求。 SQLQueryRequest request = new SQLQueryRequest("alter table exampletable drop column colvalue"); client.sqlQuery(request); }
更新映射表屬性列時,您可以先刪除舊的無用屬性列,然后再添加新的屬性列。
常見問題
相關(guān)文檔
如果要加速SQL數(shù)據(jù)查詢和計算,您可以通過創(chuàng)建二級索引或者多元索引實現(xiàn)。更多信息,請參見索引選擇策略和計算下推。
更新映射表屬性列后,您可以通過
SELECT
語句查詢與分析表中數(shù)據(jù)。更多信息,請參見查詢數(shù)據(jù)。如果需要查詢表的描述信息,您可以通過
DESCRIBE
語句實現(xiàn)。更多信息,請參見查詢表的描述信息。如果不再需要使用表或者多元索引的映射關(guān)系,您可以通過
DROP MAPPING TABLE
語句刪除映射關(guān)系。更多信息,請參見刪除映射關(guān)系。如果需要查看表的索引信息,您可以通過
SHOW INDEX
語句實現(xiàn)。更多信息,請參見查詢索引描述信息。如果需要列出當(dāng)前數(shù)據(jù)庫中的表名稱列表,您可以通過
SHOW TABLES
語句實現(xiàn)。更多信息,請參見列出映射表名稱列表。