ČO JE ALTEROVÝ PRÍKAZ?
Ako sa hovorí, zmena je jediná konštanta
Postupom času sa menia aj obchodné požiadavky. Pretože sa menia obchodné požiadavky, je potrebné meniť aj návrhy databáz.
MySQL poskytuje funkciu ALTER , ktorá nám pomáha začleniť zmeny do už existujúceho dizajnu databázy .
Príkaz alter sa používa na úpravu existujúcej databázy, tabuľky, zobrazenia alebo iných databázových objektov, ktoré je možno potrebné počas životného cyklu databázy zmeniť.
Predpokladajme, že sme dokončili náš návrh databázy a bol implementovaný. Používajú to naši používatelia databázy a potom si uvedomia, že niektoré dôležité informácie boli vo fáze návrhu vynechané. Nechcú stratiť existujúce údaje, ale chcú iba zahrnúť nové informácie. Príkaz alter sa v takýchto situáciách hodí. Príkazom alter môžeme zmeniť dátový typ poľa z reťazca na numerický, zmeniť názov poľa na nový názov alebo dokonca pridať nový stĺpec do tabuľky.
Zmena - syntax
Nižšie je uvedená základná syntax použitá na pridanie stĺpca do už existujúcej tabuľky
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
TU
- „ALTER TABLE` table_name` “ je príkaz, ktorý hovorí serveru MySQL, aby upravil tabuľku s názvom` table_name`.
- „ADD COLUMN` column_name` „data_type`“ je príkaz, ktorý povie serveru MySQL, aby pridal nový stĺpec s názvom `column_name` s dátovým typom` data_type '.
Predpokladajme, že Myflix zaviedol online fakturáciu a platby. Za týmto účelom sme boli požiadaní, aby sme do tabuľky členov pridali pole pre číslo kreditnej karty. Na to môžeme použiť príkaz ALTER. Pred vykonaním akýchkoľvek zmien sa najskôr pozrime na štruktúru tabuľky členov. K tomu nám pomáha nižšie uvedený skript.
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 |
Pomocou nižšie zobrazeného skriptu môžeme do tabuľky členov pridať nové pole.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Vykonaním vyššie uvedeného skriptu v MySQL proti Myflixdb sa do tabuľky členov pridá nový stĺpec s názvom číslo kreditnej karty s dátovým typom VARCHAR. Vykonanie skriptu zobrazenia stĺpcov nám poskytne nasledujúce výsledky.
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 |
Ako vidíte z vrátených výsledkov, do tabuľky členov bolo pridané číslo kreditnej karty. Pridanie nového stĺpca neovplyvní údaje obsiahnuté v údajoch členov.
ČO JE TO POVAŽOVANIE?
Príkaz DROP je zvyknutý na
- Odstráňte databázu zo servera MySQL
- Odstráňte objekt (napríklad tabuľku, stĺpec) z databázy.
Pozrime sa teraz na praktické príklady, ktoré využívajú príkaz DROP.
V našom predchádzajúcom príklade príkazu Zmena sme do tabuľky členov pridali stĺpec s názvom číslo kreditnej karty.
Predpokladajme, že funkčnosť online fakturácie bude chvíľu trvať a my chceme DROP stĺpec s kreditnou kartou
Môžeme použiť nasledujúci skript
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Po vykonaní vyššie uvedeného skriptu sa z tabuľky členov vypustí stĺpec credit_card_number
Pozrime sa teraz na stĺpce v tabuľke členov, aby sme potvrdili, či bol náš stĺpec zrušený.
SHOW COLUMNS FROM `members`;
Vykonanie vyššie uvedeného skriptu v pracovnej ploche MySQL proti myflixdb nám dáva nasledujúce výsledky.
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 |
Všimnite si, že číslo kreditnej karty bolo vynechané zo zoznamu polí.
TABUĽKA DROP
Syntax DROP tabuľky z databázy je nasledovná -
DROP TABLE `sample_table`;
Pozrime sa na príklad
DROP TABLE `categories_archive`;
Vykonaním vyššie uvedeného skriptu sa z našej databázy vymaže tabuľka s názvom `category_archive`.
ČO JE PRIJMENOVÝ PRÍKAZ?
Príkaz rename sa používa na zmenu názvu existujúceho databázového objektu (napríklad Tabuľka, Stĺpec) na nový názov .
Premenovaním tabuľky nedôjde k strate akýchkoľvek údajov v nej obsiahnutých.
Syntax: -
Príkaz rename má nasledujúcu základnú syntax.
RENAME TABLE `current_table_name` TO `new_table_name`;
Predpokladajme, že chceme premenovať tabuľku movierentals na movie_rentals, aby sme to dosiahli, môžeme použiť nižšie uvedený skript.
RENAME TABLE `movierentals` TO `movie_rentals`;
Spustenie vyššie uvedeného skriptu premenuje tabuľku `movierentals` na` film_rentals`.
Teraz premenujeme tabuľku movie_rentals na pôvodný názov.
RENAME TABLE `movie_rentals` TO `movierentals`;
ZMENIŤ KĽÚČOVÉ SLOVO
Zmena kľúčových slov vám umožňuje
- Zmeniť názov stĺpca
- Zmena typu údajov stĺpca
- Zmeniť obmedzenia stĺpcov
Pozrime sa na príklad. Pole celých mien v tabuľke členov je dátového typu varchar a má šírku 150.
SHOW COLUMNS FROM `members`;
Vykonanie vyššie uvedeného skriptu v pracovnej ploche MySQL proti myflixdb nám dáva nasledujúce výsledky.
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 |
Predpokladajme, že chceme
- Zmeňte názov poľa z „full_names“ na „fullname
- Zmeňte to na dátový typ char so šírkou 250
- Pridajte obmedzenie NOT NULL
Môžeme to dosiahnuť pomocou príkazu change nasledovne -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Vykonanie vyššie uvedeného skriptu v pracovnej ploche MySQL proti myflixdb a následné vykonanie vyššie uvedeného skriptu Zobraziť stĺpce poskytne nasledujúce výsledky.
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 |
ZMENIŤ KĽÚČOVÉ SLOVO
Kľúčové slovo MODIFY vám umožňuje
- Upraviť typ údajov stĺpca
- Upravte obmedzenia stĺpcov
V príklade ZMENY vyššie sme museli zmeniť názov poľa a ďalšie podrobnosti. Vynechanie názvu poľa z príkazu CHANGE vygeneruje chybu. Predpokladajme, že nás zaujíma iba zmena dátového typu a obmedzení v poli bez ovplyvnenia názvu poľa, na to môžeme použiť kľúčové slovo MODIFY.
Nižšie uvedený skript mení šírku poľa „celé meno“ z 250 na 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Vykonanie vyššie uvedeného skriptu v pracovnej ploche MySQL proti myflixdb a následné vykonanie vyššie uvedeného skriptu na zobrazenie stĺpcov poskytuje nasledujúce výsledky uvedené nižšie.
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 |
PO KĽÚČOVOM SLOVE
Predpokladajme, že chceme pridať nový stĺpec na konkrétnom mieste v tabuľke.
Príkaz alter môžeme použiť spolu s kľúčovým slovom AFTER.
Skript nižšie pridáva „date_of_registration“ hneď za dátum narodenia v tabuľke členov.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Vykonanie vyššie uvedeného skriptu v pracovnej ploche MySQL proti myflixdb a následné vykonanie vyššie uvedeného skriptu na zobrazenie stĺpcov poskytuje nasledujúce výsledky uvedené nižšie.
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 |
Zhrnutie
- Príkaz alter sa používa, keď chceme upraviť databázu alebo akýkoľvek objekt obsiahnutý v databáze.
- Príkaz drop sa používa na odstránenie databáz zo servera MySQL alebo z objektov v databáze.
- Príkaz rename sa používa na zmenu názvu tabuľky na nový názov tabuľky.
- Kľúčové slovo Zmeniť vám umožňuje zmeniť názov stĺpca, dátový typ a obmedzenia
- Modifikovať kľúčové slovo vám umožňuje upraviť typ údajov a obmedzenia stĺpca
- Kľúčové slovo After sa používa na určenie polohy stĺpca v tabuľke