PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie man in PostgreSQL in ein Array einfügt

Manchmal müssen Sie in PostgreSQL Objekte in ein Array auswählen, an ein Array anhängen oder ein Array von Objekten einfügen. In diesem Artikel werden wir uns ansehen, wie man in PostgreSQL in ein Array einfügt.


Einfügen in ein Array in PostgreSQL

Hier sind die Schritte zum Einfügen in ein Array in PostgreSQL. Angenommen, Sie haben die folgende Tabelle Mitarbeiter (ID, Name, Telefonnummern) so dass die Telefonnummernspalte ein Array von Strings ist.

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

Es gibt zwei akzeptierte Syntaxen zum Einfügen in Arrays in PostgreSQL – eine mit dem Schlüsselwort ARRAY und die andere mit Anführungszeichen und geschweiften Klammern.


Array-Schlüsselwort verwenden

Hier ist die SQL-Abfrage, die mit dem Schlüsselwort ARRAY in das Array in PostgreSQL eingefügt werden soll.

# 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}


In der obigen Abfrage verwenden wir ARRAY [‘9998765432′,’9991234567’] um ein Array in eine PostgreSQL-Spalte einzufügen.


Einfache Anführungszeichen und geschweifte Klammern verwenden

Wir können auch in ein PostgreSQL-Array einfügen, indem wir einfache Anführungszeichen und geschweifte Klammern verwenden, wie unten gezeigt.

# 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}

Im obigen Beispiel verwenden wir ‘{„9996587432″“, „9891334567“}‘ zum Einfügen in ein Array in PostgreSQL.

Bitte beachten Sie, dass in diesem Fall die geschweiften Klammern in einfache Anführungszeichen gesetzt werden müssen. Da wir Zeichenfolgenwerte einfügen, müssen sie außerdem in doppelte Anführungszeichen statt in einfache Anführungszeichen gesetzt werden, sonst erhalten Sie einen Syntaxfehler.


Array von Objekten einfügen

Sie können auch ein Array von Objekten einfügen, wenn Sie ein Array von Array-Spalten in PostgreSQL haben. Nehmen wir an, Sie haben die folgende Tabelle so, dass Verkäufe Spalte ist ein Array von Array.

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

Hier ist die SQL-Abfrage zum Einfügen eines Arrays von Objekten in PostgreSQL.

# 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}}

Bitte beachten Sie, dass Sie jedes Array-Objekt in separate geschweifte Klammern einschließen müssen, innerhalb der geschweiften Hauptklammern und einfachen Anführungszeichen, ‘{{ 150.100} ,{ 200.100} }’ Andernfalls erhalten Sie eine Fehlermeldung.


Benötigen Sie ein Reporting-Tool für PostgreSQL? Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!