Junior
Ako zmeniť štruktúru tabuľky v relačnej databáze?
sobes.tech AI
Odpoveď od AI
Štruktúra tabuľky v relačnej databáze sa mení pomocou SQL príkazov ALTER TABLE.
Hlavné akcie:
- Pridanie stĺpca
- Odstránenie stĺpca
- Zmena dátového typu stĺpca
- Pridanie/odstránenie obmedzení (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
- Premenovanie tabuľky
- Premenovanie stĺpca
Príklady príkazov ALTER TABLE:
-- Pridanie stĺpca 'email' typu VARCHAR(255) s obmedzením NOT NULL do tabuľky 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Odstránenie stĺpca 'phone' z tabuľky 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Zmena dátového typu stĺpca 'age' v tabuľke 'users' na INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Pridanie obmedzenia UNIQUE na stĺpec 'username' v tabuľke 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Odstránenie obmedzenia Foreign Key s názvom 'fk_user_group' z tabuľky 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Premenovanie tabuľky 'customers' na 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Premenovanie stĺpca 'first_name' na 'given_name' v tabuľke 'users' (sintax sa môže líšiť)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;
Dôležité:
- Prítomnosť dát v tabuľke: zmena dátového typu alebo odstránenie stĺpca môže viesť ku strate alebo nesprávnym dátam.
- Závislosti: odstránenie stĺpca alebo zmena obmedzení môže narušiť fungovanie súvisiacich tabuliek (napríklad kvôli cudzím kľúčom).
- Výkon: zložité operácie
ALTER TABLEna veľkých tabuľkách môžu byť náročné na zdroje a môžu blokovať prístup k tabuľke počas vykonávania.
Odporúča sa tieto zmeny najskôr vykonať v testovacom prostredí pred nasadením do produkcie a vytvoriť záložné kópie dát.