PostgreSQL

So richten Sie den Auto-Increment-Primärschlüssel für PostgreSQL ein?

So richten Sie den Auto-Increment-Primärschlüssel für PostgreSQL ein?
Es kann vorkommen, dass Sie Tabellen in PostgreSQL erstellen und verwalten, wenn Sie bestimmte Werte für eine Spalte benötigen, die auf Anfrage generiert wird. Dies gilt insbesondere für „id“-Spalten, die als Primärschlüssel der Tabelle fungieren. Glücklicherweise ermöglicht der Pseudotyp SERIAL, eine automatisch inkrementierende Integer-Reihe bequem zu machen. Eine Serie ist eine Art von Datenbankobjekt in PostgreSQL, das eine Serie von Indizes oder Ganzzahlen erzeugt. Eine PostgreSQL-Sequenz erzeugt eine Zeichenfolge verschiedener Ganzzahlen, wodurch sie sich als Primärschlüssel beim Generieren einer neuen Tabelle eignet. Wir zeigen Ihnen, welche Auto-Increment-Menas in PostgreSQL verwendet werden, und verwenden in diesem Handbuch den Pseudotyp SERIAL.

Syntax:

Die allgemeine Syntax zum Erstellen des Auto-Increment-Primärschlüssels lautet wie folgt:

>> CREATE TABLE tabellenname ( id SERIAL );

Lassen Sie uns nun einen genaueren Blick auf die CREATE TABLE-Deklaration werfen:

Um das Konzept der automatischen Erhöhung zu erhalten, stellen Sie bitte sicher, dass PostgreSQL auf Ihrem System gemountet und konfiguriert ist, bevor Sie mit den Abbildungen in diesem Handbuch fortfahren. Öffnen Sie die PostgreSQL-Befehlszeilen-Shell vom Desktop aus. Fügen Sie Ihren Servernamen hinzu, auf dem Sie arbeiten möchten, ansonsten belassen Sie ihn auf Standard. Schreiben Sie den Datenbanknamen, der auf Ihrem Server liegt, auf dem Sie arbeiten möchten. Wenn Sie es nicht ändern möchten, belassen Sie es als Standard. Wir werden die Datenbank „test“ verwenden, deshalb haben wir sie hinzugefügt. Sie können auch mit dem Standardport 5432 arbeiten, aber Sie können ihn auch ändern. Am Ende müssen Sie den Benutzernamen für die von Ihnen gewählte Datenbank angeben. Lassen Sie es auf Standard, wenn Sie es nicht ändern möchten. Geben Sie Ihr Passwort für den ausgewählten Benutzernamen ein und drücken Sie auf der Tastatur die Eingabetaste, um die Befehlsshell zu verwenden.

Verwenden des Schlüsselworts SERIAL als Datentyp:

Wenn wir eine Tabelle erstellen, fügen wir normalerweise das Schlüsselwort SERIAL nicht in das primäre Spaltenfeld ein. Das bedeutet, dass wir die Werte der Primärschlüsselspalte hinzufügen müssen, während wir die INSERT-Anweisung verwenden. Aber wenn wir beim Erstellen einer Tabelle das Schlüsselwort SERIAL in unserer Abfrage verwenden, sollten wir beim Einfügen der Werte keine primären Spaltenwerte hinzufügen müssen. Werfen wir einen Blick darauf.

Beispiel 01:

Erstellen Sie eine Tabelle „Test“ mit zwei Spalten „id“ und „name“. Die Spalte „id“ wurde als Primärschlüsselspalte definiert, da ihr Datentyp SERIAL ist. Andererseits ist die Spalte „name“ als Datentyp TEXT NOT NULL definiert. Versuchen Sie den folgenden Befehl, um eine Tabelle zu erstellen, und die Tabelle wird effizient erstellt, wie in der Abbildung unten zu sehen.

>> CREATE TABLE Test (ID SERIELLER PRIMÄRSCHLÜSSEL, Name TEXT NICHT NULL);

Fügen wir einige Werte in die Spalte "Name" der neu erstellten Tabelle "TEST" ein. Wir werden der Spalte "id" keinen Wert hinzufügen. Sie können sehen, dass die Werte erfolgreich mit dem INSERT-Befehl eingefügt wurden, wie unten angegeben.

>> INSERT IN TO Test(name) WERTE ('Aqsa'), ('Rimsha'), ('Khan');

Es ist Zeit, die Datensätze der Tabelle 'Test' zu überprüfen. Versuchen Sie die folgende SELECT-Anweisung in der Befehlsshell.

>> AUSWÄHLEN * VON Test;

An der Ausgabe unten können Sie erkennen, dass die Spalte „id“ automatisch einige Werte enthält, obwohl wir aufgrund des Datentyps SERIAL, den wir für die Spalte „id“ angegeben haben, keine Werte aus dem INSERT-Befehl hinzugefügt haben. So funktioniert der Datentyp SERIAL allein.

Beispiel 02:

Eine andere Möglichkeit, den Wert der Spalte des Datentyps SERIAL zu überprüfen, besteht darin, das Schlüsselwort RETURNING im Befehl INSERT zu verwenden. Die folgende Deklaration erstellt eine neue Zeile in der Tabelle „Test“ und liefert den Wert für das Feld „id“:

>> INSERT INTO Test(name) VALUES ('Hassam') RETURNING id;

Durch die Überprüfung der Datensätze der Tabelle „Test“ mit der SELECT-Abfrage erhalten wir die folgende Ausgabe, wie im Bild angezeigt displayed. Der fünfte Datensatz wurde der Tabelle effizient hinzugefügt.

>> AUSWÄHLEN * VON Test;

Beispiel 03:

Die alternative Version der obigen Einfügeabfrage verwendet das Schlüsselwort DEFAULT. Wir werden den Spaltennamen „id“ im INSERT-Befehl verwenden und im Abschnitt VALUES das Schlüsselwort DEFAULT als Wert angeben. Die folgende Abfrage funktioniert bei der Ausführung genauso.

>> INSERT INTO Test(id, name) VALUES (STANDARD, 'Raza');

Lassen Sie uns die Tabelle erneut mit der SELECT-Abfrage wie folgt überprüfen:

>> AUSWÄHLEN * VON Test;

Sie können aus der Ausgabe unten sehen, dass der neue Wert hinzugefügt wurde, während die Spalte „id“ standardmäßig inkrementiert wurde.

Beispiel 04:

Die Sequenznummer des SERIAL-Spaltenfelds finden Sie in einer Tabelle in PostgreSQL. Dazu wird die Methode pg_get_serial_sequence() verwendet. Wir müssen die currval()-Funktion zusammen mit der pg_get_serial_sequence()-Methode verwenden. In dieser Abfrage stellen wir den Tabellennamen und seinen SERIAL-Spaltennamen in den Parametern der Funktion pg_get_serial_sequence() bereit. Wie Sie sehen, haben wir die Tabelle „Test“ und die Spalte „ID“ angegeben. Diese Methode wird im folgenden Abfragebeispiel verwendet:

>> SELECT currval(pg_get_serial_sequence('Test', 'id'));

Es ist erwähnenswert, dass unsere Funktion currval() uns hilft, den neuesten Wert der Sequenz zu extrahieren, der „5“ ist. Das Bild unten ist eine Illustration, wie die Leistung aussehen könnte.

Fazit:

In diesem Tutorial haben wir gezeigt, wie Sie den Pseudotyp SERIAL zum automatischen Inkrementieren in PostgreSQL verwenden. Mit einer Reihe in PostgreSQL ist es einfach, einen automatisch inkrementierenden Zahlensatz zu erstellen. Hoffentlich können Sie das SERIAL-Feld auf die Tabellenbeschreibungen anwenden, indem Sie unsere Illustrationen als Referenz verwenden.

Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...