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.
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ě.
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.
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.
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.
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í...