MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

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

  1. Poista tietokanta MySQL-palvelimelta
  2. 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
email 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

  1. Vaihda sarakkeen nimi
  2. Muuta sarakkeen tietotyyppi
  3. 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
email varchar(255) YES NULL

Oletetaan, että haluamme

  1. Vaihda kentän nimestä "full_names" muotoon "fullname"
  2. Muuta se char-tietotyypiksi, jonka leveys on 250
  3. 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
email varchar(255) YES NULL

MUOKKAA AVAINSANAA

MODIFY-avainsanan avulla voit

  1. Muokkaa sarakkeen tietotyyppiä
  2. 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
email 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
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

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