Pokročilejší databázové operace z příkazového řádku

V minulém článku jsme si společně ukázali, jakým způsobem se lze k databázi připojit a následně vykonat základní příkazy. Nyní své znalosti o něco rozšíříme. Opět sice všechny zde uvedené postupy snadno vykonáte s pomocí phpMyAdmin, pokud ho ovšem nemáte na daném serveru k dispozici, nezbývá než přistoupit k dále popisovanému řešení.

Úpravy s pomocí ALTER TABLE

Jestliže zjistíte, že vám současná struktura tabulky z libovolného důvodu nevyhovuje, rozhodnete se pochopitelně pro nápravu této situace. Pokud postačí pouhá změna názvu sloupce, použijeme tento příkaz:

ALTER TABLE nazev_tabulky CHANGE puvodni_nazev_sloupce novy_nazev_sloupce char(30);

Povšimněte si prosím, že i při pouhé obměně jména musíte opět uvést datový typ. Pokud na tuto skutečnost zapomenete, zobrazí se vám po zadání příkazu chyba. Pravděpodobně vás již napadá, že lze takto změnit i sloupec typu smallint na int, pokud uvedete původní i nový název shodný. V tomto případě však existuje i pohodlnější cesta v podobě:

ALTER TABLE nazev_tabulky MODIFY soucasny_nazev_sloupce int;

Nyní již postačí uvést název pouze jednou. A opět pochopitelně nesmíme opomenout na nový datový typ. Jestliže během návrhu či používání databáze dojdete k názoru, že obsahuje zbytečná redundantní data, lze se jich jednoduše zbavit:

ALTER TABLE nazev_tabulky DROP nazev_sloupce;

S pomocí DROP smažete kompletně celý sloupec. U podobných operací se doporučuje předchozí vytvoření zálohy. Při navrhování nové databáze o žádná data nepřijdete, jiný případ však představuje úprava ostré verze s reálnými daty. Zde může mít neuvážený postup dalekosáhlý dopad na funkčnost samotné aplikace. Při vkládání dat bez přesného specifikování názvů sloupců se totiž hodnoty mohou začít ukládat do špatného umístění. Vždy se proto ujistěte, že si odstraněním nepřiděláte další starosti. Danou obměnu si rovněž můžete vyzkoušet na testovací databázi vytvořené exportem z té současné.

Nyní přichází na řadu přidání nového sloupce, který se automaticky umístí na konci.

ALTER TABLE nazev_tabulky ADD novy_sloupec char(30);

Pro vložení za jinou, již existující součást tabulky, přistoupíme k provedení následujícího příkazu.

ALTER TABLE nazev_tabulky ADD novy_sloupec char(30) AFTER nazev_sloupce;

O Ondřej Směták

Student, který se intenzivně zajímá o oblast IT a to především z pohledu webmastera a programátora GUI aplikací.