Portál AbcLinuxu, 26. dubna 2024 00:50

Tvorba databází v MySQL - II

27. 3. 2003 | David Hauzar
Články - Tvorba databází v MySQL - II  

Proč používat MySQL? Základy používání MySQL v příkazovém řádku. Další zdroje informací o jazyku SQL.

V minulém díle jste se naučili modelovat databáze. Pro realizaci modelování databází musíte umět používat MySQL, ovládat jazyk SQL a znát datové typy používané v MySQL.

Výhody MySQL

A tak dále. Seznam všech výhod MySQL by byl velmi dlouhý a čtení jistě ubíjející, proto jsem vybral jen některé.

Používání MySQL

Instalace MySQL

Předtím, než budete moci MySQL začít používat, musíte si ho nainstalovat. MySQL je součástí většiny linuxových distribucí, takže asi nic nebudete muset stahovat. Pokud si s instalací nevíte rady, přečtěte si například tento článek (interval.cz) zabývající se instalcí MySQL v Linuxu. Pokud chcete nainstalovat MySQL ve WINDOWS, můžete si přečíst například tento článek (reboot.cz).

Po instalaci MySQL spusťte skript mysql_install_db. Tento skript vytvoří tabulku pro udělování práv v systému MySQL. Skript vás také upozorní, aby jste nastavili kořenové heslo. Pokud nechcete s databází MySQL jen experimentovat, udělejte to.

Spouštění programu mysql a dalších nástrojů pro práci s MySQL

Pokud budete chtít spustit program mysql nebo nějaký z nástrojů pro práci s MySQL, musíte spustit terminál (popřípadě příkazový řádek ve Windows). Pokud jste neinstalovali MySQL z rpm, musíte se přesunout do adresáře:

cesta/k/adresáři/kam/jste/MySQL/nainstalovali/bin

a napsat jméno požadovaného programu.

Pokud jste instalovali MySQL z balíčku, stačí jednoduše napsat jméno požadovaného programu. Veškeré příklady budou prováděny tímto způsobem, takže pokud jste MySQL neinstalovali z balíčku, musíte před název spouštěného programu zadat cestu k adresáři, kam jste MySQL nainstalovali.

Spuštění a zastavení služby mysqld

MySQL je program typu klient server. Server MySQL je spuštěn na pozadí jako služba mysqld. Pokud chcete spustit službu mysqld, přihlašte se jako systémový uživatel root a zadejte následující příkaz:

safe_mysqld &

službu zastavíte příkazem:

mysqladmin -p shutdown

Nejlepší je, když se vám služba bude spouštět automaticky při startu počítače. Pokud jste MySQL nainstalovali jako součást distribuce, máte pravděpodobně takto MySQL už nastavené. Pokud ne, prostudujte si dokumentaci.

Klient MySQL

Služba mysqld běží na pozadí a zpracovává požadavky. Požadavky mu může zasílat třeba aplikace napsaná v PHP. S MySQL je dodáván klient MySQL sloužící ke komunikaci se službou mysqld (databázovým serverem) pomocí příkazové řádky. Klienta MySQL spustíte příkazem:

mysql [- u uživatel] [-p]

kde za nepovinným přepínačem -u napíšete jméno uživatele (pokud budete chtít např. vytvářet databáze, zadejte root - více se dozvíte v některém z příštích dílů). Další nepovinný přepínač-p znamená, že po potvrzení budete zadávat heslo.

Program se ovládá pomocí příkazů jazyka SQL. Každý příkaz musíte ukončit středníkem. Pokud budete používat MySQL často, zjistíte, že ovládání programu pomocí psaní příkazů je mnohem rychlejší, než klikání. Pokud budete používat MySQL příležitostně, asi oceníte nějakou tu grafickou nástavbu. Vynikající je aplikace PhpMyAdmin. Je to program napsaný v PHP, proto musíte mít k jeho používání nainstalovaný interpret PHP. PhpMyAdmin se ovládá pomocí internetového prohlížeče. Více informací o PhpMyAdmin se dozvíte například z tohoto článku (interval.cz).

Dávkové zpracování

Pokud chcete např. vytvořit tabulku, můžete samozřejmě napsat všechny příkazy k tomu potřebné přímo na příkazový řádek klienta MySQL. Pokud v kódu uděláte chybu, budete muset dané příkazy napsat znovu. To je ale dost neefektivní, a proto je dobré příkazy napsat do textového souboru (nejčastěji se používá přípona *.sql nebo *.txt). Do souboru napište příkazy úplně stejně jako kdyby jste je psali přímo na příkazovém řádku. Příkazy napsané v souboru se vykonají po zadání tohoto příkazu (musí být samozřejmě spuštěna služba mysqld):

mysql [-u uživatel] [-p] <cesta/k/souboru/v/kterem/jsou/zapsany/prislusne/prikazy.sql

Pro spouštění skriptů musíte mít privilegia pro vytváření objektů, proto jako jméno uživatele zadejte uživatele, který daná privilegia má - např. root (více viz. další pokračování). Pokud je nějaký z příkazů chybný, MySQL nahlásí chybu.

Jazyk SQL

Jak již víte z předchozího dílu, jazyk SQL je dotazovací jazyk používající se k manipulaci s daty v databázích. Pokud chcete pracovat s databázemi, musíte jazyk SQL znát. V tomto seriálu se ale jazykem SQL zabývat nebudu, a proto se ho musíte naučit z jiného zdroje (viz Odkazy a zdroje).

Nadstandardní možnosti tvorby tabulek v MySQL

Dočasné (TEMPORARY) tabulky

Dočasné tabulky existují jen v daném spojení (session) - lze je prohlížet jen v rámci daného spojení a zanikají v okamžiku ukončení daného spojení.

Dočasné tabulky můžete využít vždy, když chcete přechodně uložit data. Dočasnou tabulku vytvoříte takto:

CREATE TEMPORARY TABLE nazev_tabulky(nazev_sloupce datovy_typ);

QUERY tabulky

QUERY tabulky jsou tabulky založené na výsledcích dotazů.

Následující dotaz vytvoří dočasnou tabulku Zakaznici_2002, která bude obsahovat všechny zákazníky registrované roku 2002:

CREATE TEMPORARY TABLE Zakaznici_2002 SELECT * FROM Zakaznici
  WHERE Rok_Registrace = 2002;

Podmíněná tvorba tabulek - příkaz IF NOT EXISTS

Příkaz IF NOT EXIST slouží k ověření, zda vytvářená tabulka už v databázi neexistuje - pokud existuje, tabulka se nevytvoří.

Syntaxe podmíněného vytvoření tabulky:

CREATE TABLE IF NOT EXISTS nazev_tabulky(nazev_pole datovy_typ);

Závěr

Dnešní díl asi byl pro mnohé z vás oddechový. Ušetřenou energii doporučuji věnovat studiu základů jazyka SQL - v příštím díle se vám to už bude hodit a v dalších dílech bude znalost SQL nezbytná.

Příští díl bude zasvěcen datovým typům a modifikátorům sloupců v MySQL.

Seriál MySQL - tvorba databází (dílů: 6)

První díl: Tvorba databází v MySQL - I, poslední díl: Tvorba databází v MySQL - VI.
Předchozí díl: Tvorba databází v MySQL - I
Následující díl: Tvorba databází v MySQL - III

Související články

Seriál: Správa databází v MySQL
Praktický návod k PgSQL

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.