MIS ON ALTER KÄSK?
Nagu öeldakse, on muutus ainus konstant
Aja jooksul muutuvad ka ärinõuded. Kui ärinõuded muutuvad, tuleb muuta ka andmebaaside kujundust.
MySQL pakub funktsiooni ALTER, mis aitab meil lisada muudatused juba olemasolevasse andmebaasi kujundusse .
Käsku alter kasutatakse olemasoleva andmebaasi, tabeli, vaate või muude andmebaasi objektide muutmiseks, mida võib andmebaasi olelusringi jooksul vaja muuta.
Oletame, et oleme oma andmebaasi kujunduse lõpule viinud ja see on rakendatud. Meie andmebaasi kasutajad kasutavad seda ja saavad siis aru, et osa elutähtsast teabest jäeti projekteerimisetapis välja. Nad ei taha olemasolevaid andmeid kaotada, vaid soovivad lihtsalt uue teabe lisada. Alternatiivkäsu tuleb sellistes olukordades kasuks. Saame kasutada käsku alter, et muuta välja andmetüüp ütlusstringist numbriliseks, muuta välja nimi uueks nimeks või isegi lisada tabelisse uus veerg.
Alter- süntaks
Põhisüntaks, mida kasutatakse veeru lisamiseks juba olemasolevasse tabelisse, on toodud allpool
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
SIIN
- "ALTER TABLE" tabeli_nimi " on käsk, mis käsib MySQL-serveril muuta tabelit nimega" tabeli_nimi ".
- "ADD COLUMN" veeru_nimi "data_type" on käsk, mis käsib MySQL-serveril lisada uue veeru nimega "column_name" andmetüübiga "data_type".
Oletame, et Myflix on tutvustanud veebiarveldusi ja makseid. Selle eesmärgi saavutamiseks paluti meil lisada meie liikmete tabelisse krediitkaardi numbri väli. Selleks saame kasutada käsku ALTER. Enne muudatuste tegemist vaatame kõigepealt liikmete tabeli struktuuri. Allpool toodud 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 |
Uue välja lisamiseks liikmete tabelisse saame kasutada allpool näidatud skripti.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Ülaltoodud skripti käivitamine MySQL-is Myflixdb-ga lisab liikmetabelisse uue veeru nimega krediitkaardi number, andmetüübina VARCHAR. Näituse 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 tagastatud tulemustest näete, on liikmete tabelisse lisatud krediitkaardi number. Liikmete andmetes sisalduvaid andmeid uue veeru lisamine ei mõjuta.
MIS ON tilkkäsk?
DROP-käsk on harjunud
- Kustutage MySQL-i serverist andmebaas
- Objekti (nt tabel, veerg) kustutamine andmebaasist.
Vaatame nüüd praktilisi näiteid, mis kasutavad käsku DROP.
Oma eelmises näites Alter Commandist lisasime liikmete tabelisse veeru nimega krediitkaardi number.
Oletame, et veebiarvelduse funktsioon võtab veidi aega ja me tahame Krediitkaardi veergu LÜPITADA
Saame kasutada järgmist skripti
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Ülaltoodud skripti käivitamisel kukub veerg credit_card_number liikmete tabelist
Vaatame nüüd liikmetabeli veerge, et kontrollida, kas meie veerg on langenud.
SHOW COLUMNS FROM `members`;
Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga 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.
LENNUD TABEL
Andmebaasi tabeli DROP-i süntaks on järgmine -
DROP TABLE `sample_table`;
Vaatame ühte näidet
DROP TABLE `categories_archive`;
Ülaltoodud skripti käivitamine kustutab meie andmebaasist tabeli nimega "categories_archive".
MIS ON NIMETAMISKÄSK?
Ümbernimetamise käsku kasutatakse olemasoleva andmebaasiobjekti (nt tabel, veerg) nime muutmiseks uueks nimeks .
Tabeli ümbernimetamine ei muuda tabelis olevate andmete kaotamist.
Süntaks: -
Nimel ümbernimetamine on järgmine põhisüntaks.
RENAME TABLE `current_table_name` TO `new_table_name`;
Oletame, et tahame ümber nimetada tabeli movierentals nimeks movie_rentals, selle saavutamiseks võime 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 ümber selle algsele nimele.
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 ühte näidet. Liikmetabeli täisnimede väli on varchari tüüpi ja laius on 150.
SHOW COLUMNS FROM `members`;
Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga 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" väärtuseks "fullname"
- Muutke see andmetüübiks char laiusega 250
- Lisage piirang NULL NULL
Saame selle saavutada käsuga muutus järgmiselt -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude 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 MODIFY võimaldab teil
- Muuda veeru andmetüüpi
- Muuda veerupiiranguid
Ülalolevas näites MUUDA pidime muutma välja nime ja muid üksikasju. Välja nime CHANGE välja jätmine tekitab tõrke. Oletame, et meid huvitab ainult väljal andmetüübi ja piirangute muutmine, ilma et see mõjutaks välja nime, selle saavutamiseks võime kasutada märksõna MODIFY.
Allolev skript muudab välja "täisnimi" laiuseks 250 väärtusest 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude skripti käivitamine annab järgmised 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 konkreetsele kohale uue veeru.
Saame kasutada käsku alter koos märksõnaga AFTER.
Allpool olev 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-i töölaual myflixdb-ga ja seejärel ülaltoodud show-veergude skripti käivitamine annab järgmised 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
- Käsku alter kasutatakse siis, kui soovime muuta andmebaasi või mõnda selles sisalduvat objekti.
- Drop-käsku kasutatakse andmebaaside kustutamiseks MySQL-i serverist või andmebaasis olevatest objektidest.
- Ümbernimetamise käsku kasutatakse tabeli nime muutmiseks uueks tabeli nimeks.
- Märksõna muutmine 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 Pärast kasutatakse tabeli veeru asukoha määramiseks