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