KĀDA IR MAZĀKĀ KOMANDA?
Kā saka, pārmaiņas ir vienīgā konstante
Ar laiku mainās arī biznesa prasības. Mainoties biznesa prasībām, ir jāmaina arī datu bāzu noformējums.
MySQL nodrošina ALTER funkciju, kas palīdz mums iekļaut izmaiņas jau esošajā datu bāzes dizainā .
Komanda alter tiek izmantota, lai modificētu esošu datu bāzi, tabulu, skatu vai citus datu bāzes objektus, kas, iespējams, būs jāmaina datu bāzes dzīves cikla laikā.
Pieņemsim, ka mēs esam pabeiguši savu datu bāzes dizainu un tas ir ieviests. Mūsu datu bāzes lietotāji to izmanto, un pēc tam viņi saprot, ka daļa no svarīgākās informācijas tika izlaista projektēšanas posmā. Viņi nevēlas zaudēt esošos datus, bet vienkārši vēlas iekļaut jauno informāciju. Komanda alter noder šādās situācijās. Mēs varam izmantot komandu alter, lai mainītu lauka datu tipu no say string uz ciparu, mainītu lauka nosaukumu uz jaunu nosaukumu vai pat pievienotu jaunu kolonnu tabulā.
Mainīt- sintakse
Pamata sintakse, ko izmanto, lai kolonnu pievienotu jau esošai tabulai, ir parādīta zemāk
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ŠEIT
- "ALTER TABLE" table_name "" ir komanda, kas MySQL serverim liek mainīt tabulu ar nosaukumu "table_name".
- "ADD COLUMN" column_name "data_type" " ir komanda, kas MySQL serverim liek pievienot jaunu kolonnu ar nosaukumu" column_name "ar datu tipu" data_type ".
Pieņemsim, ka Myflix ir ieviesis tiešsaistes norēķinus un maksājumus. Šajā nolūkā mūsu dalībnieku tabulā mums tika lūgts pievienot lauku kredītkartes numuram. Lai to izdarītu, mēs varam izmantot ALTER komandu. Pirms jebkādu grozījumu veikšanas vispirms apskatīsim dalībnieku tabulas struktūru. Zemāk redzamais skripts mums to palīdz.
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 |
Lai pievienotu jaunu lauku dalībnieku tabulai, mēs varam izmantot zemāk redzamo skriptu.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Izpildot iepriekš minēto skriptu MySQL pret Myflixdb, dalībnieku tabulai tiek pievienota jauna sleja ar kredītkartes numuru, kā datu tipu VARCHAR. Izpildot skates kolonnu skriptu, tiek iegūti šādi rezultāti.
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 |
Kā redzat pēc atgrieztajiem rezultātiem, dalībnieku tabulai ir pievienots kredītkartes numurs. Jaunās kolonnas pievienošana neietekmē dalībnieku datos esošos datus.
KĀDA IR PILES KOMANDA?
DROP komanda ir pieradusi
- Dzēst datu bāzi no MySQL servera
- Dzēsiet objektu (piemēram, Tabula, Kolonna) no datu bāzes.
Apskatīsim praktiskus piemērus, kas izmanto komandu DROP.
Iepriekšējā piemērā par komandu Alter pievienojām dalībnieku tabulai kolonnu ar kredītkartes numuru.
Pieņemsim, ka tiešsaistes norēķinu funkcionalitāte prasīs zināmu laiku, un mēs vēlamies AIZPILDĪT kredītkartes kolonnu
Mēs varam izmantot šādu skriptu
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Izpildot iepriekš minēto skriptu, dalībnieku tabulā tiek nomesta kolonna credit_card_number
Tagad pārbaudīsim dalībnieku tabulas kolonnas, lai apstiprinātu, vai mūsu kolonna ir nomesta.
SHOW COLUMNS FROM `members`;
Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod mums šādus rezultātus.
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 |
Ievērojiet, ka kredītkartes numurs ir nomests no lauku saraksta.
PILES GALDA
Tabulas DROP sintakse no datu bāzes ir šāda -
DROP TABLE `sample_table`;
Apskatīsim piemēru
DROP TABLE `categories_archive`;
Izpildot iepriekš minēto skriptu, no mūsu datu bāzes tiek izdzēsta tabula ar nosaukumu "categories_archive".
KĀDA IR NOSAUKUMA KOMANDA?
Komanda pārdēvēt tiek izmantota, lai mainītu esoša datu bāzes objekta (piemēram, Tabula, Kolonna) nosaukumu uz jaunu nosaukumu .
Pārdēvējot tabulu, tā nezaudē tajā esošos datus.
Sintakse: -
Pārdēvēšanas komandai ir šāda pamata sintakse.
RENAME TABLE `current_table_name` TO `new_table_name`;
Pieņemsim, ka mēs vēlamies pārdēvēt movierentals tabulu uz movie_rentals, lai to sasniegtu, mēs varam izmantot zemāk redzamo skriptu.
RENAME TABLE `movierentals` TO `movie_rentals`;
Izpildot iepriekšminēto skriptu, tabula “movierentals” tiek pārdēvēta par “movie_rentals”.
Tagad filmu_rentals tabulu pārdēvēsim par sākotnējo nosaukumu.
RENAME TABLE `movie_rentals` TO `movierentals`;
MAINĪT ATSLĒGVĀRDU
Mainīt atslēgvārdus ļauj
- Mainīt kolonnas nosaukumu
- Mainīt kolonnas datu veidu
- Mainīt kolonnu ierobežojumus
Apskatīsim piemēru. Dalībnieku tabulas pilno vārdu lauks ir ar varchar datu tipu, un tā platums ir 150.
SHOW COLUMNS FROM `members`;
Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod mums šādus rezultātus.
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 |
Pieņemsim, ka mēs to vēlamies
- Mainiet lauka nosaukumu no "full_names" uz "fullname
- Mainiet to uz char datu tipu ar platumu 250
- Pievienojiet ierobežojumu NOT NULL
Mēs to varam paveikt, izmantojot komandu mainīt šādi:
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Izpildot iepriekš minēto skriptu MySQL darbagaldā pret myflixdb un pēc tam izpildot iepriekš doto skriptu skriptu, tiek iegūti šādi rezultāti.
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 |
PĀRVEIDOT ATSLĒGVĀRDU
Atslēgvārds MODIFY ļauj
- Mainīt kolonnas datu tipu
- Mainīt kolonnu ierobežojumus
Iepriekš redzamajā MAINĪT piemērā mums bija jāmaina lauka nosaukums, kā arī cita informācija. Lauka nosaukuma izlaišana no CHANGE priekšraksta radīs kļūdu. Pieņemsim, ka mūs interesē tikai datu veida un ierobežojumu maiņa laukā, neietekmējot lauka nosaukumu, lai to paveiktu, mēs varam izmantot atslēgvārdu MODIFY.
Zemāk esošais skripts maina lauka "pilna nosaukums" platumu no 250 līdz 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Izpildot iepriekš minēto skriptu MySQL darbagaldā pret myflixdb un pēc tam izpildot iepriekš doto skriptu skriptu, tiek parādīti šādi rezultāti.
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 |
PĒC ATSLĒGVĀRDA
Pieņemsim, ka mēs vēlamies pievienot jaunu kolonnu noteiktā tabulas vietā.
Komandu alter varam izmantot kopā ar AFTER atslēgvārdu.
Zemāk esošajā skriptā dalībnieku tabulā tiek pievienots nosaukums “date_of_registration” tieši pēc dzimšanas datuma.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Izpildot iepriekš minēto skriptu MySQL darbagaldā pret myflixdb un pēc tam izpildot iepriekš doto skriptu skriptu, tiek parādīti šādi rezultāti.
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 |
Kopsavilkums
- Komanda alter tiek izmantota, ja mēs vēlamies modificēt datu bāzi vai jebkuru datu bāzē esošu objektu.
- Komanda nomest tiek izmantota, lai dzēstu datu bāzes no MySQL servera vai objektiem datu bāzē.
- Komanda pārdēvēt tiek izmantota, lai mainītu tabulas nosaukumu uz jaunu tabulas nosaukumu.
- Mainīt atslēgvārdu ļauj mainīt kolonnas nosaukumu, datu tipu un ierobežojumus
- Modificēt atslēgvārdu ļauj mainīt kolonnas datu tipu un ierobežojumus
- Pēc atslēgvārda tiek izmantota kolonnas pozīcijas norādīšana tabulā