Příkaz ALTER TABLE v PostgreSQL umožňuje přidávat nebo upravovat sloupce v databázových tabulkách.

Co je PostgreSQL ALTER TABLE?

Příkaz ALTER TABLE v PostgreSQL lze použít k úpravě tabulek v databázi. Tento příkaz umožňuje podle potřeby přidávat, odebírat nebo upravovat sloupce v tabulce. Lze jej také použít k implementaci nebo zrušení omezení v tabulce v systému správy databáze. Chcete-li tento příkaz použít, musíte jej kombinovat s konkrétní akcí.

Jaká je syntaxe pro ALTER TABLE?

Abychom lépe porozuměli tomu, jak používat ALTER TABLE, podívejme se nejprve na jeho syntaxi:

ALTER TABLE table_name action;
postgresql

Po zadání příkazu je třeba zadat název tabulky, kterou chcete upravit, a vybrat odpovídající akci pro změny, které chcete provést.

Příklady PostgreSQL ALTER TABLE

Níže ukážeme, jak ALTER TABLE funguje, na jednoduchém příkladu. Použijeme tabulku s názvem customers, která má tři sloupce a tři řádky:

id název město
1 Lee Northampton
2 Johnson Edinburgh
3 Smith Brighton

Tuto tabulku můžeme upravit různými způsoby pomocí ALTER TABLE.

Přidání sloupce s PostgreSQL ADD COLUMN

Chcete-li přidat nový sloupec, použijte ALTER TABLE v kombinaci s akcí ADD COLUMN PostgreSQL. Tato akce vyžaduje dva parametry: název nového sloupce a jeho datový typ. Syntaxe je následující:

ALTER TABLE table_name ADD COLUMN column_name data_type;
postgresql

Například takto můžete přidat sloupec s adresou do tabulky customers:

ALTER TABLE customers ADD COLUMN address VARCHAR(255);
postgresql

Takto nyní vypadá tabulka:

id název město adresa
1 Lee Northampton NULL
2 Johnson Edinburgh NULL
3 Smith Brighton NULL

Odstranění sloupce s DROP COLUMN

Chcete-li odstranit sloupec z tabulky, použijte ALTER TABLE s akcí DROP COLUMN. Zde stačí přidat název sloupce jako parametr:

ALTER TABLE table_name DROP COLUMN column_name;
postgresql

Chcete-li odstranit sloupec city, použijte následující kód:

ALTER TABLE customers DROP COLUMN city;
postgresql

Tím se tabulka zredukuje na tři sloupce:

id jméno adresa
1 Lee NULL
2 Johnson NULL
3 Smith NULL

Přejmenování sloupce s RENAME COLUMN

Můžete také přejmenovat existující sloupec. To může být dobrá alternativa k mazání sloupců a jejich opětovnému přidávání. Syntaxe pro RENAME COLUMN je:

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
postgresql

Například můžete změnit sloupec name na customer_name:

ALTER TABLE customers RENAME COLUMN name TO customer_name;
postgresql

Takto nyní vypadá tabulka:

id jméno_zákazníka address
1 Lee NULL
2 Johnson NULL
3 Smith NULL

Další akce PostgreSQL pro ALTER TABLE

Zde jsou některé další klíčové akce, které můžete použít s ALTER TABLE:

Změna datového typu sloupce:

ALTER TABLE table_name ALTER COLUMN column_name TYPE data_type;
postgresql

Zajištění, aby každý záznam ve sloupci měl hodnotu:

ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;
postgresql

Stanovení omezení, jako je UNIQUE nebo PRIMARY KEY, pomocí ALTER TABLE s ADD CONSTRAINT:

ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
postgresql
Přejít do hlavního menu