既存のマッピングテーブルに属性列を追加または削除するには、ALTER TABLE 文を実行します。
詳細については、「マッピングテーブルの属性列の更新」をご参照ください。
前提条件
OTSClient インスタンスが初期化済みである必要があります。詳細については、「OTSClient インスタンスの初期化」をご参照ください。
マッピングテーブルが作成済みである必要があります。詳細については、「マッピングテーブルの作成」をご参照ください。
注意事項
-
CREATE TABLE文を実行して作成したマッピングテーブルに対してのみ、ALTER TABLE文を実行して属性列を更新できます。DESCRIBE文を実行して自動的に作成されたマッピングテーブルに対しては、ALTER TABLE文を実行して属性列を更新できません。 -
ALTER TABLE文を実行してマッピングテーブルに追加または削除できる属性列は 1 列のみです。複数の属性列を追加または削除する場合は、ALTER TABLE文を複数回実行してください。 -
ALTER TABLE文を実行して更新できるのはマッピングテーブルのスキーマのみです。マッピングテーブルが作成された Tablestore テーブルのスキーマは更新されません。 -
ALTER TABLE文を実行してマッピングテーブルのプライマリキー列を追加または削除することはできません。 -
ALTER TABLE文を実行すると、SQL エンジンが非同期でマッピングテーブルをリフレッシュします。リフレッシュの完了には最大で 30 秒かかります。リフレッシュ期間中は、すべての列を返す操作を実行しても、追加した列が返されない場合があります。
パラメーター
|
パラメーター |
説明 |
|
query |
SQL ステートメントです。必要な機能に応じてこのパラメーターを設定してください。 |
例
-
属性列の追加
次の例では、
exampletableという名前のマッピングテーブルに BIGINT 型のcolvalue列を追加します。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列を削除します。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); } });
不要になった属性列を削除し、ビジネス要件に応じて新しい属性列を追加できます。
よくある質問
次のステップ
-
SQL データクエリおよび計算を高速化するには、セカンダリインデックスまたは多次元インデックスを作成できます。詳細については、「インデックス選択ポリシー」および「計算プッシュダウン」をご参照ください。
マッピングテーブルを使用してデータをクエリおよび分析するには、
SELECT文を実行します。詳細については、「データのクエリ」をご参照ください。テーブルの詳細を表示するには、
DESCRIBE文を実行します。詳細については、「テーブル情報のクエリ」をご参照ください。テーブルまたは多次元インデックス用に作成されたマッピングテーブルを削除するには、
DROP MAPPING TABLE文を実行します。詳細については、「マッピングテーブルの削除」をご参照ください。テーブルのインデックス情報を表示するには、
SHOW INDEX文を実行します。詳細については、「テーブルのインデックス情報のクエリ」をご参照ください。現在のデータベース内のマッピングテーブルを一覧表示するには、
SHOW TABLES文を実行します。詳細については、「テーブル名の一覧表示」をご参照ください。