MYSQL - ALTER, LAŠUOTI, Pervardyti, KEISTI

Anonim

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
email 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
email 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

  1. Ištrinkite duomenų bazę iš „MySQL“ serverio
  2. 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
email 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

  1. Keisti stulpelio pavadinimą
  2. Keisti stulpelio duomenų tipą
  3. 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
email varchar(255) YES NULL

Tarkime, kad mes norime

  1. Pakeiskite lauko pavadinimą iš „full_names“ į „fullname“
  2. Pakeiskite jį į char duomenų tipą, kurio plotis 250
  3. 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
email varchar(255) YES NULL

KEISTI RAKTINĮ ŽODĮ

Raktinis žodis MODIFY leidžia jums

  1. Keisti stulpelio duomenų tipą
  2. 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
email 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
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

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