ALTER TABLE ステートメントを実行して、既存のマッピングテーブルに属性列を追加または削除できます。
詳細については、マッピングテーブルの属性列を更新する を参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化する を参照してください。
マッピングテーブルが作成されていること。詳細については、マッピングテーブルを作成する を参照してください。
使用上の注意
- ALTER TABLE ステートメントを実行して、マッピングテーブルのスキーマを更新できます。マッピングテーブルが作成された Tablestore テーブルのスキーマは更新されません。
- マッピングテーブルの主キー列を追加または削除することはできません。
- ALTER TABLE ステートメントを実行した後、SQL エンジンはマッピングテーブルを非同期的に更新します。更新には最大 30 秒かかります。更新期間中、追加した列は、すべての列を返すはずの操作を実行しても返されない場合があります。
- CREATE TABLE ステートメントを実行して作成されたマッピングテーブルでのみ、ALTER TABLE ステートメントを実行して属性列を更新できます。DESCRIBE ステートメントを実行してテーブルに対して自動的に作成されたマッピングテーブルでは、ALTER TABLE ステートメントを実行して属性列を更新することはできません。
- ALTER TABLE ステートメントを実行することで、マッピングテーブルの属性列を 1 つだけ追加または削除できます。マッピングテーブルの複数の属性列を追加または削除する場合は、ALTER TABLE ステートメントを複数回実行できます。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
マッピングテーブルに属性列を追加する
次のサンプルコードは、exampletable という名前のマッピングテーブルに BIGINT 型の colvalue 列を追加する方法の例を示しています。
/// <summary> /// exampletable という名前のマッピングテーブルに BIGINT 型の colvalue 列を追加します。 /// </summary> /// <param name="otsClient"></param> public static void AlterTableAddColumn(OTSClient otsClient) { SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("alter table exampletable add column colvalue bigint"); otsClient.SQLQuery(sqlQueryRequest); }
マッピングテーブルから属性列を削除する
次のサンプルコードは、exampletable という名前のマッピングテーブルから BIGINT 型の colvalue 列を削除する方法の例を示しています。
/// <summary> /// exampletable という名前のマッピングテーブルから BIGINT 型の colvalue 列を削除します。 /// </summary> /// <param name="otsClient"></param> public static void AlterTableDropColumn(OTSClient otsClient) { SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("alter table exampletable drop column colvalue"); otsClient.SQLQuery(sqlQueryRequest); }
マッピングテーブルの属性列を更新する場合は、不要になった属性列を削除してから、ビジネス要件に基づいて属性列を追加できます。
FAQ
参照
SQL ステートメントを実行してデータクエリと計算を高速化する場合、セカンダリインデックスまたは検索インデックスを作成できます。詳細については、インデックス選択ポリシー および 計算プッシュダウン を参照してください。
マッピングテーブルの属性列を更新した後、
SELECT
ステートメントを実行して、マッピングテーブルを使用してデータのクエリと分析を実行できます。詳細については、データのクエリ を参照してください。テーブルの説明をクエリする場合は、
DESCRIBE
ステートメントを実行できます。詳細については、テーブルに関する情報のクエリ を参照してください。テーブルまたは検索インデックス用に作成されたマッピングテーブルが不要になった場合は、
DROP MAPPING TABLE
ステートメントを実行してマッピングテーブルを削除できます。詳細については、マッピングテーブルの削除 を参照してください。テーブルのインデックス情報を表示する場合は、
SHOW INDEX
ステートメントを実行できます。詳細については、テーブルのインデックス情報のクエリ を参照してください。現在のデータベース内のマッピングテーブルの名前をクエリする場合は、
SHOW TABLES
ステートメントを実行できます。詳細については、テーブル名のリスト を参照してください。