Junior
Jak změnit strukturu tabulky v relační databázi?
sobes.tech AI
Odpověď od AI
Struktura tabulky v relační databázi se mění pomocí SQL příkazů ALTER TABLE.
Hlavní akce:
- Přidání sloupce
- Odstranění sloupce
- Změna datového typu sloupce
- Přidání/odstranění omezení (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
- Přejmenování tabulky
- Přejmenování sloupce
Příklady příkazů ALTER TABLE:
-- Přidání sloupce 'email' typu VARCHAR(255) s omezením NOT NULL do tabulky 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Odstranění sloupce 'phone' z tabulky 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Změna datového typu sloupce 'age' v tabulce 'users' na INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Přidání omezení UNIQUE na sloupec 'username' v tabulce 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Odstranění omezení Foreign Key s názvem 'fk_user_group' z tabulky 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Přejmenování tabulky 'customers' na 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Přejmenování sloupce 'first_name' na 'given_name' v tabulce 'users' (syntax se může lišit)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;
Důležité:
- Přítomnost dat v tabulce: změna datového typu nebo odstranění sloupce může vést ke ztrátě nebo nesprávným datům.
- Závislosti: odstranění sloupce nebo změna omezení může narušit funkčnost souvisejících tabulek (například kvůli cizím klíčům).
- Výkon: složité operace
ALTER TABLEna velkých tabulkách mohou být náročné na zdroje a mohou blokovat přístup k tabulce během provádění.
Doporučuje se tyto změny nejprve provést v testovacím prostředí před nasazením do produkce a zálohovat data.