Sobes.tech
Junior

Kuidas muuta tabeli struktuuri relatsioonilises andmebaasis?

sobes.tech AI

Vastus AI-lt

Seotud andmebaasi tabeli struktuuri saab muuta kasutades SQL käske ALTER TABLE.

Põhitegevused:

  • Veergu lisamine
  • Veergu kustutamine
  • Veeru andmetüübi muutmine
  • Piirangute lisamine/eemaldamine (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
  • Tabeli nime muutmine
  • Veeru nime muutmine

ALTER TABLE käskude näited:

-- Lisada veerg 'email' VARCHAR(255) tüübiga ja NOT NULL piiranguga tabelisse 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Kustutada veerg 'phone' tabelist 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Muuta veeru 'age' andmetüüpi INTEGER-ks tabelis 'users'
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Lisada veerule 'username' UNIKALNE piirang tabelis 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Kustutada väline võti 'fk_user_group' tabelist 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Tabeli 'customers' ümbernimetamine 'clients'-ks
ALTER TABLE customers
RENAME TO clients;
-- Veeru 'first_name' ümbernimetamine 'given_name'-ks tabelis 'users' (süntaks võib erineda)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;

Oluline märkused:

  • Andmete olemasolu: andmetüübi muutmine või veeru kustutamine võib põhjustada andmete kaotsimineku või ebatäpsuse.
  • Sõltuvused: veeru kustutamine või piirangu muutmine võib häirida seotud tabelite tööd (näiteks välisvõtmete tõttu).
  • Tõhusus: keerulised ALTER TABLE operatsioonid suurtes tabelites võivad olla ressursimahukad ja blokeerida tabeli kasutamise ajaks.

Soovitatav on teha selliseid muudatusi testkeskkonnas ning luua andmete varukoopiaid.