PostgreSQL ALTER Tabel: Kolom TOEVOEGEN, Kolom-/tabelvoorbeelden hernoemen

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

Syntaxis

Hier is de syntaxis voor de PostgreSQL ALTER TABLE-opdracht:

ALTER TABLE table-name action;

De tabelnaamparameter 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.

Beschrijving

De opdracht ALTER TABLE wijzigt de definitie van een bestaande tabel. Het accepteert de volgende subformulieren:

  • KOLOM TOEVOEGEN: dit gebruikt een soortgelijke syntaxis als de opdracht CREATE TABLE om een ​​nieuwe kolom aan een tabel toe te voegen.
  • DROP KOLOM: voor het verwijderen van een tabelkolom. De beperkingen en indexen die aan de kolommen zijn opgelegd, worden ook verwijderd.
  • STANDAARD INSTELLEN/LATEN: Gebruiken voor het verwijderen van de standaardwaarde voor een kolom. De wijziging is echter alleen van toepassing op de volgende INSERT-verklaringen.
  • SET/DROP NIET NULL: Wijzigt of een kolom null-waarden toestaat of niet.
  • STATISTIEKEN INSTELLEN: Voor het instellen van het doel voor het verzamelen van statistieken voor elke kolom voor ANALYZE-bewerkingen.
  • OPSLAG INSTELLEN: Voor het instellen van de opslagmodus voor een kolom. Dit bepaalt waar de kolom wordt vastgehouden, hetzij inline, hetzij in een aanvullende tabel.
  • SET ZONDER OIDS: Gebruiken om de oude kolom van de tabel te verwijderen.
  • RENAME: voor het wijzigen van de tabelnaam of een kolomnaam.
  • VOEG tabelbeperking toe: Gebruiken om een ​​nieuwe beperking aan een tabel toe te voegen. Het gebruikt dezelfde syntaxis als MAAK EEN TABEL opdracht.
  • DROP BEPERKING: Gebruiken voor het verwijderen van een tabelbeperking.
  • EIGENAAR: voor het wijzigen van de eigenaar van een tabel, reeks, index of weergave naar een bepaalde gebruiker.
  • CLUSTER: voor het markeren van een tabel die gebruikt moet worden voor het uitvoeren van toekomstige clusterbewerkingen.

Een kolom wijzigen

Een kolom kan op een aantal manieren worden gewijzigd. Dergelijke wijzigingen kunnen worden aangebracht met behulp van de opdracht ALTER TABLE. Laten we deze bespreken:

Een nieuwe kolom toevoegen

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

ALTER TABLE table-name
  ADD 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 de data type van de nieuwe kolom.

Zie de onderstaande boekentabel:

Een nieuwe kolom toevoegen PostgreSQL

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

ALTER TABLE Book
  ADD author VARCHAR(50);

Na het uitvoeren van de bovenstaande opdracht ziet de Boekentabel er nu als volgt uit:

Een nieuwe kolom toevoegen PostgreSQL

De nieuwe kolom is succesvol toegevoegd.

De naam van een tabelkolom wijzigen

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

ALTER TABLE table-name
  RENAME 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:

De naam van een tabelkolom wijzigen in PostgreSQL

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

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

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

De naam van een tabelkolom wijzigen in PostgreSQL

De kolomnaam is succesvol gewijzigd.

Een standaardwaarde voor een kolom instellen

We kunnen een standaardwaarde voor een kolom instellen, zodat zelfs wanneer 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:

Een standaardwaarde voor een kolom instellen

We moeten een standaardwaarde instellen voor de kolom book_author. We kunnen de volgende opdracht 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');

Houd er rekening mee dat we waarden voor slechts twee kolommen hebben ingevoegd: id en naam. De standaardwaarde is echter gebruikt voor de kolom book_author:

Een standaardwaarde voor een kolom instellen

Een controlebeperking toevoegen

Een controlebeperking 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 de ADD CHECK-instructie. Syntaxis:

ALTER TABLE table-name ADD CHECK expression;

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

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

Laten we de kolom book_author van de tabel Boek 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 kolom book_author van de tabel Book:

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

De instructie retourneert de volgende foutmelding:

Een controlebeperking toevoegen

De invoegbewerking is mislukt omdat de controlebeperking is overtreden.

De naam van een tabel wijzigen

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

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

De tabelnaam is de huidige naam van de tabel.

De nieuwe-tabelnaam is de nieuwe naam die aan de tabel moet worden toegewezen.

Laten we bijvoorbeeld de naam van de boekentabel wijzigen in Boeken:

ALTER TABLE Book
  RENAME TO Books;

Gebruik pgAdmin

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

Een nieuwe kolom toevoegen

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

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

Een nieuwe kolom toevoegen met pgAdmin

Stap 3) Typ de query in de query-editor:

ALTER TABLE Book
  ADD author VARCHAR(50);

Stap 4) Klik op de knop Uitvoeren.

Een nieuwe kolom toevoegen met pgAdmin

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

  1. Klik op Databases in de linkernavigatie.
  2. Vouw de demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw Tabellen uit.
  6. Vouw boek uit.
  7. Vouw Kolommen uit.

Een nieuwe kolom toevoegen met pgAdmin

De kolom had moeten worden toegevoegd, zoals hieronder weergegeven:

Een nieuwe kolom toevoegen met pgAdmin

De naam van een tabelkolom wijzigen

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

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

De naam van een tabelkolom wijzigen met pgAdmin

Stap 3) Typ de query in de query-editor:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Stap 4) Klik op de knop Uitvoeren.

De naam van een tabelkolom wijzigen met pgAdmin

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

  1. Klik op Databases in de linkernavigatie.
  2. Vouw de demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw Tabellen uit.
  6. Vouw boek uit.
  7. Vouw Kolommen uit.

De naam van een tabelkolom wijzigen met pgAdmin

De kolommen zouden nu als volgt moeten zijn:

De naam van een tabelkolom wijzigen met pgAdmin

De kolom is succesvol gewijzigd.

Een standaardwaarde voor een kolom instellen

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

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

Een standaardwaarde voor een kolom instellen

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Een standaardwaarde voor een kolom instellen

Stap 5) Om dit 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 bevragen om te controleren of de standaardwaarde is ingevoegd in de kolom book_author:

Een standaardwaarde voor een kolom instellen

Een controlebeperking toevoegen

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

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

Een controlebeperking toevoegen met pgAdmin

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Een controlebeperking toevoegen met pgAdmin

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

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

    Een controlebeperking toevoegen met pgAdmin

    Het resultaat is het volgende:

Een controlebeperking toevoegen met pgAdmin

De naam van een tabel wijzigen

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

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

De naam van een tabel wijzigen met pgAdmin

Stap 3) Typ de query in de query-editor:

ALTER TABLE Book
  RENAME TO Books;

Stap 4) Klik op de knop Uitvoeren.

De naam van een tabel wijzigen met pgAdmin

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

  1. Klik op Databases in de linkernavigatie.
  2. Vouw de demo uit.
  3. Vouw Schema's uit.
  4. Vouw Openbaar uit.
  5. Vouw Tabellen uit.

De naam van een tabel wijzigen met pgAdmin

De tabel is succesvol hernoemd.

Samenvatting

  • De instructie ALTER TABLE wordt gebruikt om de structuur van de tabel te wijzigen.
  • De opdracht ALTER TABLE neemt verschillende vormen aan, afhankelijk van de taak die u moet uitvoeren.
  • De structuur kan bestaan ​​uit de tabelkolommen 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