<< Databáze | Jazyk SQL | Práce s daty >>
TABULKY
Vytvoření tabulky
CREATE TABLE nazev_tabulky (nazev_sloupce datovy_typ,... );
- v databázi, která je právě aktivní vytvoříme novou tabulku (typu MYISAM)
- délka názvu tabulky (a sloupců) může být max. 65 znaků
Příklad:
CREATE TABLE knihovna ( autor VARCHAR(20), kniha VARCHAR(20) NOT NULL PRIMARY KEY, stran SMALLINT UNSIGNED, rok YEAR(4), poznamka ENUM('neprecteno','precteno','pujceno') DEFAULT 'neprecteno' );
Typy tabulek
CREATE TABLE nazev_tabulky (nazev_sloupce datovy_typ,... ) TYPE=typ_tabulky;
- MYISAM - standard MySQL od verze 3.23.0; soubory s tabulkami mají koncovku .myd (data) a .myi (indexy)
- ISAM - standardní typ tabulky ve starších databázích; dnes nahrazen typem MYISAM
- MERGE - formát vhodný pro spojení MYISAM tabulek se stejně nadefinovanými poli
- INNODB - uzamykání tabulky je vykonáváno na úrovni řádků; před použitím je nutná kompilace MySQL s podporou INNODB
- před nasazením jiného typu než MYISAM si prostudujte originální dokumentaci
Vytvoření dočasné tabulky
CREATE TEMPORARY TABLE nazev_tabulky (nazev_sloupce datovy_typ,... );
- vytvoření dočasné tabulky, která po uzavření spojení s databází zanikne
Výpis popisu tabulky
DESCRIBE nazev_tabulky; SHOW COLUMNS FROM nazev_tabulky;
- dotaz zobrazí definici požadované tabulky (názvy + datové typy + modifikátory)
Změny v tabulce
ALTER TABLE nazev_tabulky prikaz1, prikaz2, prikaz3, prik...;
- provede příkaz/příkazy s tabulkou "nazev_tabulky", viz dále:
Nový sloupec
- .. ADD nazev_noveho_sloupce datovy_typ;
- .. ADD COLUMN nazev_noveho_sloupce datovy_typ;
- příkaz přidá do tabulky nový sloupec
ALTER TABLE knihovna ADD COLUMN vydavatel VARCHAR(10);
Modifikátory:
- .. FIRST
- přidá nový sloupec na začátek tabulky
ALTER TABLE knihovna ADD COLUMN cislo SMALLINT FIRST;
- .. AFTER nazev_sloupce;
- přidá nový sloupec za sloupec "nazev_sloupce"
ALTER TABLE knihovna ADD COLUMN zanr VARCHAR(10) AFTER kniha;
Smazání sloupce
- .. DROP nazev_odstranovaneho_sloupce;
- .. DROP COLUMN nazev_odstranovaneho_sloupce;
- příkaz odebere požadovaný sloupec
ALTER TABLE knihovna DROP vydavatel;
Změna parametrů
- .. CHANGE nazev_sloupce novy_nazev_sloupce nove_nastaveni;
- změní datový typ a může sloupec i přejmenovat
ALTER TABLE knihovna CHANGE kniha knihy VARCHAR(30) NOT NULL;
Modifikace parametrů
- .. MODIFY nazev_sloupce nove_nastaveni;
- u požadovaného sloupce změní datový typ
ALTER TABLE knihovna MODIFY kniha VARCHAR(30) NOT NULL;
Přejmenování tabulky
- .. RENAME novy_nazev_tabulky;
- příkaz přejmenuje požadovanou tabulku
ALTER TABLE knihovna RENAME knihovnicka;
Indexy a klíče v tabulkách
SHOW KEYS FROM nazev_tabulky; SHOW INDEX FROM nazev_tabulky;
- vypíše podrobné informace o primárních klíčích a indexech v tabulce
Zamykání tabulek
LOCK TABLES nazev_tabulky READ, nazev_tabulky WRITE;
- uzamkne vyjmenované tabulky pro čtení (READ), nebo zápis (WRITE)
- po uzamknutí mají právo čtení, nebo zápisu v tabulce pouze ty příkazy, které se nachází mezi LOCK ... UNLOCK
UNLOCK TABLES;
- odemčení všech zamčených tabulek
Smazání tabulky
DROP TABLE nazev_tabulky;
- odstraní z aktivní databáze tabulku s názvem "nazev_tabulky"
Optimalizace tabulky
OPTIMIZE TABLE nazev_tabulky;
- odstraní z tabulky nepotřebná data po úpravách, setřídí indexy a zaktualizuje statistiky