PostgreSQL ALTER-tabel: kolom TOEVOEGEN, kolom- / tabelvoorbeelden hernoemen

Het ALTER TABLE-commando wordt gebruikt om de structuur van een PostgreSQL-tabel te wijzigen. Het is de opdracht die wordt gebruikt om de tabelkolommen of de naam van de tabel te wijzigen.

In deze tutorial leer je:

  • Syntaxis
  • Omschrijving
  • Een kolom wijzigen
    • Een nieuwe kolom toevoegen
    • Een tabelkolom hernoemen
  • Een standaardwaarde instellen voor een kolom
  • Een controlebeperking toevoegen
  • Een tabel hernoemen
  • Met behulp van pgAdmin

Syntaxis

Hier is de syntaxis voor het PostgreSQL ALTER TABLE-commando:

ALTER TABLE table-name action;

De parameter table-name is de naam van de tabel die u moet wijzigen.

De actieparameter is de actie die u moet uitvoeren, zoals het wijzigen van de naam van een kolom, het wijzigen van het gegevenstype van een kolom, enz.

Omschrijving

Het ALTER TABLE-commando verandert de definitie van een bestaande tabel. Er zijn de volgende subformulieren nodig:

  • KOLOM TOEVOEGEN : dit gebruikt een vergelijkbare syntaxis als de opdracht CREATE TABLE om een ​​nieuwe kolom aan een tabel toe te voegen.
  • DROP COLUMN : voor het verwijderen van een tabelkolom. De beperkingen en indexen die aan de kolommen zijn opgelegd, worden ook verwijderd.
  • SET / DROP DEFAULT : wordt gebruikt om de standaardwaarde voor een kolom te verwijderen. De wijziging is echter alleen van toepassing op de volgende INSERT-instructies.
  • SET / DROP NOT NULL : Wijzigt of een kolom al dan niet null-waarden toestaat.
  • STATISTIEKEN INSTELLEN: Voor het instellen van het doel voor het verzamelen van statistieken voor elke kolom voor ANALYSE-bewerkingen.
  • OPSLAG INSTELLEN : Voor het instellen van de opslagmodus voor een kolom. Dit bepaalt waar de kolom wordt vastgehouden, inline of in een aanvullende tabel.
  • ZONDER OIDS INSTELLEN : wordt gebruikt om de oude kolom van de tafel te verwijderen.
  • RENAME : voor het wijzigen van de tabelnaam of een kolomnaam.
  • ADD table_constraint : wordt gebruikt om een ​​nieuwe beperking aan een tabel toe te voegen. Het gebruikt dezelfde syntaxis als het CREATE TABLE-commando.
  • DROP BEPERKING : Gebruik deze optie om een ​​tabelbeperking te verwijderen.
  • EIGENAAR : voor het wijzigen van de eigenaar van een tabel, reeks, index of een weergave naar een bepaalde gebruiker.
  • CLUSTER : voor het markeren van een tabel die moet worden gebruikt voor het uitvoeren van toekomstige clusterbewerkingen.

Een kolom wijzigen

Een kolom kan op een aantal manieren worden gewijzigd. Dergelijke wijzigingen kunnen worden aangebracht met het ALTER TABLE-commando. Laten we deze bespreken:

Een nieuwe kolom toevoegen

Om een ​​nieuwe kolom aan een PostgreSQL-tabel toe te voegen, wordt het ALTER TABLE-commando gebruikt met de volgende syntaxis:

ALTER TABLE table-nameADD new-column-name column-definition;

De tabelnaam is de naam van de tabel die moet worden gewijzigd.

De nieuwe-kolomnaam is de naam van de nieuwe kolom die moet worden toegevoegd.

De kolomdefinitie is het gegevenstype van de nieuwe kolom.

Zie de onderstaande boekentabel:

De tabel heeft twee kolommen, id en naam. We moeten een nieuwe kolom aan de tabel toevoegen en deze de naam auteur geven. Voer gewoon de volgende opdracht uit:

ALTER TABLE BookADD author VARCHAR(50);

Na het uitvoeren van het bovenstaande commando, ziet de boekentafel er nu als volgt uit:

De nieuwe kolom is succesvol toegevoegd.

Een tabelkolom hernoemen

We kunnen het ALTER TABLE-commando gebruiken om de naam van een kolom te wijzigen. In dit geval wordt de opdracht gebruikt met de volgende syntaxis:

ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;

De tabelnaam is de naam van de tabel waarvan de kolom moet worden hernoemd.

De oude naam is de oude / huidige naam van de kolom.

De nieuwe naam is de nieuwe naam van de kolom. Beschouw het onderstaande tabelboek:

Boek:

We hebben de naam van de kolomauteur nodig om book_author. Hier is het commando:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Nadat we de opdracht hebben uitgevoerd, kunnen we de structuur van de tabel bekijken:

De kolomnaam is succesvol gewijzigd.

Een standaardwaarde instellen voor een kolom

We kunnen een standaardwaarde voor een kolom instellen, zodat zelfs als u geen waarde voor die kolom opgeeft tijdens INSERT-bewerkingen, de standaardwaarde wordt gebruikt. In dit geval kan de opdracht ALTER TABLE worden gebruikt met de volgende syntaxis:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

De tabelnaam is de naam van de tabel waarvan de kolom moet worden gewijzigd.

De kolomnaam is de naam waarvoor de standaardwaarde moet worden ingesteld.

De waarde is de standaardwaarde voor de kolom.

Beschouw de onderstaande boekentabel:

We moeten een standaardwaarde instellen voor de kolom book_author. We kunnen het volgende commando uitvoeren:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';

Laten we nu een rij in de tabel invoegen:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');

Merk op dat we waarden hebben ingevoegd voor slechts twee kolommen, id en naam. De standaardwaarde is echter gebruikt voor de kolom book_author:

Een controlebeperking toevoegen

Een controlevoorwaarde helpt bij het valideren van de records die in een tabel worden ingevoegd. We kunnen dit doen door het ALTER TABLE-commando te combineren met het ADD CHECK-statement. Syntaxis:

ALTER TABLE table-name ADD CHECK expression;

De tabelnaam is de naam van de te wijzigen tabel.

De uitdrukking is de beperking die aan de tabelkolom moet worden opgelegd.

Laten we de book_author-kolom van de Book-tabel aanpassen zodat deze alleen de waarden Nicholas en Samuel accepteert:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

Laten we nu proberen een andere waarde dan Nicholas of Samuel in te voegen in de book_author-kolom van de Book-tabel:

INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

De instructie retourneert de volgende fout:

De invoegbewerking is mislukt omdat we de controlevoorwaarde hebben geschonden.

Een tabel hernoemen

Hier is de syntaxis voor het ALTER TABLE-commando voor het hernoemen van een tabel:

ALTER TABLE table-nameRENAME TO new-table-name;

De tabelnaam is de huidige naam van de tabel.

De nieuwe-tafelnaam is de nieuwe naam die aan de tafel moet worden toegewezen.

Laten we bijvoorbeeld de naam van de boekentafel wijzigen in boeken:

ALTER TABLE BookRENAME TO Books;

Met behulp van pgAdmin

Laten we nu eens kijken hoe deze acties kunnen worden uitgevoerd met pgAdmin.

Een nieuwe kolom toevoegen

Om hetzelfde te bereiken met pgAdmin, doe je dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de vraag in de zoekopdrachteditor:

ALTER TABLE BookADD author VARCHAR(50);

Stap 4) Klik op de knop Uitvoeren.

Stap 5) Om te controleren of de kolom is toegevoegd, doet u het volgende:

  1. Klik op Databases in de linkernavigatiebalk.
  2. Vouw Demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw tabellen uit.
  6. Boek uitvouwen.
  7. Vouw kolommen uit.

De kolom had moeten zijn toegevoegd, zoals hieronder weergegeven:

Een tabelkolom hernoemen

Om hetzelfde te bereiken met pgAdmin, doe je dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de vraag in de zoekopdrachteditor:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Stap 4) Klik op de knop Uitvoeren.

Stap 5) Om te controleren of de wijziging is geslaagd, doet u het volgende:

  1. Klik op Databases in de linkernavigatiebalk.
  2. Vouw Demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw tabellen uit.
  6. Boek uitvouwen.
  7. Vouw kolommen uit.

De kolommen zouden nu als volgt moeten zijn:

De kolom is succesvol gewijzigd.

Een standaardwaarde instellen voor een kolom

Om hetzelfde te bereiken met pgAdmin, doe je dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de vraag in de zoekopdrachteditor:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';

Stap 4) Klik op de knop Uitvoeren.

Stap 5) Om te testen, voert u de volgende opdracht uit in de query-editor:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')

Stap 6) Nu kunnen we de tabel opvragen om te controleren of de standaardwaarde is ingevoegd in de kolom book_author:

Een controlebeperking toevoegen

Om hetzelfde te bereiken met pgAdmin, doe je dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de vraag in de zoekopdrachteditor:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Stap 4) Klik op de knop Uitvoeren.

Stap 5) Om dit te testen, doet u het volgende:

  1. Typ de volgende query in de query-editor:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Klik op de knop Uitvoeren.

    Het zal het volgende retourneren:

Een tabel hernoemen

Om hetzelfde te bereiken met pgAdmin, doe je dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de vraag in de zoekopdrachteditor:

ALTER TABLE BookRENAME TO Books;

Stap 4) Klik op de knop Uitvoeren.

Stap 5) Om te controleren of de tabel een andere naam heeft gekregen, doet u het volgende:

  1. Klik op Databases in de linkernavigatiebalk.
  2. Vouw Demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw tabellen uit.

De naam van de tabel is met succes gewijzigd.

Overzicht:

  • Het ALTER TABLE-statement wordt gebruikt om de structuur van de tabel te wijzigen.
  • Het ALTER TABLE-commando heeft verschillende vormen, afhankelijk van de taak die u moet uitvoeren.
  • De structuur kan de tabelkolommen zijn of de tabel zelf.
  • We kunnen deze verklaring gebruiken om de naam van een tabel te wijzigen.
  • Het ALTER TABLE-commando kan worden gebruikt om de standaardwaarde van een kolom in te stellen.
  • De instructie kan worden gebruikt om de waarden te valideren die in een tabelkolom zijn ingevoerd.

Download de database die in deze zelfstudie wordt gebruikt

Interessante artikelen...