MySQL ve víru změn: Alter, Drop, Rename, Truncate



Jestliže varianty příkazu Create umožňují vytvářet různé objekty databáze, příkazy Alter, Drop, Rename a Truncate dovolují provádět jejich změny – ať už jde o změny definic struktury, změny jmen nebo mazání objektů či jejich obsahu. Pojďme se na ně podívat podrobněji.

Alter Table

Je na místě používat obzvláště příkazy Drop a Truncate velmi opatrně.
Je na místě používat obzvláště příkazy Drop a Truncate velmi opatrně.
Za příklad příkazu Alter si bereme variantu Alter Table pro změnu definice tabulek databáze. Obecná základní syntaxe vypadá takto: ALTER [ONLINE | OFFLINE] [IGNORE] TABLE jmeno_tabulky [specifikace_zmeny [,specifikace_zmeny] ...]. Specifikací změny přitom může být třeba ADD [COLUMN] pro přidání sloupce nebo DROP PRIMARY KEY pro zahození primárního indexu. Změnit ovšem lze třeba i databázový engine...

V praxi pak mohou příklady použití příkazu Alter Table vypadat třeba takto: ALTER TABLE tabulka ENGINE = InnoDB změní engine tabulky tabulka na InnoDB. Příkaz ALTER TABLE tabulka DROP COLUMN a, DROP COLUMN b zahodí z tabulky tabulka sloupce a a b. Nebo třeba můžete změnit typ hodnot sloupce/atributu tabulky: ALTER TABLE tabulka MODIFY col1 BIGINT.

Příkaz Alter lze použít i na řadu dalších objektů databáze, a to například ve formátech Alter Database, Alter Function, Alter View a podobně.

Drop Database

Příkaz Drop umožňuje mazat celé objekty databáze, ba i celou databázi. Pokud tedy použijete příkaz DROP {DATABASE | SCHEMA} [IF EXISTS] jmeno_databaze, dojde k vymazání všech tabulek, jejich obsahu i samotné databáze jmeno_databaze.

Podobně lze použít i příkazy Drop Table, Drop View, Drop Function a další pro mazání dalších již nepotřebných objektů databáze.

Rename Database, Rename Table

Přejmenování tabulky snadno realizujete příkazem RENAME TABLE jmeno_tabulky TO nove_jmeno_tabulky. Podobně databázi lze přejmenovat příkazem RENAME {DATABASE | SCHEMA} jmeno_databaze TO nove_jmeno_databaze.

Truncate table

A konečně tu máme příkaz Truncate Table, který slouží ke kompletnímu vymazání obsahu tabulky, ovšem při zachování její struktury, samozřejmě. Syntaxe příkazu vypadá takto: TRUNCATE [TABLE] jmeno_tabulky. Za zmínku v této souvislosti – a koneckonců i v souvislosti se všemi výše uvedenými příkazy – fakt, že neexistuje obecný způsob, jak bez zálohy v MySQL vrátit zpět smazané struktury a data. Proto je na místě používat obzvláště příkazy Drop a Truncate velmi opatrně, po zvážení všech možných důsledků – obzvláště v komplexnějším kódu. Aby nemohlo nešťastným omylem dojít k vymazání důležitých dat.

Tímto pokračováním tedy máme za sebou příkazy pro definici, úpravy a mazání struktur dat a od příště se budeme věnovat manipulaci s daty.


(9. 9. 2013 | redakce2)


Předcházející článek: <<< MySQL: Další příklady použití příkazu Create <<<
Následující článek: >>> MySQL: Manipulujeme s daty příkazem Select >>>

Tento článek je součástí speciálu:

Jazyk SQL v kostce: Od Select po Commit


Příkazy jazyka SQL lze rozdělit do několika skupin, podle toho, co je jejich účelem.

Jazyk SQL (z anglického Structured Query Language) asi není třeba dlouze představovat: Řada uživatelů počítačů jej zná z desktopových databází a snad všichni, kdo se někdy zabývali tvorbou webu, jej pak používají pro propojení skriptovacího jazyka stránek – nejčastěji PHP – s backendovou databází – nejčastěji MySQL. Pojďme se tedy společně podívat jak na základy, tak na některá zákoutí SQL.



Komentáře, názory a rady

Zatím sem nikdo nevložil žádný komentář. Buďte první...

>>> Číst a vkládat komentáře <<<

Tip - Konference: Datová centra pro byznys - 23.11.2017!


Pozoruhodné IT produkty pro rok 2017 - Nové
Věříme, že v tomto přehledu pozoruhodných produktů najdete ty, které vám pomohou ve vaší práci v IT.

Pozoruhodné IT produkty pro rok 2017
Věříme, že v tomto přehledu pozoruhodných produktů najdete ty, které vám pomohou ve vaší práci v IT.




Anketa


©2011-2017 BusinessIT.cz, ISSN 1805-0522 | Názvy použité v textech mohou být ochrannými známkami příslušných vlastníků.
Provozovatel: Bispiral, s.r.o., kontakt: BusinessIT(at)Bispiral.com | Inzerce: Best Online Media, s.r.o., zuzana@online-media.cz
Používáme účetní program Money S3
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(1523)