Databázy a tabuľky v MySQL

24. července 2000

Pri práci s MySQL si môžete vytvoriť ľubovoľný počet databáz a v nich tiež ľubovoľný počet tabuliek. Databáza je najvyššia štruktúrna jednotka. Tá združuje príslušné tabuľky naplnené samotnými dátami. Ak chcete vytvoriť databázu, postupujte nasledovne:

Spustite MySQL daemon (mysqld), potom samotné mysql. Vytvorenie databázy prebieha príkazom CREATE DATABASE:

CREATE DATABASE meno_databazy;

Odoslaním tohto príkazu vytvoríte prázdnu databázu s menom meno_databazy. V prípade, že chcete s databázou pracovať, použite príkaz USE:

USE meno_databazy;

Týmto sa pripojíte k databáze meno_databazy. Táto databáza je zatiaľ prázdna a teda neobsahuje žiadne tabuľky. Ak chcete databázu zmazať, stačí použiť príkaz DROP DATABASE:

DROP DATABASE meno_databazy;

Takto zmažete celú databázu s tabuľkami a dátami, preto tento príkaz používajte opatrne. Teraz skúsim vysvetliť prácu s tabuľkami a databázami na jednoduchom príklade. Najprv vytvoríme databázu „adresar“ a následne sa k nej pripojíme:

CREATE DATABASE adresar; USE adresar;

V tejto databáze si vytvoríme tabuľku „osoby“, ktorá nám bude slúžiť na uchovávanie informácií o osobách v adresári: CREATE TABLE osoby (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, meno VARCHAR(20), priezvisko VARCHAR(20), datum_narodenia DATE);

Príkaz CREATE TABLE slúži na vytvorenie tabuľky, za ním musí nasledovať názov tabuľky a v zátvorke jednotlivé stĺpce tabuľky oddelené čiarkou, pričom prvý je názov stĺpca a za ním jeho typ. Predchádzajúcim príkazom sme vytvorili tabuľku s tromi stĺpcami, pričom prvý a druhý sú typu VARCHAR(20) (reťazec o dĺžke 20 znakov) a tretí je typu DATE (dátum vo formáte rrrr-mm-dd). Typ VARCHAR má rozpätie znakov od 1 po 255.

Myslím, že by bolo vhodné napísať tabuľku so základnými typmi stĺpcov v MySQL. To, čo je uvedené v hranatých zátvorkách (‚[‚,‘]‘), je pri danom type nepovinné, parameterom UNSIGNED zabezpečíte, že stĺpec bude obsahovať hodnoty bez znamienka (nezáporné). M znamená počet zobrazených číslic, D počet desatinných miest:

Číselné typy:

Typ Rozsah
TINYINT [(M)] [UNSIGNED] -128 až 127, UNSIGNED 0 až 255
SMALLINT [(M)] [UNSIGNED] -32768 až 32767, UNSIGNED 0 až 65535
MEDIUMINT [(M)] [UNSIGNED] -8388608 až 8388607, UNSIGNED 0 až 16777215
INT [(M)] [UNSIGNED] -2147483648 až 2147483647, UNSIGNED 0 až 4294967295
BIGINT [(M)] [UNSIGNED] -9223372036854775808 až 9223372036854775807, UNSIGNED 0 až 18446744073709551615
FLOAT [(M),(D)] -3.402823466E+38 až 3.402823466E+38
DOUBLE [(M),(D)] -1.7976931348623157E+308 až 1.7976931348623157E+308

Časové a dátumové typy:

Typ Rozsah Formát
DATE ‚1000-01-01‘ až ‚9999-12-31‘ rrrr-mm-dd
DATETIME ‚1000-01-01 00:00:00‘ až ‚9999-12-31 23:59:59‘ rrrr-mm-dd hh:mm:ss
TIMESTAMP [(M)] ‚1970-01-01 00:00:00‘ až ‚2037-xx-xx xx:xx:xx‘ rôzny, závislý od dĺžky, štandardne rrrrmmddhhmmss
TIME ‚-838:59:59‘ až ‚838:59:59‘ hh:mm:ss

Textové typy:

Typ Rozsah
VARCHAR (M) M znakov (1-255)
TINYTEXT max. 255 znakov
TEXT max. 65535 znakov
MEDIUMTEXT max. 16777215 znakov
LONGTEXT max. 4294967295 znakov

Snažte sa používať čo najoptimálnejšie typy kvôli úspore pamäte a miesta. Hlavne pri používaní textových typov budťe čo najšetrnejší. V prípade, že za typom stĺpca nasleduje ešte „PRIMARY KEY“, znamená to, že ide o primárny kľúč, ktorý značne pomáha pri práci s databázou pri väčšom objeme dát. Parameter „AUTO_INCREMENT“ zabezpečuje to, že pri vložení hodnoty 0 sa vygeneruje číslo o 1 vyššie, než je najvyššie v tomto stĺpci, čím dosiahneme, že každý riadok bude mať unikátne číslo.

Teraz môžeme pokračovať v príklade. Zatiaľ máme databázu „adresar“ s prázdnou tabuľkou „osoby“. Ak teda chceme uložiť nejaké údaje do tabuľky, musíme použiť príkaz INSERT, ktorý má nasledovný syntax: INSERT INTO meno_tabulky VALUES (hodnota1, hodnota2, hodnota3 apod.);

Syntax príkazu INSERT je oveľa zložitejšia, tej sa však budeme venovať neskôr, zatiaľ nám stačí, že príkazom:

INSERT INTO osoby VALUES (0,’Peter‘,’Nový‘,’1972-10-12′);

Vložíme do tabuľky „osoby“ záznam o osobe menom Peter Nový, narodenej 12.10.1972, pričom záznamu bude priradené unikátne id (vďaka vloženej nule). Nezabudnite používať apostrofy (‚). Takýmto spôsobom môžeme naplniť tabuľku ľubovoľným počtom záznamov. Výpis záznamov môžeme previesť príkazom SELECT:

SELECT * FROM osoby;

Tento príkaz má tiež oveľa zložitejšiu syntax, ktorej sa však budeme venovať v niektorom s nasledujúcich dielov. Tabuľku je možné zmazať príkazom DROP TABLE:

DROP TABLE meno_tabulky;

Tabuľku „adresar“ ešte nemažte, pretože sa k nej ešte v nasledujúcom dieli vrátime a budeme pokračovať v ukážkovom príklade.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Štítky: Články

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *