sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLで配列に挿入する方法

    PostgreSQLで、配列を選択したり、配列に追加したり、オブジェクトの配列を挿入したりする必要がある場合があります。この記事では、PostgreSQLで配列に挿入する方法を見ていきます。


    PostgreSQLで配列に挿入する方法

    PostgreSQLの配列に挿入する手順は次のとおりです。次のテーブルがあるとしますemployees(id、name、phone_numbers) 電話番号の列が文字列の配列になるようにします。

    create table employees ( 
         id int,
         name varchar, 
         phone_numbers varchar[] 
    );

    PostgreSQLの配列に挿入できる構文は2つあります。1つはARRAYキーワードを使用し、もう1つは引用符と中括弧を使用します。


    ARRAYキーワードの使用

    これは、ARRAYキーワードを使用してPostgreSQLの配列に挿入するSQLクエリです。

    # insert into employees (id, name, phone_numbers)
             values (1, ' John Doe', ARRAY ['9998765432','9991234567']);
    
    # select * from employees;
      id |   name    |      phone_numbers
     ----+-----------+-------------------------
       1 |  John Doe | {9998765432,9991234567}


    上記のクエリでは、 ARRAY [‘9998765432′、 ’9991234567’]を使用します。 配列をPostgreSQL列に挿入します。


    一重引用符と中括弧を使用する

    以下に示すように、一重引用符と中括弧を使用してPostgreSQL配列に挿入することもできます。

    # insert into employees (id, name, phone_numbers)
      values (2, ' Jim Doe', '{"9996587432","9891334567"}');
     
    # select * from employees;
      id |   name    |      phone_numbers
     ----+-----------+-------------------------
       1 |  John Doe | {9998765432,9991234567}
       2 |  Jim Doe  | {9996587432,9891334567}

    上記の例では、‘{“ 9996587432”、” 9891334567”}’を使用しています。 PostgreSQLの配列に挿入します。

    この場合、中括弧は一重引用符で囲む必要があることに注意してください。また、文字列値を挿入しているため、一重引用符ではなく二重引用符で囲む必要があります。そうしないと、構文エラーが発生します。


    オブジェクトの配列を挿入

    PostgreSQLに配列列の配列がある場合は、オブジェクトの配列を挿入することもできます。 salesのような次の表があるとします。 列は配列の配列です。

    create table employees ( 
         id int,
         name varchar, 
         sales int[][] 
    );

    これは、PostgreSQLにオブジェクトの配列を挿入するためのSQLクエリです。

    # insert into employees (id, name, sales)
                 values (2, ' Jim Doe', '{{150,100},{200,100}}');
    
    # select * from employees;
      id |   name   |         sales
     ----+----------+-----------------------
       2 |  Jim Doe | {{150,100},{200,100}}

    各配列オブジェクトは、メインの中括弧と一重引用符の内側で、別々の中括弧で囲む必要があることに注意してください。‘{ { 150,100 } { 200,100 } }’ そうしないと、エラーが発生します。


    PostgreSQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. INOUTパラメータを使用したOracleの例のストアドプロシージャ

    2. WHERE col IN(...)条件の制限

    3. SQL Server(T-SQL)でデータベースのリストを取得する3つの方法

    4. Oracle INTERVAL DAYTOSECONDデータ型のNHibernateマッピング