JSON形式の値の挿入

クエリーをテストするため、INSERTコマンドを使用してJSONデータを挿入します。

実稼働データベースでのカラムとカラム値の挿入は、cqlshを使用するよりプログラムで行う方が実用的です。CQL INSERTコマンドは、JSONによるcqlshコマンドライン・ユーティリティからの手動テストの実行をサポートしています。

次の構文を使用します。
INSERT INTO [keyspace_name.]table_name JSON '{"column_name": value [,…]}' [DEFAULT UNSET];
注: 数字以外のすべての値は二重引用符で囲みます。cqlshで通常認識されるブーリアン、UUIDおよびその他のデータ型は二重引用符で囲む必要があります。

手順

  • JSONデータを挿入するには、JSONINSERTコマンドに追加します。
    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"
    }';