ALTER TABLE 文を実行して、既存のマッピングテーブルに属性列を追加または削除できます。
ALTER TABLE 文の詳細については、「マッピングテーブルの属性列を更新する」をご参照ください。
前提条件
Tablestore クライアントが初期化されていること。詳細については、「Tablestore クライアントを初期化する」をご参照ください。
マッピングテーブルが作成されていること。詳細については、「テーブルのマッピングテーブルを作成する」をご参照ください。
使用上の注意
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 列を追加する方法の例を示しています。
private static void alterTableAddColumn(SyncClient client) { // SQL リクエストを作成します。 SQLQueryRequest request = new SQLQueryRequest("alter table exampletable add column colvalue bigint"); client.sqlQuery(request); }マッピングテーブルから属性列を削除する
次のサンプルコードは、exampletable という名前のマッピングテーブルから BIGINT 型の colvalue 列を削除する方法の例を示しています。
private static void alterTableDropColumn(SyncClient client) { // SQL リクエストを作成します。 SQLQueryRequest request = new SQLQueryRequest("alter table exampletable drop column colvalue"); client.sqlQuery(request); }
マッピングテーブルの属性列を更新する場合は、不要になった属性列を削除してから、ビジネス要件に基づいて属性列を追加できます。
FAQ
関連情報
SQL 文を実行してデータクエリと計算を高速化する場合、セカンダリインデックスまたは 多次元インデックス を作成できます。詳細については、「インデックス選択ポリシー」および「プッシュダウンの計算」をご参照ください。
マッピングテーブルの属性列を更新した後、
SELECT文を実行して、マッピングテーブルを使用してデータのクエリと分析を実行できます。詳細については、「データのクエリ」をご参照ください。テーブルの説明をクエリする場合は、
DESCRIBE文を実行できます。詳細については、「テーブルに関する情報のクエリ」をご参照ください。テーブルまたは 多次元インデックス 用に作成されたマッピングテーブルが不要になった場合は、
DROP MAPPING TABLE文を実行してマッピングテーブルを削除できます。詳細については、「マッピングテーブルの削除」をご参照ください。テーブルのインデックス情報を表示する場合は、
SHOW INDEX文を実行できます。詳細については、「テーブルのインデックス情報のクエリ」をご参照ください。現在の データベース 内のマッピングテーブルの名前をクエリする場合は、
SHOW TABLES文を実行できます。詳細については、「マッピングテーブル名の一覧表示」をご参照ください。