CREATE TABLE ステートメントを実行して、既存のテーブルまたは検索インデックスのマッピングテーブルを作成できます。マッピングテーブルを作成する際は、テーブル内のフィールドの名前と型、テーブルのプライマリキー情報、ビジネス要件に基づいたデータクエリのエクゼキューションエンジンを指定します。
CREATE TABLE ステートメントの詳細については、テーブルのマッピングテーブルの作成および検索インデックスのマッピングテーブルの作成をご参照ください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスの初期化をご参照ください。
データテーブルが作成されていること。詳細については、データテーブルの作成をご参照ください。
検索インデックス用に作成されたマッピングテーブルを使用してデータをクエリする場合は、検索インデックスが作成されている必要があります。
使用方法
Tablestore SDK for PHP V5.1.0 以降では、SQL クエリ機能がサポートされています。SQL クエリ機能を使用する前に、Tablestore SDK for PHP V5.1.0 以降を取得していることを確認してください。Tablestore SDK for PHP のバージョンの詳細については、Tablestore SDK for PHP のバージョン履歴をご参照ください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
このトピックでは、テーブルのマッピングテーブルを作成する方法について説明します。検索インデックスのマッピングテーブルを作成する場合は、サンプルコードの SQL ステートメントを、検索インデックスのマッピングテーブルを作成するために使用する SQL ステートメントに置き換えてください。
次のサンプルコードは、CREATE TABLE `tableName` (`PK0` BIGINT(20),`PK1` VARCHAR(1024),`geo` MEDIUMTEXT,`boolean` BOOL,`array` MEDIUMTEXT,`double` DOUBLE,`text` MEDIUMTEXT,`keyword` MEDIUMTEXT,`nested` MEDIUMTEXT,`long` BIGINT(20),PRIMARY KEY(`PK0`,`PK1`));
ステートメントを実行して、tableName という名前のテーブルのマッピングテーブルを作成する例を示しています。
$request = array(
'query' => 'CREATE TABLE `tableName` (`PK0` BIGINT(20),`PK1` VARCHAR(1024),`geo` MEDIUMTEXT,`boolean` BOOL,`array` MEDIUMTEXT,`double` DOUBLE,`text` MEDIUMTEXT,`keyword` MEDIUMTEXT,`nested` MEDIUMTEXT,`long` BIGINT(20),PRIMARY KEY(`PK0`,`PK1`));',
);
$response = $otsClient->sqlQuery($request);
print json_encode($response, JSON_PRETTY_PRINT);
FAQ
関連情報
SQL ステートメントを実行してデータクエリと計算を高速化する場合、セカンダリインデックスまたは検索インデックスを作成できます。詳細については、インデックス選択ポリシーおよび計算プッシュダウンをご参照ください。
SELECT ステートメントを実行して、マッピングテーブルを作成したテーブルのデータをクエリおよび分析できます。詳細については、データのクエリをご参照ください。
データテーブルに属性列を追加または削除した場合、
ALTER TABLE
ステートメントを実行して、データテーブル用に作成されたマッピングテーブルを変更できます。詳細については、マッピングテーブルの属性列の更新をご参照ください。テーブルの説明をクエリする場合は、
DESCRIBE
ステートメントを実行できます。詳細については、テーブルの説明のクエリをご参照ください。テーブルまたは検索インデックス用に作成されたマッピングテーブルが不要になった場合は、
DROP MAPPING TABLE
ステートメントを実行してマッピングテーブルを削除できます。詳細については、マッピングテーブルの削除をご参照ください。テーブルのインデックス情報を表示する場合は、
SHOW INDEX
ステートメントを実行できます。詳細については、テーブルのインデックス情報のクエリをご参照ください。現在のデータベース内のマッピングテーブルの名前をクエリする場合は、
SHOW TABLES
ステートメントを実行できます。詳細については、マッピングテーブルの名前の一覧表示をご参照ください。