MYSQL – MUUDA, KOKKU, NIME ÜMBER, MUUDA
Mis on ALTER käsk?
Nagu öeldakse Muutus on ainus konstant
Aja jooksul muutuvad ka ärinõuded. Kuna ärinõuded muutuvad, tuleb muuta ka andmebaasi kujundust.
MySQL pakub VANUS funktsioon, mis meid aitab lisada muudatused juba olemasolevasse andmebaasi kujundusse.
Alter käsku kasutatakse olemasoleva andmebaasi, tabeli, vaate või muude andmebaasiobjektide muutmiseks, mida võib olla vaja andmebaasi elutsükli jooksul muuta.
Oletame, et oleme oma andmebaasi kujunduse lõpetanud ja see on rakendatud. Meie andmebaasi kasutajad kasutavad seda ja saavad siis aru, et osa elutähtsast teabest on projekteerimisetapis välja jäetud. Nad ei taha kaotada olemasolevaid andmeid, vaid tahavad lihtsalt lisada uut teavet. Alter-käsk tuleb sellistes olukordades kasuks. Käsku alter saame kasutada välja andmetüübi muutmiseks ütlustringist numbriliseks, välja nime muutmiseks uueks nimeks või isegi tabelisse uue veeru lisamiseks.
Alter – süntaks
Põhisüntaks, mida kasutatakse veeru lisamiseks juba olemasolevasse tabelisse, on näidatud allpool
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
SIIN
- "ALTER TABLE `tabeli_nimi"" on käsk, mis ütleb MySQL server, et muuta tabelit nimega "tabeli_nimi".
- „LISA VEERU „veeru_nimi” „andmete_tüüp” on käsk, mis ütleb MySQL serverisse, et lisada uus veerg nimega "veeru_nimi" andmetüübiga "andmetüüp".
Oletame, et Myflix on võtnud kasutusele veebipõhise arvelduse ja maksed. Selleks on meil palutud lisada oma liikmete tabelisse krediitkaardi numbri väli. Selleks saame kasutada käsku ALTER. Enne muudatusettepanekute tegemist vaatame kõigepealt liikmete tabeli struktuuri. Allpool näidatud skript aitab meil seda teha.
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 |
Liikmete tabelisse uue välja lisamiseks saame kasutada allpool näidatud skripti.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Ülaltoodud skripti käivitamine MySQL vastu Myflixdb lisab liikmete tabelisse uue veeru nimega krediitkaardi number andmetüübiks VARCHAR. Kuva veergude skripti käivitamine annab meile järgmised tulemused.
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 |
Nagu saadetud tulemustest näha, on krediitkaardi number lisatud liikmete tabelisse. Liikmete andmetes sisalduvaid andmeid uue veeru lisamine ei mõjuta.
MIS ON KUKKUKÄSK?
Käsk DROP on harjunud
- Kustutage andmebaasist MySQL server
- Kustutage andmebaasist objekt (nt tabel, veerg).
Vaatame nüüd praktilisi näiteid, mis kasutavad käsku DROP.
Eelmises Alter Commandi näites lisasime liikmete tabelisse veeru nimega krediitkaardi number.
Oletame, et veebipõhise arvelduse funktsioon võtab veidi aega ja me tahame krediitkaardi veerust loobuda
Saame kasutada järgmist skripti
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Ülaltoodud skripti käivitamine eemaldab liikmete tabelist veeru krediitkaardi_number
Vaatame nüüd liikmete tabeli veerge, et kontrollida, kas meie veerg on välja jäetud.
SHOW COLUMNS FROM `members`;
Ülaltoodud skripti käivitamine MySQL töölaud myflixdb vastu annab meile järgmised tulemused.
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 |
Pange tähele, et krediitkaardi number on väljade loendist välja jäetud.
KUKKATA LAUD
Andmebaasist tabeli KUKKAMISE süntaks on järgmine -
DROP TABLE `sample_table`;
Vaatame näidet
DROP TABLE `categories_archive`;
Ülaltoodud skripti käivitamine kustutab meie andmebaasist tabeli nimega ` category_archive `.
MIS ON ÜMBERNIMEMISE KÄSK?
Ümbernimetamise käsku kasutatakse selleks muutke olemasoleva andmebaasiobjekti nimi (nt tabel, veerg) uueks nimeks.
Tabeli ümbernimetamine ei kaota selles sisalduvaid andmeid.
Süntaks:-
Ümbernimetamise käsul on järgmine põhisüntaks.
RENAME TABLE `current_table_name` TO `new_table_name`;
Oletame, et tahame filmilaenutuste tabeli ümber nimetada nimeks movie_rentals, saame selle saavutamiseks kasutada allpool näidatud skripti.
RENAME TABLE `movierentals` TO `movie_rentals`;
Ülaltoodud skripti käivitamine nimetab tabeli "movierentals" ümber "movie_rentals".
Nimetame nüüd tabeli movie_rentals tagasi selle algse nimetuse.
RENAME TABLE `movie_rentals` TO `movierentals`;
MUUDA MÄRKSÕNA
Märksõnade muutmine võimaldab teil seda teha
- Muuda veeru nime
- Muuda veeru andmetüüpi
- Muuda veeru piiranguid
Vaatame näidet. Liikmete tabeli täisnimede väli on varchari andmetüüpi ja selle laius on 150.
SHOW COLUMNS FROM `members`;
Ülaltoodud skripti käivitamine MySQL töölaud myflixdb vastu annab meile järgmised tulemused.
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 |
Oletame, et me tahame
- Muutke välja nimi "full_names" asemel "fullname".
- Muutke see char andmetüübiks laiusega 250
- Lisage piirang NOT NULL
Seda saame muuta käsu muutmise abil järgmiselt -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Ülaltoodud skripti käivitamine MySQL tööpink vastu myflixdb ja seejärel ülaltoodud veergude näitamise skripti käivitamine annab järgmised tulemused.
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 |
MUUDA MÄRKSÕNA
Märksõna MUUDA võimaldab teil seda teha
- Muuda veeru andmetüüpi
- Muuda veerupiiranguid
Ülaltoodud näites CHANGE pidime muutma nii välja nime kui ka muid üksikasju. Välja nime väljajätmine avaldusest CHANGE tekitab vea. Oletame, et oleme huvitatud ainult välja andmetüübi ja piirangute muutmisest ilma välja nime mõjutamata, saame selleks kasutada märksõna MODIFY.
Allolev skript muudab "täisnimi" välja laiust 250-lt 50-le.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Ülaltoodud skripti käivitamine MySQL tööpink vastu myflixdb ja seejärel ülaltoodud veergude näitamise skripti käivitamine annab järgmised allpool näidatud tulemused.
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ÄRAST MÄRKSÕNA
Oletame, et tahame lisada tabeli kindlasse kohta uue veeru.
Käsku alter saame kasutada koos märksõnaga AFTER.
Allolev skript lisab liikmete tabelisse kohe pärast sünnikuupäeva “date_of_registration”.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Ülaltoodud skripti käivitamine MySQL tööpink vastu myflixdb ja seejärel ülaltoodud veergude näitamise skripti käivitamine annab järgmised allpool näidatud tulemused.
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 |
kokkuvõte
- Alter käsku kasutatakse siis, kui tahame muuta andmebaasi või mis tahes andmebaasis sisalduvat objekti.
- Drop-käsku kasutatakse andmebaaside kustutamiseks MySQL server või objektid andmebaasis.
- Ümbernimetamise käsku kasutatakse tabeli nime muutmiseks uueks tabelinimeks.
- Märksõna Muuda võimaldab teil muuta veeru nime , andmetüüpi ja piiranguid
- Märksõna muutmine võimaldab teil muuta veeru andmetüüpi ja piiranguid
- Märksõna After kasutatakse veeru asukoha määramiseks tabelis