ŠTO JE IZMJENJENA ZAPOVIJED?
Kao što se kaže, promjena je jedina konstanta
S vremenom se mijenjaju i poslovni zahtjevi. Kako se poslovni zahtjevi mijenjaju, tako se moraju mijenjati i dizajni baze podataka.
MySQL pruža funkciju ALTER koja nam pomaže ugraditi promjene u već postojeći dizajn baze podataka .
Naredba alter koristi se za izmjenu postojeće baze podataka, tablice, pogleda ili drugih objekata baze podataka koji će se možda morati promijeniti tijekom životnog ciklusa baze podataka.
Pretpostavimo da smo dovršili dizajn baze podataka i da je on implementiran. Korisnici naše baze podataka je koriste i tada shvate da su neke vitalne informacije izostavljene u fazi dizajniranja. Oni ne žele izgubiti postojeće podatke, već samo žele uključiti nove podatke. Naredba alter dobro dođe u takvim situacijama. Naredbom alter možemo koristiti za promjenu vrste podataka polja iz recimo niza u numeričku, promjenu imena polja u novo ime ili čak dodavanje novog stupca u tablicu.
Alter- sintaksa
Osnovna sintaksa koja se koristi za dodavanje stupca u već postojeću tablicu prikazana je u nastavku
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
OVDJE
- "ALTER TABLE` ime_tabele` " naredba je koja MySQL poslužitelju kaže da izmijeni tablicu pod nazivom` ime_tabele`.
- "DODAJ STUPAC` naziv_ stupca `` tip_datoteke "" naredba je koja MySQL poslužitelju dodaje da doda novi stupac pod nazivom "ime_ stupca" s tipom podataka "tip_datoteke".
Pretpostavimo da je Myflix uveo internetsku naplatu i plaćanja. U tom cilju traženo je da u tablici naših članova dodamo polje za broj kreditne kartice. Za to možemo koristiti naredbu ALTER. Pogledajmo prvo strukturu tablice članova prije nego što napravimo bilo kakve izmjene. U tome nam pomaže skripta prikazana u nastavku.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Dolje prikazanu skriptu možemo koristiti za dodavanje novog polja u tablicu članova.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Izvršenjem gornje skripte u MySQL-u protiv Myflixdb dodaje se novi stupac s brojem kreditne kartice u tablicu članova s VARCHAR-om kao vrstom podataka. Izvršavanje skripte stupca emisije daje sljedeće rezultate.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL | |||
credit_card_number | varchar(25) | YES |
Kao što možete vidjeti iz vraćenih rezultata, broj kreditne kartice dodan je u tablicu članova. Dodavanje novog stupca ne utječe na podatke sadržane u podacima članova.
ŠTO JE ZAPOVJED DROP?
Naredba DROP se koristi za
- Izbrišite bazu podataka s MySQL poslužitelja
- Izbrišite objekt (poput tablice, stupca) iz baze podataka.
Pogledajmo sada praktične primjere koji koriste naredbu DROP.
U našem prethodnom primjeru naredbe Alter u tablicu članova dodali smo stupac s brojem kreditne kartice.
Pretpostavimo da će funkcionalnost mrežne naplate potrajati i da želimo PUSTITI stupac s kreditnom karticom
Možemo se poslužiti sljedećom skriptom
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Izvršenjem gornje skripte ispušta se stupac credit_card_number iz tablice članova
Pogledajmo sada stupce u tablici članova kako bismo potvrdili je li naš stupac ispušten.
SHOW COLUMNS FROM `members`;
Izvršenje gornje skripte u MySQL radnom stolu protiv myflixdb daje nam sljedeće rezultate.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Primijetite da je broj kreditne kartice ispušten s popisa polja.
KAPLJENA TABLA
Sintaksa DROP tablice iz baze podataka je sljedeća -
DROP TABLE `sample_table`;
Pogledajmo primjer
DROP TABLE `categories_archive`;
Izvršavanjem gornje skripte iz naše baze podataka briše se tablica pod nazivom `categories_archive`.
ŠTO JE ZAPOVIJED ZA PREIMENOVANJE?
Naredba preimenovanja koristi se za promjenu imena postojećeg objekta baze podataka (poput Tablice, Stupca) u novo ime .
Preimenovanje tablice ne znači da gubi podatke koji se u njoj nalaze.
Sintaksa:-
Naredba za preimenovanje ima sljedeću osnovnu sintaksu.
RENAME TABLE `current_table_name` TO `new_table_name`;
Pretpostavimo da želimo preimenovati tablicu movierentals u movie_rentals, možemo koristiti dolje prikazanu skriptu da bismo to postigli.
RENAME TABLE `movierentals` TO `movie_rentals`;
Izvršavanjem gornje skripte tablica će se preimenovati u "film_rentals".
Sada ćemo preimenovati tablicu movie_rentals natrag u izvorno ime.
RENAME TABLE `movie_rentals` TO `movierentals`;
PROMIJENI KLJUČNU RIJEČ
Promjena ključnih riječi omogućuje vam
- Promijenite naziv stupca
- Promijenite vrstu podataka stupca
- Promijenite ograničenja stupca
Pogledajmo primjer. Polje s punim imenima u tablici članova ima tip podataka varchar i ima širinu 150.
SHOW COLUMNS FROM `members`;
Izvršenje gornje skripte u MySQL radnom stolu protiv myflixdb daje nam sljedeće rezultate.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(150) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Pretpostavimo da želimo
- Promijenite naziv polja iz "puna_imena" u "puno ime"
- Promijenite ga u tip podataka s oznakom širine 250
- Dodajte ograničenje NOT NULL
To možemo postići pomoću naredbe change na sljedeći način -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Izvršenje gornje skripte u MySQL radnom stolu protiv myflixdb, a zatim izvršavanje gore dane skripte pokaži stupce daje sljedeće rezultate.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(250) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
IZMJENITI KLJUČNU RIJEČ
Ključna riječ MODIFY omogućuje vam
- Izmijenite vrstu podataka stupca
- Izmijenite ograničenja stupca
U gornjem primjeru CHANGE morali smo promijeniti ime polja kao i ostale detalje. Izostavljanje imena polja iz izraza CHANGE generirat će pogrešku. Pretpostavimo da nas zanima samo promjena vrste podataka i ograničenja na polju bez utjecaja na naziv polja, za to možemo koristiti ključnu riječ MODIFY.
Skripta ispod mijenja širinu polja "puno ime" s 250 na 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Izvršenje gore navedene skripte u MySQL radnom stolu protiv myflixdb, a zatim izvršavanje gore dane skripte stupca daje sljedeće rezultate prikazane u nastavku.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
NAKON KLJUČNE RIJEČI
Pretpostavimo da želimo dodati novi stupac na određeno mjesto u tablici.
Naredbu alter možemo koristiti zajedno s ključnom riječi AFTER.
Skripta u nastavku dodaje "datum_registracije" neposredno nakon datuma rođenja u tablici članova.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Izvršenje gore navedene skripte u MySQL radnom stolu protiv myflixdb, a zatim izvršavanje gore dane skripte stupca daje sljedeće rezultate prikazane u nastavku.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
date_of_registration | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Sažetak
- Naredba alter koristi se kada želimo izmijeniti bazu podataka ili bilo koji objekt sadržan u bazi podataka.
- Naredba drop koristi se za brisanje baza podataka s MySQL poslužitelja ili objekata unutar baze podataka.
- Naredba preimenovanja koristi se za promjenu imena tablice u novo ime tablice.
- Ključna riječ Promjena omogućuje vam promjenu naziva stupca, vrste podataka i ograničenja
- Izmijeni ključnu riječ omogućuje vam izmjenu tipa podataka stupca i ograničenja
- Ključna riječ After koristi se za određivanje položaja stupca u tablici