KAS YRA ALTERIS?
Kaip sakoma, pokyčiai yra vienintelė konstanta
Su laiku keičiasi ir verslo reikalavimai. Keičiantis verslo reikalavimams, reikia keisti ir duomenų bazių dizainą.
„MySQL“ suteikia ALTER funkciją, kuri padeda mums įtraukti jau esamo duomenų bazės dizaino pakeitimus .
Komanda „alter“ naudojama modifikuoti esamą duomenų bazę, lentelę, rodinį ar kitus duomenų bazės objektus, kuriuos gali tekti keisti per duomenų bazės gyvavimo ciklą.
Tarkime, kad baigėme kurti savo duomenų bazę ir ji buvo įgyvendinta. Mūsų duomenų bazės vartotojai jį naudoja ir supranta, kad kai kuri svarbi informacija buvo palikta projektavimo etape. Jie nenori prarasti esamų duomenų, o tiesiog nori įtraukti naują informaciją. „Altern“ komanda praverčia tokiose situacijose. Mes galime naudoti komandą „alter“, kad pakeistume lauko duomenų tipą iš sakinio eilutės į skaitinį, lauko pavadinimą pakeistume į naują pavadinimą ar net lentelėje pridėtume naują stulpelį.
Alter- sintaksė
Pagrindinė sintaksė, naudojama stulpeliui pridėti prie jau esamos lentelės, rodoma žemiau
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ČIA
- "ALTER TABLE" table_name " yra komanda, liepianti MySQL serveriui modifikuoti lentelę pavadinimu" table_name ".
- "PRIDĖTI SKILTĮ" stulpelio_pavadinimas "duomenų_tipas" yra komanda, liepianti MySQL serveriui pridėti naują stulpelį pavadinimu "stulpelio_pavadinimas" su duomenų tipu "duomenų_tipas".
Tarkime, kad „Myflix“ pristatė internetinius atsiskaitymus ir mokėjimus. Tuo tikslu mūsų narių lentelėje mūsų buvo paprašyta pridėti kreditinės kortelės numerio lauką. Tam galime naudoti ALTER komandą. Prieš atlikdami pakeitimus, pirmiausia pažvelkime į narių lentelės struktūrą. Tai padaryti mums padeda žemiau pateiktas scenarijus.
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 |
Norėdami pridėti naują lauką prie narių lentelės, galime naudoti žemiau pateiktą scenarijų.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Vykdant pirmiau pateiktą scenarijų „MySQL“, palyginti su „Myflixdb“, prie narių lentelės pridedamas naujas stulpelis, pavadintas kreditinės kortelės numeriu, o duomenų tipas yra VARCHAR. Vykdydami parodomųjų stulpelių scenarijų gauname šiuos rezultatus.
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 |
Kaip matote iš grąžintų rezultatų, kreditinės kortelės numeris buvo įtrauktas į narių lentelę. Narių duomenyse esantys duomenys neturi įtakos naujo stulpelio pridėjimui.
KAS YRA LAŠO KOMANDA?
DROP komanda yra naudojama
- Ištrinkite duomenų bazę iš „MySQL“ serverio
- Ištrinkite objektą (pvz., Lentelę, stulpelį) iš duomenų bazės.
Dabar pažvelkime į praktinius pavyzdžius, kuriuose naudojama komanda DROP.
Ankstesniame „Alter“ komandos pavyzdyje prie narių lentelės pridėjome stulpelį, pavadintą kreditinės kortelės numeriu.
Tarkime, kad internetinės atsiskaitymo funkcijos užtruks šiek tiek laiko, ir mes norime NEDIDINTI kredito kortelės stulpelį
Mes galime naudoti šį scenarijų
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Vykdant anksčiau pateiktą scenarijų, narių lentelėje nukrinta stulpelis credit_card_number
Pažvelkime į narių lentelės stulpelius, kad patvirtintume, ar mūsų stulpelis buvo atmestas.
SHOW COLUMNS FROM `members`;
Minėto scenarijaus vykdymas „MySQL“ darbastalyje prieš „myflixdb“ suteikia mums šiuos rezultatus.
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 |
Atkreipkite dėmesį, kad kreditinės kortelės numeris buvo išmestas iš laukų sąrašo.
LAŠINĖ LENTELĖ
Lentelės DROP iš duomenų bazės sintaksė yra tokia:
DROP TABLE `sample_table`;
Pažvelkime į pavyzdį
DROP TABLE `categories_archive`;
Vykdant pirmiau pateiktą scenarijų, iš mūsų duomenų bazės ištrinama lentelė pavadinimu „categories_archive“.
KAS YRA PAVADINIMO KOMANDA?
Komanda pervardyti naudojama norint pakeisti esamo duomenų bazės objekto (pvz., Lentelės, stulpelio) pavadinimą į naują .
Pervardijant lentelę neprarandama joje esančių duomenų.
Sintaksė: -
Komandoje pervardyti yra tokia pagrindinė sintaksė.
RENAME TABLE `current_table_name` TO `new_table_name`;
Tarkime, kad norime pervadinti „movierentals“ lentelę į „movie_rentals“, tam galime naudoti žemiau pateiktą scenarijų.
RENAME TABLE `movierentals` TO `movie_rentals`;
Vykdant aukščiau pateiktą scenarijų, lentelė „movierentals“ pervardijama į „movie_rentals“.
Dabar „movie_rentals“ lentelę pervadinsime į pradinį pavadinimą.
RENAME TABLE `movie_rentals` TO `movierentals`;
PAKEISTI RAKTINĮ ŽODĮ
Keisti raktinius žodžius leidžia
- Keisti stulpelio pavadinimą
- Keisti stulpelio duomenų tipą
- Keisti stulpelių apribojimus
Pažvelkime į pavyzdį. Narių lentelėje pilnas vardų laukas yra „varchar“ tipo ir jo plotis yra 150.
SHOW COLUMNS FROM `members`;
Minėto scenarijaus vykdymas „MySQL“ darbastalyje prieš „myflixdb“ suteikia mums šiuos rezultatus.
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 |
Tarkime, kad mes norime
- Pakeiskite lauko pavadinimą iš „full_names“ į „fullname“
- Pakeiskite jį į char duomenų tipą, kurio plotis 250
- Pridėkite apribojimą „NE NULL“
Tai galime padaryti naudodami komandą „Change“ taip:
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Minėto scenarijaus vykdymas „MySQL“ darbastalyje prieš „myflixdb“ ir tada vykdant aukščiau pateiktą rodymo stulpelių scenarijų gaunami šie rezultatai.
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 |
KEISTI RAKTINĮ ŽODĮ
Raktinis žodis MODIFY leidžia jums
- Keisti stulpelio duomenų tipą
- Keisti stulpelių apribojimus
Aukščiau pateiktame KEITIMO pavyzdyje turėjome pakeisti lauko pavadinimą ir kitą informaciją. Jei lauke CHANGE nenurodysite lauko pavadinimo, bus sukurta klaida. Tarkime, kad mus domina tik lauko duomenų tipo ir apribojimų keitimas, nepaveikiant lauko pavadinimo, tam galime naudoti raktinį žodį MODIFY.
Žemiau pateiktas scenarijus pakeičia lauko „visas vardas“ plotį nuo 250 iki 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Minėto scenarijaus vykdymas „MySQL“ darbastalyje prieš „myflixdb“ ir tada vykdant aukščiau pateiktą rodomųjų stulpelių scenarijų, pateikiami šie žemiau pateikti rezultatai.
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 |
PO PAVADINIMO ŽODŽIO
Tarkime, kad norime pridėti naują stulpelį konkrečioje lentelės vietoje.
Komandą „alter“ galime naudoti kartu su AFTER raktiniu žodžiu.
Žemiau pateiktame scenarijuje narių gimimo lentelėje iškart po gimimo datos įrašoma „data_of_registration“.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Minėto scenarijaus vykdymas „MySQL“ darbastalyje prieš „myflixdb“ ir tada vykdant aukščiau pateiktą rodomųjų stulpelių scenarijų, pateikiami šie žemiau pateikti rezultatai.
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 |
Santrauka
- Komanda „alter“ naudojama, kai norime modifikuoti duomenų bazę ar bet kurį duomenų bazėje esantį objektą.
- Komanda „drop“ naudojama duomenų bazėms ištrinti iš „MySQL“ serverio ar objektų duomenų bazėje.
- Komanda pervardyti naudojama norint pakeisti lentelės pavadinimą į naują lentelės pavadinimą.
- Keisti raktinį žodį leidžia pakeisti stulpelio pavadinimą, duomenų tipą ir apribojimus
- Modifikuoti raktinį žodį leidžia modifikuoti stulpelio duomenų tipą ir apribojimus
- Raktinis žodis „After“ naudojamas nurodyti stulpelio padėtį lentelėje