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

Odkazy

RSS