MIKÄ ON ALTER-KÄSITYS?
Kuten sanonta kuuluu, muutos on ainoa vakio
Ajan myötä myös liiketoiminnan vaatimukset muuttuvat. Liiketoiminnan vaatimusten muuttuessa myös tietokantamallit on muutettava.
MySQL tarjoaa ALTER- toiminnon, joka auttaa meitä sisällyttämään muutokset jo olemassa olevaan tietokannan suunnitteluun .
Muutos-komentoa käytetään olemassa olevan tietokannan, taulukon, näkymän tai muiden tietokantaobjektien muokkaamiseen, joita on ehkä muutettava tietokannan elinkaaren aikana.
Oletetaan, että tietokannan suunnittelu on valmis ja se on toteutettu. Tietokantamme käyttäjät käyttävät sitä ja sitten he ymmärtävät, että osa tärkeistä tiedoista jätettiin suunnitteluvaiheessa pois. He eivät halua menettää olemassa olevia tietoja, mutta haluavat vain sisällyttää uudet tiedot. Vaihtoehtoinen komento on hyödyllinen tällaisissa tilanteissa. Voimme käyttää alter-komentoa muuttaa kentän tietotyyppi sanamerkkijonosta numeeriseksi, muuttaa kentän nimi uudeksi nimeksi tai jopa lisätä uuden sarakkeen taulukkoon.
Muutos - syntakse
Alla on esitetty perussyntaksi, jota käytetään lisäämään sarake jo olemassa olevaan taulukkoon
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
TÄSSÄ
- "ALTER TABLE" taulukon_nimi " on komento, joka kehottaa MySQL-palvelinta muokkaamaan taulukkoa nimeltä" taulukon_nimi ".
- "LISÄÄ Sarake" sarakkeen_nimi "tietotyyppi" on komento, joka kehottaa MySQL-palvelinta lisäämään uuden sarakkeen nimeltä "sarakkeen_nimi" tietotyypillä "data_type".
Oletetaan, että Myflix on ottanut käyttöön verkkolaskutuksen ja -maksut. Sitä kohti meitä on pyydetty lisäämään kenttä luottokortin numerolle jäsentaulukkoon. Voimme käyttää ALTER-komentoa siihen. Tarkastellaan ensin jäsentaulukon rakennetta, ennen kuin teemme mitään muutoksia. Alla esitetty komentosarja auttaa meitä tekemään sen.
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 |
Voimme käyttää alla olevaa komentosarjaa lisäämään uuden kentän jäsentaulukkoon.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Yllä olevan komentosarjan suorittaminen MySQL: ssä Myflixdb: tä vastaan lisää uuden sarakkeen nimeltä luottokortin numero jäsentaulukkoon, jossa tietotyyppi on VARCHAR. Näyttösarakkeiden komentosarjan suorittaminen antaa meille seuraavat tulokset.
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 |
Kuten palautetuista tuloksista näet, luottokortin numero on lisätty jäsentaulukkoon. Uuden sarakkeen lisääminen ei vaikuta jäsenten tietoihin sisältyviin tietoihin.
MIKÄ ON PUDOTUSKÄSKÖ?
DROP-komento on tottunut
- Poista tietokanta MySQL-palvelimelta
- Poista objekti (kuten taulukko, sarake) tietokannasta.
Katsotaan nyt käytännön esimerkkejä, joissa käytetään DROP-komentoa.
Edellisessä Alter-komentoa koskevassa esimerkissä lisäsimme sarakkeen nimeltä luottokortin numero jäsentaulukkoon.
Oletetaan, että verkkolaskutoiminto vie jonkin aikaa, ja haluamme PUDOTTAA luottokorttisarakkeen
Voimme käyttää seuraavaa komentosarjaa
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Yllä olevan komentosarjan suorittaminen pudottaa sarakkeen credit_card_number jäsentaulukosta
Tarkastellaan nyt jäsentaulukon sarakkeita varmistaaksemme, että sarake on pudonnut.
SHOW COLUMNS FROM `members`;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan antaa meille seuraavat tulokset.
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 |
Huomaa, että luottokortin numero on pudonnut kenttäluettelosta.
PUDOTUSTAULUKKO
Taulukon DROP-syntaksin syntaksi tietokannasta on seuraava -
DROP TABLE `sample_table`;
Katsotaanpa esimerkkiä
DROP TABLE `categories_archive`;
Yllä olevan komentosarjan suorittaminen poistaa taulukon nimeltä "categories_archive" tietokannastamme.
MIKÄ ON NIMENKÄSKÖ?
Nimeä uudelleen -komentoa käytetään muuttamaan olemassa olevan tietokantaobjektin (kuten Taulukko, Sarake) nimi uudeksi nimeksi .
Taulukon uudelleennimeäminen ei saa sitä menettämään mitään sen tietoja.
Syntaksi:-
Nimeä uudelleen -komennolla on seuraava perussyntaksi.
RENAME TABLE `current_table_name` TO `new_table_name`;
Oletetaan, että haluamme nimetä movierentals-taulukon nimeksi movie_rentals, voimme saavuttaa tämän käyttämällä alla olevaa komentosarjaa.
RENAME TABLE `movierentals` TO `movie_rentals`;
Yllä olevan komentosarjan suorittaminen nimeää taulukon "movierentals" nimeksi "movie_rentals".
Nimeämme nyt movie_rentals-taulukon uudelleen alkuperäiseksi nimeksi.
RENAME TABLE `movie_rentals` TO `movierentals`;
MUUTA AVAINSANA
Muuta avainsanoja voit
- Vaihda sarakkeen nimi
- Muuta sarakkeen tietotyyppi
- Muuta sarakerajoituksia
Katsotaanpa esimerkkiä. Jäsentaulukon koko nimikenttä on varchar-tyyppistä ja sen leveys on 150.
SHOW COLUMNS FROM `members`;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan antaa meille seuraavat tulokset.
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 |
Oletetaan, että haluamme
- Vaihda kentän nimestä "full_names" muotoon "fullname"
- Muuta se char-tietotyypiksi, jonka leveys on 250
- Lisää EI NULL-rajoitus
Voimme saavuttaa tämän käyttämällä muutoskomentoa seuraavasti -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ja sitten annettu yllä olevien sarakkeiden komentosarjan suorittaminen antaa seuraavat tulokset.
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 |
MUOKKAA AVAINSANAA
MODIFY-avainsanan avulla voit
- Muokkaa sarakkeen tietotyyppiä
- Muokkaa sarakerajoituksia
Yllä olevassa MUUTA-esimerkissä jouduimme muuttamaan kentän nimen ja muut yksityiskohdat. Kentän nimen jättäminen pois CHANGE-käskystä aiheuttaa virheen. Oletetaan, että olemme kiinnostuneita vain muuttamaan kentän tietotyyppiä ja rajoituksia vaikuttamatta kentän nimeen. Voimme käyttää MODIFY-avainsanaa sen saavuttamiseksi.
Alla oleva komentosarja muuttaa "fullname" -kentän leveyden 250: stä 50: een.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ja sitten yllä olevan show-sarakkeiden komentosarjan suorittaminen antaa seuraavat tulokset.
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 |
AVAINSANAN JÄLKEEN
Oletetaan, että haluamme lisätä uuden sarakkeen tiettyyn kohtaan taulukossa.
Voimme käyttää alter-komentoa yhdessä AFTER-avainsanan kanssa.
Alla oleva komentosarja lisää "date_of_registration" heti syntymäpäivän jälkeen jäsentaulukkoon.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ja sitten yllä olevan show-sarakkeiden komentosarjan suorittaminen antaa seuraavat tulokset.
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 |
Yhteenveto
- Muutos-komentoa käytetään, kun haluamme muokata tietokantaa tai mitä tahansa tietokannan sisältämää objektia.
- Pudotuskomentoa käytetään tietokantojen poistamiseen MySQL-palvelimelta tai tietokannan sisällä olevista objekteista.
- Nimeä uudelleen -komentoa käytetään muuttamaan taulukon nimi uudeksi taulukon nimeksi.
- Vaihda avainsana antaa sinun muuttaa sarakkeen nimeä, tietotyyppiä ja rajoituksia
- Muokkaa avainsanaa -toiminnolla voit muokata sarakkeen tietotyyppiä ja rajoituksia
- After-avainsanaa käytetään määrittämään sarakkeen sijainti taulukossa