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:
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í:
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:
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:
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:
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:
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:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
ALTER TABLE Book ADD author VARCHAR(50);
Krok 4) Klepněte na tlačítko Spustit.
Krok 5) Chcete-li zkontrolovat, zda byl sloupec přidán, postupujte takto:
- V levé navigační nabídce klikněte na Databáze.
- Rozbalte Demo.
- Rozbalte položku Schémata.
- Rozbalte položku Veřejné.
- Rozbalte tabulky.
- Rozbalit knihu.
- Rozbalte sloupce.
Sloupec by měl být přidán, jak je znázorněno níže:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Krok 4) Klepněte na tlačítko Spustit.
Krok 5) Chcete-li zkontrolovat, zda byla změna úspěšná, postupujte takto:
- V levé navigační nabídce klikněte na Databáze.
- Rozbalte Demo.
- Rozbalte položku Schémata.
- Rozbalte položku Veřejné.
- Rozbalte tabulky.
- Rozbalit knihu.
- Rozbalte sloupce.
Sloupce by nyní měly být následující:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
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.
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:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
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.
Krok 5) Chcete-li to otestovat, postupujte takto:
- V editoru dotazů zadejte následující dotaz:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Klepněte na tlačítko Spustit.
Vrátí následující:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
ALTER TABLE Book RENAME TO Books;
Krok 4) Klepněte na tlačítko Spustit.
Krok 5) Chcete-li zkontrolovat, zda byla tabulka přejmenována, postupujte takto:
- V levé navigační nabídce klikněte na Databáze.
- Rozbalte Demo.
- Rozbalte položku Schémata.
- Rozbalte položku Veřejné.
- Rozbalte tabulky.
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