MYSQL – PROMIJENI, ISPUSTI, PREIMENI, MIJENI

Što je naredba ALTER?

Kako se ono kaže Promjena je jedina konstanta

S vremenom se mijenjaju i poslovni zahtjevi. Kako se poslovni zahtjevi mijenjaju, potrebno je promijeniti i dizajn baze podataka.

MySQL pruža IZMIJENI funkcija koja nam pomaže ugraditi promjene u već postojeći dizajn baze podataka.

Naredba alter koristi se za izmjenu postojeće baze podataka, tablice, prikaza ili drugih objekata baze podataka koji bi se mogli promijeniti tijekom životnog ciklusa baze podataka.

Pretpostavimo da smo dovršili dizajn naše baze podataka i ona je implementirana. Naši korisnici baze podataka koriste je i onda shvate da su neke od vitalnih informacija izostavljene u fazi dizajna. Oni ne žele izgubiti postojeće podatke, već samo žele ugraditi nove informacije. U takvim situacijama dobro dođe naredba alter. Možemo koristiti alter naredbu za promjenu tipa podataka polja iz recimo niza u numerički, promijeniti naziv polja u novi naziv ili čak dodati novi stupac u tablici.

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 `table_name`” je naredba koja govori MySQL poslužitelj za izmjenu tablice pod nazivom `table_name`.
  • “DODAJ KOLONCU `naziv_stupca` `tip_podataka`” je naredba koja govori MySQL poslužitelj za dodavanje novog stupca pod nazivom `column_name` s tipom podataka `data_type'.

Pretpostavimo da je Myflix uveo online naplatu i plaćanja. U tu svrhu, zamoljeni smo da dodamo polje za broj kreditne kartice u našu tablicu članova. Za to možemo koristiti naredbu ALTER. Pogledajmo prvo strukturu tablice članova prije nego što unesemo bilo kakve izmjene. Skripta prikazana u nastavku pomaže nam u tome.

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
email varchar(255) YES NULL

Možemo koristiti skriptu prikazanu u nastavku za dodavanje novog polja u tablicu članova.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Izvršavanje gornje skripte u MySQL protiv Myflixdb dodaje novi stupac pod nazivom broj kreditne kartice u tablicu članova s ​​VARCHAR kao tipom podataka. Izvršavanje skripte show columns daje nam 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
email 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 o članovima.

ŠTO JE NAREDBA ISPUŠTANJA?

Naredba DROP se koristi za

  1. Brisanje baze podataka iz MySQL server
  2. Izbrišite objekt (kao što je tablica, stupac) iz baze podataka.

Pogledajmo sada praktične primjere koji koriste naredbu DROP.

U našem prethodnom primjeru s naredbom Alter dodali smo stupac pod nazivom broj kreditne kartice u tablicu članova.

Pretpostavimo da će funkcija online naplate potrajati neko vrijeme i želimo ISPUSTI stupac kreditne kartice

Možemo koristiti sljedeću skriptu

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Izvršavanje gornje skripte ispušta stupac credit_card_number iz tablice članova

Pogledajmo sada stupce u tablici članova kako bismo potvrdili je li naš stupac izbačen.

SHOW COLUMNS FROM `members`;

Izvršavanje gornje skripte u MySQL workbench u odnosu na 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
email varchar(255) YES NULL

Primijetite da je broj kreditne kartice ispušten s popisa polja.

ISPUSTI STOL

Sintaksa za ISPUŠTANJE tablice iz baze podataka je sljedeća –

DROP TABLE `sample_table`;

Pogledajmo primjer

DROP TABLE `categories_archive`;

Izvršavanjem gornje skripte briše se tablica pod nazivom ` category_archive ` iz naše baze podataka.

ŠTO JE NAREDBA ZA PREIMENOVANJE?

Naredba rename koristi se za promijeniti naziv postojećeg objekta baze podataka (poput tablice, stupca) u novi naziv.

Preimenovanje tablice ne dovodi do gubitka podataka koji se nalaze u njoj.

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 skriptu prikazanu u nastavku da to postignemo.

RENAME TABLE `movierentals` TO `movie_rentals`;

Izvršavanje gornje skripte preimenuje tablicu `movierentals` u `movie_rentals`.

Sada ćemo preimenovati tablicu movie_rentals natrag u izvorni naziv.

RENAME TABLE `movie_rentals` TO `movierentals`;

PROMIJENI KLJUČNU RIJEČ

Promjena ključnih riječi vam omogućuje

  1. Promjena naziva stupca
  2. Promjena vrste podataka stupca
  3. Promjena ograničenja stupaca

Pogledajmo primjer. Polje s punim imenima u tablici članova je tipa podataka varchar i ima širinu od 150.

SHOW COLUMNS FROM `members`;

Izvršavanje gornje skripte u MySQL workbench u odnosu na 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
email varchar(255) YES NULL

Pretpostavimo da želimo

  1. Promijenite naziv polja iz “full_names” u “fullname
  2. Promijenite ga u tip podataka char širine 250
  3. Dodajte NOT NULL ograničenje

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šavanje gornje skripte u MySQL workbench protiv myflixdb i zatim izvršavanje skripte show columns dane gore 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
email varchar(255) YES NULL

IZMIJENI KLJUČNU RIJEČ

Ključna riječ MODIFY omogućuje vam da

  1. Izmijeni vrstu podataka stupca
  2. Izmijenite ograničenja stupaca

U gornjem primjeru CHANGE, morali smo promijeniti naziv polja, kao i druge detalje. Izostavljanje naziva polja iz izjave CHANGE generirat će pogrešku. Pretpostavimo da smo samo zainteresirani za promjenu tipa podataka i ograničenja na polju bez utjecaja na naziv polja, možemo koristiti ključnu riječ MODIFY da to postignemo.

Skripta u nastavku mijenja širinu polja "puno ime" s 250 na 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Izvršavanje gornje skripte u MySQL workbench protiv myflixdb i zatim izvršavanje skripte show columns dane gore 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
email 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šavanje gornje skripte u MySQL workbench protiv myflixdb i zatim izvršavanje skripte show columns dane gore 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
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

rezime

  • Naredba alter koristi se kada želimo modificirati bazu podataka ili bilo koji objekt sadržan u bazi podataka.
  • Naredba drop koristi se za brisanje baza podataka iz MySQL server ili objekte unutar baze podataka.
  • Naredba rename koristi se za promjenu naziva tablice u novi naziv 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