PostgreSQL ALTER tabulka: PŘIDAT sloupec, Přejmenovat sloupec/příklady tabulky

Příkaz ALTER TABLE se používá ke změně struktury a PostgreSQL stůl. Je to příkaz používaný ke změně sloupců tabulky nebo názvu tabulky.

Syntax

Zde je syntaxe pro PostgreSQL Příkaz ALTER TABLE:

ALTER TABLE table-name action;

Parametr název-tabulky je název tabulky, kterou potřebujete změnit.

Parametr akce je akce, kterou musíte provést, jako je změna názvu sloupce, změna datového typu sloupce atd.

Description

Příkaz ALTER TABLE změní definici existující tabulky. Má následující podformuláře:

  • PŘIDAT SLOUPEK: používá podobnou syntaxi jako příkaz CREATE TABLE pro přidání nového sloupce do tabulky.
  • PUSTI SLOUPEK: pro vypuštění sloupce tabulky. Omezení a indexy uložené na sloupce budou také zrušeny.
  • SET/DROP DEFAULT: Použijte pro odstranění výchozí hodnoty pro sloupec. Změna se však bude týkat pouze následujících INSERT příkazy.
  • SET/DROP NOT NULL: Změní, zda sloupec povolí hodnoty null nebo ne.
  • NASTAVIT STATISTIKY: Pro nastavení cíle shromažďování statistik pro každý sloupec pro operace ANALYZE.
  • NASTAVIT ÚLOŽIŠTĚ: Pro nastavení režimu ukládání pro sloupec. To určí, kde je sloupec uchováván, zda vložený, nebo v doplňkové tabulce.
  • SET BEZ OIDŮ: Slouží k odstranění starého sloupce tabulky.
  • PŘEJMENOVAT: pro změnu názvu tabulky nebo názvu sloupce.
  • PŘIDAT omezení_tabulky: Použijte pro přidání nového omezení do tabulky Používá stejnou syntaxi jako VYTVOŘENÍ TABULKY příkaz.
  • OMEZENÍ POHLEDU: Použijte pro zrušení omezení tabulky.
  • MAJITEL: pro změnu vlastníka tabulky, sekvence, indexu nebo pohledu na určitého uživatele.
  • CLUSTER: pro označení tabulky, která se má použít pro provádění budoucích operací clusteru.

Úprava sloupce

Sloupec lze upravit mnoha způsoby. Takové úpravy lze provést pomocí příkazu ALTER TABLE. Pojďme diskutovat o těchto:

Přidání nového sloupce

Chcete-li přidat nový sloupec do a PostgreSQL tabulka, příkaz ALTER TABLE se používá s následující syntaxí:

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

Název-tabulky je název tabulky, která má být upravena.

New-column-name je název nového sloupce, který má být přidán.

Definice sloupce je datový typ nového sloupce.

Podívejte se na níže uvedenou tabulku knih:

Přidání nového sloupce PostgreSQL

Tabulka má dva sloupce, id a název. Musíme do tabulky přidat nový sloupec a dát mu jméno autor. Stačí spustit následující příkaz:

ALTER TABLE Book
  ADD author VARCHAR(50);

Po spuštění výše uvedeného příkazu je nyní tabulka knihy následující:

Přidání nového sloupce PostgreSQL

Nový sloupec byl úspěšně přidán.

Přejmenování sloupce tabulky

Ke změně názvu sloupce můžeme použít příkaz ALTER TABLE. V tomto případě se příkaz používá s následující syntaxí:

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

Název-tabulky je název tabulky, jejíž sloupec má být přejmenován.

Old-name je starý/aktuální název sloupce.

New-name je nový název sloupce. Podívejte se na níže uvedenou tabulku:

Rezervovat:

Přejmenování sloupce tabulky v PostgreSQL

Potřebujeme jméno autora sloupce na book_author. Zde je příkaz:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Po spuštění příkazu si můžeme prohlédnout strukturu tabulky:

Přejmenování sloupce tabulky v PostgreSQL

Název sloupce byl úspěšně změněn.

Nastavení výchozí hodnoty pro sloupec

Můžeme nastavit výchozí hodnotu pro sloupec tak, že i když pro tento sloupec nezadáte hodnotu během operací INSERT, bude použita výchozí hodnota. V tomto případě lze příkaz ALTER TABLE použít s následující syntaxí:

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

Název-tabulky je název tabulky, jejíž sloupec má být upraven.

Název sloupce je název, pro který má být nastavena výchozí hodnota.

Hodnota je výchozí hodnotou pro sloupec.

Zvažte níže uvedenou tabulku knihy:

Nastavení výchozí hodnoty pro sloupec

Musíme nastavit výchozí hodnotu pro sloupec book_author. Můžeme spustit následující příkaz:

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

Nyní vložíme do tabulky řádek:

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

Všimněte si, že jsme vložili hodnoty pouze do dvou sloupců, id a name. Pro sloupec book_author však byla použita výchozí hodnota:

Nastavení výchozí hodnoty pro sloupec

Přidání kontrolního omezení

Kontrolní omezení pomáhá při ověřování záznamů, které se vkládají do tabulky. Toho dosáhneme kombinací příkazu ALTER TABLE s příkazem ADD CHECK. Syntax:

ALTER TABLE table-name ADD CHECK expression;

Název-tabulky je název tabulky, která má být změněna.

Výraz je omezení, které má být uvaleno na sloupec tabulky.

Upravme sloupec book_author tabulky Book tak, aby akceptoval pouze hodnoty Nicholas a Samuel:

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

Nyní zkusme vložit jinou hodnotu než Nicholas nebo Samuel do sloupce book_author tabulky Book:

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

Příkaz vrátí následující chybu:

Přidání kontrolního omezení

Operace vložení se nezdařila, protože jsme porušili kontrolní podmínku.

Přejmenování tabulky

Zde je syntaxe příkazu ALTER TABLE pro přejmenování tabulky:

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

Název-tabulky je aktuální název tabulky.

New-table-name je nový název, který má být přiřazen k tabulce.

Změňme například název tabulky Kniha na Knihy:

ALTER TABLE Book
  RENAME TO Books;

Pomocí pgAdmin

Nyní se podívejme, jak lze tyto akce provádět pomocí pgAdmin.

Přidání nového sloupce

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Přidání nového sloupce pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

ALTER TABLE Book
  ADD author VARCHAR(50);

Krok 4) Klepněte na tlačítko Spustit.

Přidání nového sloupce pomocí pgAdmin

Krok 5) Chcete-li zkontrolovat, zda byl sloupec přidán, postupujte takto:

  1. V levé navigační nabídce klikněte na Databáze.
  2. Rozbalte Demo.
  3. Rozbalte položku Schémata.
  4. Rozbalte položku Veřejné.
  5. Rozbalte tabulky.
  6. Rozbalit knihu.
  7. Rozbalte sloupce.

Přidání nového sloupce pomocí pgAdmin

Sloupec by měl být přidán, jak je znázorněno níže:

Přidání nového sloupce pomocí pgAdmin

Přejmenování sloupce tabulky

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Přejmenování sloupce tabulky pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Krok 4) Klepněte na tlačítko Spustit.

Přejmenování sloupce tabulky pomocí pgAdmin

Krok 5) Chcete-li zkontrolovat, zda byla změna úspěšná, postupujte takto:

  1. V levé navigační nabídce klikněte na Databáze.
  2. Rozbalte Demo.
  3. Rozbalte položku Schémata.
  4. Rozbalte položku Veřejné.
  5. Rozbalte tabulky.
  6. Rozbalit knihu.
  7. Rozbalte sloupce.

Přejmenování sloupce tabulky pomocí pgAdmin

Sloupce by nyní měly být následující:

Přejmenování sloupce tabulky pomocí pgAdmin

Sloupec byl úspěšně změněn.

Nastavení výchozí hodnoty pro sloupec

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Nastavení výchozí hodnoty pro sloupec

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Nastavení výchozí hodnoty pro sloupec

Krok 5) Chcete-li otestovat, spusťte v editoru dotazů následující příkaz:

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

Krok 6) Nyní se můžeme dotázat na tabulku a zkontrolovat, zda byla do sloupce book_author vložena výchozí hodnota:

Nastavení výchozí hodnoty pro sloupec

Přidání kontrolního omezení

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Přidání kontrolního omezení pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Přidání kontrolního omezení pomocí pgAdmin

Krok 5) Chcete-li to otestovat, postupujte takto:

  1. V editoru dotazů zadejte následující dotaz:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Klepněte na tlačítko Spustit.

    Přidání kontrolního omezení pomocí pgAdmin

    Vrátí následující:

Přidání kontrolního omezení pomocí pgAdmin

Přejmenování tabulky

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Přejmenování tabulky pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

ALTER TABLE Book
  RENAME TO Books;

Krok 4) Klepněte na tlačítko Spustit.

Přejmenování tabulky pomocí pgAdmin

Krok 5) Chcete-li zkontrolovat, zda byla tabulka přejmenována, postupujte takto:

  1. V levé navigační nabídce klikněte na Databáze.
  2. Rozbalte Demo.
  3. Rozbalte položku Schémata.
  4. Rozbalte položku Veřejné.
  5. Rozbalte tabulky.

Přejmenování tabulky pomocí pgAdmin

Tabulka byla úspěšně přejmenována.

Shrnutí

  • Příkaz ALTER TABLE se používá k úpravě struktury tabulky.
  • Příkaz ALTER TABLE má různé podoby v závislosti na úloze, kterou potřebujete provést.
  • Strukturou mohou být sloupce tabulky nebo samotná tabulka.
  • Tento příkaz můžeme použít ke změně názvu tabulky.
  • Příkaz ALTER TABLE lze použít k nastavení výchozí hodnoty sloupce.
  • Příkaz lze použít k ověření hodnot zadaných do sloupce tabulky.

Stáhněte si databázi použitou v tomto kurzu