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:

Za ilustraciju u daljem radu upotrebite sledeći primer:

CREATE DATABASE mojaBaza;
USE mojaBaza;

CREATE TABLE ucenici ( rbr INT PRIMARY KEY, ime VARCHAR(20) NOT NULL, JMBG CHAR(13), email VARCHAR(50) )

INSERT INTO ucenici (rbr, ime, email) VALUES (1, 'Pera', 'p@p.com'), (2, 'Sima', 'si@s.com')

Promena imena tabele

 ALTER TABLE staro_ime_tabele RENAME TO novo_ime_tabele

ili

RENAME TABLE staro_ime TO novo_ime;

u našem primeru:

RENAME TABLE ucenici TO mucenici;

Promena kolone (polja) unutar tabele (možete menjati ime kolone, kao i tip podataka u njoj)


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

u zavisnosti od verzije, možda se umesti CHANGE, koristi MODIFY (kao na primer za MySQL koji koristimo u školi):

ALTER TABLE mucenici MODIFY 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, kao i sve druge postavke za kolonu, kao što je to u ovom slučaju tip VARCHAR(5) i ograničenje NULL.

Napomena:

Ne mora se navoditi ključna reč COLUMN.

Znači da je isto:

ALTER TABLE mucenici MODIFY COLUMN ime VARCHAR(5) NULL;

i

ALTER TABLE mucenici MODIFY ime VARCHAR(5) NULL;
Isto tako, isto je:

ALTER TABLE mucenici RENAME TO we;
ALTER TABLE mucenici RENAME we;
RENAME TABLE mucenici TO we;

Dodavanje polja (kolone) u tabelu:

ALTER TABLE ucenici
  ADD Prezime VARCHAR(25);

vrati se na vrh strane

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  mucenici
   ADD COLUMN  adresa  VARCHAR(13) NOT NULL AFTER Ime;

Brisanje (uklanjanje) kolone iz tabele:

Prilikom brisanja polja, biće trajno izgubljene sve vrednosti u tabeli koje su upisane pod tim poljem.

ALTER TABLE ucenici
  DROP 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.


vrati se na vrh strane

Last modified: Thursday, 1 October 2020, 12:04 AM