JSON形式の値の挿入
クエリーをテストするため、INSERTコマンドを使用してJSONデータを挿入します。
実稼働データベースでのカラムとカラム値の挿入は、cqlshを使用するよりプログラムで行う方が実用的です。CQL INSERTコマンドは、JSONによるcqlshコマンドライン・ユーティリティからの手動テストの実行をサポートしています。
次の構文を使用します。
INSERT INTO [keyspace_name.]table_name JSON '{"column_name": value [,…]}' [DEFAULT UNSET];
注: 数字以外のすべての値は二重引用符で囲みます。cqlshで通常認識されるブーリアン、UUIDおよびその他のデータ型は二重引用符で囲む必要があります。
手順
-
JSONデータを挿入するには、
JSON
をINSERT
コマンドに追加します。INSERT INTO cycling.cyclist_category JSON '{ "category" : "GC", "points" : 780, "id" : "829aa84a-4bba-411f-a4fb-38167a987cda", "lastname" : "SUTHERLAND" }';
-
いずれかのカラムがJSONに存在しない場合にデータのupsert操作を実行すると、欠落しているカラム内の値がデフォルトではnullで上書きされます。以下の例では、
lastname
値の"SUTHERLAND"が上記の例から削除されています。INSERT INTO cycling.cyclist_category JSON '{ "category" : "Sprint", "points" : 780, "id" : "829aa84a-4bba-411f-a4fb-38167a987cda" }';
-
JSON文字列内に見つかった値のみを上書きするには、DEFAULT UNSETオプションを使用します。
INSERT INTO cycling.cyclist_category JSON '{ "category" : "Sprint", "points" : 780, "id" : "829aa84a-4bba-411f-a4fb-38167a987cda" }' DEFAULT UNSET;
-
新しい行を挿入するときは、PRIMARY KEYフィールドのみが必要です。JSONに定義されていない他のカラムはnullに設定されます。
INSERT INTO cycling.cyclist_category JSON '{ "category" : "Sprint", "points" : 700, "id" : "829aa84a-4bba-411f-a4fb-38167a987cda" }';