Jak přidat nebo odebrat sloupce v PostgreSQL pomocí ALTER TABLE
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;postgresqlPo 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;postgresqlNapříklad takto můžete přidat sloupec s adresou do tabulky customers:
ALTER TABLE customers ADD COLUMN address VARCHAR(255);postgresqlTakto 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;postgresqlChcete-li odstranit sloupec city, použijte následující kód:
ALTER TABLE customers DROP COLUMN city;postgresqlTí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;postgresqlNapříklad můžete změnit sloupec name na customer_name:
ALTER TABLE customers RENAME COLUMN name TO customer_name;postgresqlTakto 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;postgresqlZajištění, aby každý záznam ve sloupci měl hodnotu:
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;postgresqlStanovení omezení, jako je UNIQUE nebo PRIMARY KEY, pomocí ALTER TABLE s ADD CONSTRAINT:
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;postgresql