SQL – Izmena strukture tabela

U prethodnom SQL prilogu videli smo na koji naฤin se kreiraju tabele uz pomoฤ‡ instrukcije CREATE TABLE. Pri tome smo spomenuli i drugu komandu ALTER TABLE, koja takoฤ‘e pripada DDL (Data Definition Language) komponenti SQL jezika, a namenjena je za izmenu strukture postojeฤ‡ih tabela. Na primer, sa ovom instrukcijom moลพete da dodate novo ili obriลกete postojeฤ‡e polje (kolonu), promenite tip postojeฤ‡eg polja, ili moลพete samo preimenovati neko od polja. Ovo je vrlo bitna komanda koja ฤ‡e vam u sluฤaju neuspeลกnog dizajna baze podataka ili u sluฤaju potrebe za dodavanjem novih obeleลพja, olakลกati posao.

Ova instrukcija radi na taj naฤin ลกto kada je pozovemo kreira privremenu kopiju originalne tabele, izvrลกi se izmena na kopiji tabele, pa se na kraju briลกe originalna tabela, a novoj se menja naziv u staru. Vaลพno je reฤ‡i i da ฤ‡e prilikom izvrลกavanja naredbe ALTER TABLE originalna tabela ostati u upotrebi, tj. biฤ‡e dostupna ostalim klijentima (ako se radi o mreลพi). Sama fiziฤka izmena i upis nove tabele se ne vrลกi sve dok nova tabela nije spremna. Osnovna sintaksa naredbe ALTER TABLE je razliฤita kod razliฤitih SUBP, i u osnovi ima veฤ‡i broj argumenata, a mi ฤ‡emo navesti samo one najbitnije:


ALTER TABLE naziv_tabele
ADD novo_polje
ili
MODIFY postojece_polje [definicija]
ili
DROP postojece_polje
ili
RENAME postojece_polje TO novo_polje

;

I ovaj put za primere ฤ‡emo koristiti tabelu „Radnik“ koju smo definisali putem SQL-a u prethodnom prilogu. Prvo ฤ‡emo uz pomoฤ‡ ALTER TABLE videti kako da izmenimo definiciju polja „SIF_R“ (ลกifra radnika – proลกirenje ovog polja, tako da u njega moลพe da stane 10 karaktera umesto 5) :


ALTER TABLE Radnik
MODIFY SIF_R Char(10) not null;

Za dodavanje novog polja u tabelu koristiฤ‡emo sledeฤ‡i izraz:


ALTER TABLE Radnik
ADD SS Char(4) not null;

Ovim smo tabeli dodali polje „Struฤna sprema“ (SS), a preimenovanje cele tabele bi bilo:


ALTER TABLE Radnik RENAME Sef;

Pratite Krstaricu na www.krstarica.com