このトピックでは、Tablestore SDK for PHP を使用して SQL ステートメントを実行してデータをクエリする方法について説明します。
使用上の注意
SQL クエリは、Tablestore SDK for PHP V5.1.0 以降でサポートされています。サポートされているバージョンがインストールされていることを確認してください。
Tablestore SDK for PHP のバージョン履歴については、Tablestore SDK for PHP のバージョン履歴をご参照ください。
前提条件
-
クライアントが初期化されていること。詳細については、「Tablestore クライアントの初期化」をご参照ください。
-
データをクエリするテーブルのマッピングテーブルが作成されていること。詳細については、「マッピングテーブルの作成」をご参照ください。
パラメーター
SQLQueryRequest には、次のパラメーターがあります。
|
名前 |
タイプ |
説明 |
|
query (必須) |
String |
マッピングテーブル名、フィールド、プライマリキー、クエリエンジンを定義する |
例
次の例では、SELECT `PK0`, `boolean`, `long`, `geo` FROM `tableName` LIMIT 10; ステートメントを使用して tableName テーブルのデータをクエリし、最大 10 行を返します。システムは、クエリステートメントのリクエストタイプ、戻り値のスキーマ、および返された結果を返します。
$request = array(
'query' => 'SELECT `PK0`, `boolean`, `long`, `geo` FROM `tableName` LIMIT 10;',
);
$response = $this->otsClient->sqlQuery($request);
$sqlRows = $response['sql_rows'];
// すべてのデータを出力します
$lines = '';
for ($i = 0; $i < $sqlRows->rowCount; $i++) {
$line = '';
for ($j = 0; $j < $sqlRows->columnCount; $j++) {
$line = $line . (is_null($sqlRows->get($j, $i)) ? "null" : $sqlRows->get($j, $i)) . "\t";
}
$lines = $lines . $line . "\n";
}
print $lines;
$sqlRows = $response['sql_rows'];