PostgreSQL

Hoe PostgreSQL Auto-increment Primary Key in te stellen?

Hoe PostgreSQL Auto-increment Primary Key in te stellen?
Het kan voorkomen dat u tabellen in PostgreSQL bouwt en onderhoudt wanneer u bepaalde waarden wilt voor een kolom die op verzoek wordt gegenereerd. Dit zou met name het geval zijn voor "id" -kolommen die fungeren als de primaire sleutel van de tabel. Gelukkig maakt het SERIAL pseudo-type het gemakkelijk om een ​​automatisch oplopende integerreeks te maken. Een reeks is een type database-object in PostgreSQL dat een reeks indexen of gehele getallen produceert. Een PostgreSQL-reeks produceert een reeks afzonderlijke gehele getallen, waardoor deze geschikt is om als primaire sleutel te worden gebruikt bij het genereren van een nieuwe tabel. We zullen u demonstreren wat automatisch verhogen menas in PostgreSQL en we zullen het SERIAL pseudo-type in deze handleiding gebruiken.

Syntaxis:

De algemene syntaxis voor het maken van de primaire sleutel voor automatisch verhogen is als volgt:

>> CREATE TABLE table_name ( id SERIAL );

Laten we nu de CREATE TABLE-verklaring in meer detail bekijken:

Om het concept van automatisch verhogen te begrijpen, moet u ervoor zorgen dat PostgreSQL op uw systeem is aangekoppeld en geconfigureerd voordat u verdergaat met de illustraties in deze handleiding. Open de PostgreSQL-opdrachtregelshell vanaf het bureaublad. Voeg uw servernaam toe waaraan u wilt werken, anders laat u deze standaard staan. Schrijf de databasenaam die op uw server ligt waar u aan wilt werken. Als je het niet wilt veranderen, laat het dan als standaard. We zullen de "test" -database gebruiken, daarom hebben we deze toegevoegd. U kunt ook op de standaardpoort 5432 werken, maar u kunt deze ook wijzigen. Uiteindelijk moet u de gebruikersnaam opgeven voor de database die u kiest. Laat het op standaard staan ​​als je het niet wilt veranderen. Typ uw wachtwoord voor de geselecteerde gebruikersnaam en druk op "Enter" vanaf het toetsenbord om de opdrachtshell te gebruiken.

SERIEEL trefwoord gebruiken als gegevenstype:

Wanneer we een tabel maken, voegen we meestal het trefwoord SERIAL niet toe aan het veld van de primaire kolom. Dit betekent dat we de waarden moeten toevoegen aan de primaire sleutelkolom terwijl we de INSERT-instructie gebruiken. Maar wanneer we het trefwoord SERIAL in onze query gebruiken tijdens het maken van een tabel, hoeven we geen primaire kolomwaarden toe te voegen tijdens het invoegen van de waarden. Laten we er eens naar kijken.

Voorbeeld 01:

Maak een tabel "Test" met twee kolommen "id" en "naam". De kolom "id" is gedefinieerd als de primaire sleutelkolom aangezien het datatype SERIAL is. Aan de andere kant is de kolom "naam" gedefinieerd als het gegevenstype TEXT NOT NULL. Probeer de onderstaande opdracht om een ​​tabel te maken en de tabel zal efficiënt worden gemaakt, zoals te zien is in de onderstaande afbeelding:.

>> CREATE TABLE Test (id SERILE PRIMAIRE SLEUTEL, naam TEKST NIET NULL);

Laten we enkele waarden invoegen in de kolom "naam" van de nieuw gemaakte tabel "TEST". We zullen geen waarde toevoegen aan de kolom "id". U kunt zien dat de waarden met succes zijn ingevoegd met behulp van de INSERT-opdracht zoals hieronder vermeld:.

>> INVOER IN Test(naam) WAARDEN ('Aqsa'), ('Rimsha'), ('Khan');

Het is tijd om de records van de tabel 'Test' te controleren. Probeer de onderstaande SELECT-instructie in de opdrachtshell.

>> KIES * VAN Test;

Uit de onderstaande output kun je opmerken dat de kolom "id" automatisch enkele waarden bevat, hoewel we geen waarden hebben toegevoegd van de INSERT-opdracht vanwege het datatype SERIAL dat we hebben gespecificeerd voor de kolom "id". Zo werkt het datatype SERIAL op zichzelf.

Voorbeeld 02:

Een andere manier om de waarde van de kolom SERIAL-gegevenstype te controleren, is door het trefwoord RETURNING te gebruiken in de opdracht INSERT. De onderstaande declaratie maakt een nieuwe regel in de tabel "Test" en levert de waarde voor het veld "id" op:

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

Door de records van de tabel "Test" te controleren met behulp van de SELECT-query, kregen we de onderstaande uitvoer zoals weergegeven in de afbeelding:. Het vijfde record is efficiënt toegevoegd aan de tabel.

>> KIES * VAN Test;

Voorbeeld 03:

De alternatieve versie van de bovenstaande invoegquery gebruikt het DEFAULT-sleutelwoord. We zullen de naam van de kolom "id" gebruiken in de opdracht INSERT en in de sectie VALUES geven we het het sleutelwoord DEFAULT als waarde. De onderstaande query werkt hetzelfde bij uitvoering.

>> INSERT INTO Test(id, name) WAARDEN (STANDAARD, 'Raza');

Laten we de tabel opnieuw controleren met behulp van de SELECT-query als volgt:

>> KIES * VAN Test;

U kunt aan de onderstaande uitvoer zien dat de nieuwe waarde is toegevoegd terwijl de kolom "id" standaard is verhoogd.

Voorbeeld 04:

Het volgnummer van het kolomveld SERIAL is te vinden in een tabel in PostgreSQL. De methode pg_get_serial_sequence() wordt gebruikt om dit te bereiken. We moeten de functie currval() gebruiken samen met de methode pg_get_serial_sequence(). In deze query geven we de tabelnaam en de kolomnaam SERIAL in de parameters van de functie pg_get_serial_sequence(). Zoals u kunt zien, hebben we tabel "Test" en kolom "id" gespecificeerd. Deze methode wordt gebruikt in het onderstaande queryvoorbeeld:

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

Het is vermeldenswaard dat onze functie currval() ons helpt om de meest recente waarde van de reeks te extraheren, namelijk "5". De onderstaande afbeelding is een illustratie van hoe de voorstelling eruit zou kunnen zien.

Conclusie:

In deze handleiding hebben we laten zien hoe u het SERIAL pseudo-type kunt gebruiken om automatisch te verhogen in PostgreSQL. Door een reeks in PostgreSQL te gebruiken, is het eenvoudig om een ​​automatisch oplopende reeks getallen te maken. Hopelijk kunt u het veld SERIAL toepassen op de tabelbeschrijvingen met behulp van onze illustraties als referentie.

Gratis en open source game-engines voor het ontwikkelen van Linux-games
Dit artikel behandelt een lijst met gratis en open source game-engines die kunnen worden gebruikt voor het ontwikkelen van 2D- en 3D-games op Linux. E...
Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...