tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

Selectコマンド

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-06-26 10:57:13

概要

COS Select機能はSELECT SQL照会コマンドのみをサポートし、必要なデータの一部を検索できるようにすることで、転送データ量を削減することができます。こうすることでコストが削減でき、リクエストの遅延も低減できます。SELECT照会でサポートする標準句は次のとおりです。
SELECTステートメント
WHERE句
LIMIT句
注意:
COS Selectは現時点では句の照会またはjoinsをサポートしていません。

SELECTステートメント

SELECTステートメントはCOSオブジェクトの中からお客様が見たいデータを検索できるようにするもので、列の名称、関数または式などの次元で照会を行い、リスト形式で照会結果が返されます。SELECTステートメントの呼び出し形式は次のとおりです。
SELECT *
SELECT projection [ AS column_alias | column_alias ] [, ...]
最初のSELECTステートメントには*(アスタリスク)が付いており、COSオブジェクトのすべての列が返されます。2番目のSELECTステートメントはユーザー定義の出力スカラー式、projectionを各列に使用した、カスタム名の出力リストを作成します。

WHERE句

WHERE句は次の構文を使用します。
WHERE condition
WHERE句はconditionによってフィルタリングされます。conditionはブール型の結果を返すことができる式であり、戻り値がTRUEの行のみ結果として出力されます。

LIMIT句

LIMIT句は次の構文を使用します。
LIMIT number
LIMIT句は毎回の照会で返されるレコード数を制限します。numberパラメータによってこの制限を指定することができます。

属性アクセス

SELECTおよびWHERE句は、次の任意の方法で照会するフィールドを選択することができます。ファイル形式がCSVかJSONかによって選択できます。

CSV

列番号_Nによって、N番目の列のデータの照会を指定できます。任意のCSVファイルの場合、列番号は1から順に増加します。1列目の番号が_1であれば、2列目の番号は_2となります。SELECTおよびWHERE句では、_Nまたはalias._Nによって、照会を行いたい列をすべて正しい方法で指定できます。
列ヘッダー:照会対象のCSVファイルにヘッダーが含まれる場合、SELECTおよびWHERE句ではこのヘッダーによって照会を行いたい列を指定することができます。SQLステートメントでは、SELECTおよびWHERE句でalias.column_nameまたはcolumn_nameの方法によって指定できます。

JSON

ドキュメント(Document)alias.nameの方法によってJSONドキュメントにアクセスできます。ネスト配列にはalias.name1.name2.name3の方法でアクセスできます。
リスト(List):インデックスによってリスト内の要素にアクセスできます。インデックス番号は0から開始し、オペレーター[]を使用します。例えば、alias[1]によってJSONリスト内の2番目の要素にアクセスできます。ネスト配列にアクセスしたい場合は、alias.name1.name2[1].name3のような方法によってアクセスすることもできます。
事例 この事例のデータサンプルを次に示します。
{
"name": "Leon",
"org": "Tencent",
"projects":
[
{"project_name":"project1", "completed":true},
{"project_name":"project2", "completed":false}
]
}
事例1:データサンプルにおいてnameのSQLステートメントを照会した結果:
Select s.name from COSObject s
{"name":"Leon"}
事例2:データサンプルにおいてproject_nameのSQLステートメントを照会した結果:
Select s.projects[0].project_name from COSObject s
{"project_name":"project1"}

ヘッダーおよび属性名の大文字と小文字の区別

二重引用符を使用して、CSVファイルのヘッダーおよびJSONファイルの属性名が大文字と小文字を区別するかどうかを表示できます。二重引用符を追加しない場合、ヘッダー/属性名の大文字と小文字は区別されないことを表します。設定が不明確な場合、COS Selectがエラーをスローする場合があります。
事例1:照会したヘッダー/属性名の中に「NAME」のオブジェクトがある場合 次のSQLの例では二重引用符を使用していないため、大文字と小文字は区別されないことを表します。テーブルの中にこのヘッダーがあるため、最終的に正しく値が返されます。
SELECT s.name from COSObject s
次のSQLの例では二重引用符を使用しているため、大文字と小文字が区別されることを表します。テーブルの中に実際にこのヘッダーが含まれないため、最終的にエラーコード400のSQLParsingErrorが返されます。
SELECT s."name" from COSObject s
事例2:照会したヘッダー/属性名の中に"NAME"と"name"のオブジェクトがある場合 次のSQLの例では二重引用符を使用していないため、大文字と小文字は区別されないことを表します。テーブルの中に「NAME」と「name」という2つのヘッダーがあるため、照会コマンドの設定が不明確であり、エラーAmbiguousFieldNameがスローされます。
SELECT s.name from COSObject s
次のSQLの例では二重引用符を使用しているため、大文字と小文字は区別されることを表します。テーブルの中に「NAME」ヘッダーが存在するため、照会結果が正しく返されます。
SELECT s."NAME" from COSObject s

予約フィールドをユーザーカスタムフィールドとして使用する

COS SelectのSQL式には、関数名、データタイプ、オペレーターなどを含むいくつかの予約フィールドがあります。状況によっては、ユーザーがこれらの予約フィールドをCSVファイルの列ヘッダーまたはJSONファイルの属性名として使用する可能性がありますが、その場合、予約フィールドとの競合が発生する可能性があります。このような場合は、二重引用符を使用することで、カスタムフィールドを使用中であることを明らかにすることができます。これを行わない場合、COSは400 parse errorを返します。
完全な予約フィールドリストをご覧になりたい場合は、予約フィールドをご参照ください。
事例:照会対象のオブジェクトのヘッダー/属性名に予約フィールド「CAST」が含まれる場合 次のSQLの例では二重引用符を使用し、CASTがユーザーカスタムフィールドであることを明らかにしていますので、照会結果が正しく返されます。
SELECT s."CAST" from COSObject s
次のSQLの例では、二重引用符を使用せず、CASTがユーザーカスタムフィールドであることを明らかにしていませんので、COSは予約フィールドとして処理し、400 parse errorが返されます。
SELECT s.CAST from COSObject s

スカラー式

SELECTステートメントとWHERE句では、SQLスカラー式(値を返す式)を使用することができます。現在COS Selectでは次の形式をサポートしています。
literal:SQLのテキスト。
column_reference:column_nameまたはalias.column_name。
unary_opexpression: SQLの単項演算子。
expressionbinary_opexpression:SQLの二項演算子。
func_name:呼び出された値関数の名称。
expression [ NOT ] BETWEEN expression AND expression
expression LIKE expression [ ESCAPE expression ]

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック