MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

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

  1. Odstráňte databázu zo servera MySQL
  2. 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
email 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

  1. Zmeniť názov stĺpca
  2. Zmena typu údajov stĺpca
  3. 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
email varchar(255) YES NULL

Predpokladajme, že chceme

  1. Zmeňte názov poľa z „full_names“ na „fullname
  2. Zmeňte to na dátový typ char so šírkou 250
  3. 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
email varchar(255) YES NULL

ZMENIŤ KĽÚČOVÉ SLOVO

Kľúčové slovo MODIFY vám umožňuje

  1. Upraviť typ údajov stĺpca
  2. 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
email 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
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

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