PostgreSQL Arrays Tutorial

PostgreSQL Arrays Tutorial
Eindimensionale oder mehrdimensionale Arrays mit variabler Länge können als Feld einer Tabelle in der PostgreSQL-Datenbank definiert werden. Integrierte, benutzerdefinierte, enum und zusammengesetzte Datentypen werden von PostgreSQL Array unterstützt. Array -Felder werden unter Verwendung von Quadratklammern wie anderen Array -Erklärungen deklariert. Zum Beispiel können Integer -Arrays als deklariert werden als als ganze Zahl[], Textarrays können als als deklariert werden Text[] usw. Wie Sie Postgresql -Arrays mit Erstellen, Auswählen, Einfügen, Aktualisieren und Löschen von Abfragen verwenden können, werden in diesen Tutorials angezeigt.

Beispiel 1: Erstellen von Tabellen mit Array-Feld erstellen

Erstellen Sie eine Tabelle mit dem Array -Feld. In diesem Beispiel eine Tabelle mit dem Namen Benutzer wird mit Feldern erstellt, Benutzername, Vollname, Geschlecht, E -Mail, Telefon Und Interessen. Interessen Feld ist definiert als Text [] Array, das in diesem Feld mehrere Werte akzeptieren kann.

Tabellenbenutzer erstellen (Benutzer
Benutzername Varchar (15) Primärschlüssel,
Vollname varchar (100),
Geschlechtsvarchar (6),
E -Mail Varchar (20),
Telefon varchar (20),
Interessen Text []);

Beispiel 2: Fügen Sie Daten in das Array-Feld der Tabelle ein

Sie können einen oder mehrere Werte in das Feld Array einfügen. In Array -Feldern werden die mehreren Werte durch Kommas getrennt und verwenden die zweite Halterung, um die Werte festzulegen. Führen Sie die folgenden drei Anweisungen aus, um drei Zeilen in ein Einlegen Benutzer Tisch.

In Benutzer einfügen (Benutzername, Fullname, Geschlecht, E -Mail, Telefon, Interessen)
Werte ('John99', 'Jonathan Bing', 'männlich', '[email protected] ',' +2455676677 ',
'"Gartenarbeit", "Cricket", "Radfahren", "Reisen"');
In Benutzer einfügen (Benutzername, Fullname, Geschlecht, E -Mail, Telefon, Interessen)
Werte ('Maria_hd', 'Maria Hossain', 'weiblich', [email protected] ',' +9234455454 ',
'"Reiset", "Tennis"');
In Benutzer einfügen (Benutzername, Fullname, Geschlecht, E -Mail, Telefon, Interessen)
Werte ('fahmidabd', 'fahmida', 'weiblich', [email protected] ',' +88017348456 ',
'"Programmierung", "Musik"');

Führen Sie die folgende Auswahlanweisung aus, um alle Datensätze der Benutzertabelle anzuzeigen.

Wählen Sie * von Benutzern aus;

Beispiel-3: Wählen Sie Daten mit dem Array-Feld der Tabelle aus

a) Rufen Sie einen bestimmten Array -Wert ab

Wenn Sie einen bestimmten Wert aus dem Array abrufen möchten, müssen Sie den Indexwert mit dem Feld Array angeben. Die folgende Auswahlabfrage wird zum Abrufen verwendet Vollname, Telefon und Interesse Wert des zweiten Index aus der Benutzertabelle aller männlichen Benutzer.

Wählen Sie Vollname, Telefon, Interessen [2]
Von Benutzern
Wo Geschlecht = 'männlich';

Wenn der Indexwert im Feld Array nicht verfügbar ist, gibt er Null als Ausgabe zurück. In der folgenden Erklärung existiert der fünfte Index nicht im Bereich Interesses.

Wählen Sie Vollname, E -Mail, Interessen [5]
Von Benutzern
Wo Geschlecht = 'weiblich';

b) Abrufen Datensätze basierend auf dem bestimmten Array -Wert ab

Sie können verwenden beliebig Funktion zum Durchsuchen bestimmter Array -Werte in allen Datensätzen des Array -Feldes. Die folgende Auswahlanweisung wird abrufen Fullname, E -Mail Und Telefon von allen Benutzern, deren Interessen Feld enthält ''Reisen" Wert.

Wählen Sie Vollname, E -Mail, Telefon
Von Benutzern
Wo 'reiset' = irgendwelche (Interessen);

c) Rufen Sie Datensätze mit Unnest Function ab

unsteuter () Funktion wird verwendet, um jeden Arraywert in der separaten Zeile abzurufen. In der folgenden Auswahlanweisung werden Datensätze für jeden Wert von separat abgerufen Interessen Feld.

Wählen Sie FullName, unnestiert (Interessen)
Von Benutzern;

Beispiel-4: Aktualisieren Sie Daten mit dem Array-Feld der Tabelle

A) Aktualisieren Sie einen bestimmten Array -Index

Die folgende Update -Abfrage aktualisiert den zweiten Indexwert von Interessen, an dem Datensätze den Benutzernamen „John99“ enthalten, enthält.

Benutzer aktualisieren
Setzen Sie Interessen [1] = 'Fußball'
Wo Benutzername = 'John99';

Führen Sie die folgende Auswahlabfrage aus, um den Effekt der Update -Abfrage anzuzeigen.

Wählen Sie Benutzernamen, Interessen von Benutzern aus;

b) Aktualisieren Sie alle Werte eines bestimmten Array -Feldes

Sie können den vollständigen Inhalt des Array -Felds auf zwei Arten aktualisieren. Der erste Weg besteht darin, einen normalen konventionellen Weg zu verwenden, der im obigen Beispiel gezeigt wird. Zweitens ist die Verwendung des Array -Ausdrucks. Beide Wege werden nachstehend aufgeführt, um den Datensatz zu aktualisieren. Sie können die folgenden Fragen ausführen, um das Feld Array zu aktualisieren. Die folgende Aktualisierungsanweisung ersetzt die vorherigen Werte durch neue zwei Werte, die die Zeile den Benutzernamen enthält. 'maria_db '.

Benutzer aktualisieren
Setzen Sie Interessen = '"Gardening", "Hockey"' '
Wo userername = 'maria_hd';

Oder,

Benutzer aktualisieren
Setzen Sie Interessen = Array ['Gardening', 'Hockey']
Wo userername = 'maria_hd';

Führen Sie die folgende Auswahlabfrage aus, um den Effekt der Update -Abfrage anzuzeigen.

Wählen Sie Benutzernamen, Interessen von Benutzern aus;

Beispiel-5: Daten basierend auf dem Array-Feld der Tabelle löschen

Sie können die Löschabfrage ausführen, indem Sie bestimmte Array -Werte übereinstimmen. Im folgenden Beispiel werden die Benutzer, die „Programmierung“ als Wert im ersten Feld "Index of Interests" haben, aus der Tabelle gelöscht.

Von Benutzern löschen
Wo Interessen [1] = 'Programmierung';

Führen Sie die folgende Auswahlabfrage aus, um den Effekt der Löschabfrage anzuzeigen.

Wählen Sie Benutzernamen, Interessen von Benutzern aus;

Alle oben genannten Beispiele dieses Tutorials zeigen die Verwendung eines eindimensionalen Arrays in PostgreSQL. Die Verwendung eines mehrdimensionalen Arrays ist bitter kompliziert als eindimensionales Array. Als Anfänger können Sie dieses Tutorial üben, um das Grundkenntnis der Verwendung von PostgreSQL Array zu erlangen.