マップ・フィールド

1つまたは複数の値をマップ・カラムに書き込みます。

データを格納するためmapがテーブルに指定されている場合は、INSERTまたはUPDATEを使用してデータを入力します。

手順

  • INSERTまたはUPDATEコマンドを使用し、マップ・コレクション内の整数とテキスト値をコロンで区切り、中かっこで囲んで、mapのデータを設定するか、置き換えます。
    INSERT INTO cycling.cyclist_teams (id, lastname, firstname, teams) 
    VALUES (
      5b6962dd-3f90-4c93-8f61-eabfa4a803e2,
      'VOS', 
      'Marianne', 
      {2015 : 'Rabobank-Liv Woman Cycling Team', 2014 : 'Rabobank-Liv Woman Cycling Team', 2013 : 'Rabobank-Liv Giant', 
        2012 : 'Rabobank Women Team', 2011 : 'Nederland bloeit' }); 
    
    注: この方法でINSERTを使用すると、マップ全体が置き換わります。
  • UPDATEコマンドを使用して、値をmapに挿入します。キーと値のペアを中かっこで囲み、加算(+)演算子を使用して、mapに要素を追加書き込みします。
     UPDATE cycling.cyclist_teams SET teams = teams + {2009 : 'DSB Bank - Nederland bloeit'} WHERE id = 5b6962dd-3f90-4c93-8f61-eabfa4a803e2;
  • 特定の要素を設定します。これを行うには、UPDATEコマンドを使用し、要素の特定のキーである整数を角かっこで囲み、等価演算子を使用して、割り当てられている値をキーにマップします。
     UPDATE cycling.cyclist_teams SET teams[2006] = 'Team DSB - Ballast Nedam' WHERE id = 5b6962dd-3f90-4c93-8f61-eabfa4a803e2;
  • DELETEコマンドを使用し、要素の特定のキーを角かっこで囲んで、マップから要素を削除します。
     DELETE teams[2009] FROM cycling.cyclist_teams WHERE id=e7cd5752-bc0d-4157-a80f-7523add8dbcd;
  • あるいは、UPDATEコマンド、減算演算子(-)、中かっこで囲んだマップ・キー値を使用して、特定の値を持つすべての要素を削除します。
     UPDATE cycling.cyclist_teams SET teams = teams - {'2013','2014'} WHERE id=e7cd5752-bc0d-4157-a80f-7523add8dbcd;