Sintaksa naredbe za izmenu tabele je složena i obuhvata veliki broj aktivnosti koje mogu da se obave prilikom zahteva za izmenu.

Izmenom tabele je moguće:

  • Promena imena tabele

  • Promena potpisa polja tabele (tip podataka, ograničenja, ...)

  • Dodavanje polja (kolona) u tabelu

  • Brisanje kolone iz tabele,

  • Dodavanje ograničenja ili reference na drugu tabelu,

  • itd.


Promena imena tabele

 ALTER TABLE staro_ime_tabele RENAME novo_ime_tabele

ili

RENAME TABLE staro_ime TO novo_ime;


Promena imena i potpisa polja(kolone)

ALTER TABLE ime_tabele CHANGE COLUMN staro_ime novo_ime VARCHAR(5) NULL;


Prilikom promene imena kolone, neophodno je potvrditi celokupan potpis kolone, tj. tip podatka iz kolone sa svim pripadajućim podešavanjima, ako i sve druge postavke za kolonu, kao što je to u ovom slučaju NULL.


Napomena:

Ne mora se navoditi ključna reč COLUMN. Može i ovako:

ALTER TABLE ucenici

  ADD Prezime VARCHAR(25);


ALTER TABLE ucenici

  DROP jmbg;


ALTER TABLE ucenici

 MODIFY Ime VARCHAR(28);



Promena tipa podatka kolone

ALTER TABLE ime_tabele MODIFY COLUMN ime_kolone TEXT  NOT NULL;


Ako treba da se promeni ime kolone u tabeli uz promenu potpisa, treba da se koristi CHANGE.

Ako treba da se promeni samo potpis polja u tabeli (kolone), bez menjanja imena, treba da se koristi MODIFY.


Dodavanje polja u tabelu

ALTER TABLE  ucenici 
   ADD COLUMN  jmbg  VARCHAR(13) NOT NULL;

Polje (kolona) će biti dodato na poslednje mesto u tabeli.

Ako treba da se novo polje doda na tačno određenu lokaciju u tabeli, moguće je u nastavku SQL naredbe precizirati iza kojeg postojećeg polja treba da bude dodato to novo polje:


ALTER TABLE  ucenici
   ADD COLUMN  jmbg  VARCHAR(13) NOT NULL AFTER Ime;


Brisanje polja iz tabele

Ako postoji potreba da se iz postojeće tabele izbriše postojeće polje, može da se koristi SQL naredba za izmenu tabele sa aktivnošću brisanja polja u tabeli. Prilikom brisanja polja, biće trajno izgubljene sve vrednosti u tabeli koje su upisane pod tim poljem.

ALTER TABLE ucenici
  DROP COLUMN jmbg;

Prethodna naredba će da obriše polje jmbg iz tabele ucenici. Ovim postupkom se gube sve vrednosti podataka jmbg iz svih zapisa u tabeli ucenici. U slučaju potrebe da se polje naknadno vrati, ne postoji mogućnost vraćanja prvobitnih vrednosti za pojedinačne redove u tabeli, osim iz eventualne rezervne kopije tabele ili baze podataka, napravljene pre postupka brisanja polja.

Last modified: Wednesday, 5 February 2020, 2:08 AM