Jazyk SQL v kostce: Od Select po Commit



Jazyk SQL (z anglického Structured Query Language) asi není třeba dlouze představovat: Řada uživatelů počítačů jej zná z desktopových databází a snad všichni, kdo se někdy zabývali tvorbou webu, jej pak používají pro propojení skriptovacího jazyka stránek – nejčastěji PHP – s backendovou databází – nejčastěji MySQL. Pojďme se tedy společně podívat jak na základy, tak na některá zákoutí SQL.

Krátké ohlédnutí

Příkazy jazyka SQL lze rozdělit do několika skupin, podle toho, co je jejich účelem.
Příkazy jazyka SQL lze rozdělit do několika skupin, podle toho, co je jejich účelem.
Jazyk SQL vznikl v 70. letech minulého století v IBM, tehdy ještě jako SEQUEL (Structured English Query Language). Jeho smyslem bylo ovládání relačních databází jazykem, který by se pokud možno co nejvíce blížil přirozenému jazyku. Na vývoji jazyka se postupem času podílely i další firmy a využíván v praxi začal být na přelomu 70. a 80. let – s uvedením databázových systémů Oracle Database, DB2, Informix nebo SyBase. Za standard byl pak tento jazyk přijat v roce 1986.

Jazyk SQL se ovšem dále vyvíjel a původní standard (označovaný podle roku přijetí SQL-86) byl posléze nahrazen v roce 1992 standardem novým (SQL-92 nebo SQL2) a posléze v roce 1999 ještě novějším (SQL-99 nebo SQL3).

Jazyk SQL je dnes v nějaké verzi podporován všemi běžně používanými relačními databázemi, nicméně míra implementace se liší. Některé prvky jazyka mohou chybět – a naopak mohou být k dispozici některé další konstrukce.

Příkazy jazyka SQL

Příkazy jazyka SQL lze rozdělit do několika skupin, podle toho, co je jejich účelem. Podívejme se na ty nejčastěji používané.

Příkazy pro definici struktury dat lze vytvářet, měnit a odstraňovat struktury databáze – tabulky, indexy nebo pohledy. Sem patří příkazy CREATE pro vytváření nových objektů, ALTER pro změnu existujících objektů a DROP pro odstraňování objektů.

Příkazy pro manipulaci s daty umožňují do tabulek vkládat data, provádět jejich změny, vyhledávat v nich nebo je odstraňovat. K těmto příkazům patří: SELECT pro vyhledávání dat v databázi, INSERT pro vkládá dat, UPDATE pro změnu dat, DELETE pro odstraňování dat a MERGE kombinující příkazy INSERT a UPDATE.

Příkazy pro řízení transakcí a práce s daty řeší práci s právy uživatelů a otázky transakcí. Patří sem příkaz GRANT pro přidělování uživatelských oprávnění k objektům, REVOKE pro odnímání těchto práv, START TRANSACTION pro zahájení transakce, COMMIT pro potvrzení transakce a ROLLBACK pro zrušení transakce a návrat do původního stavu.

Použití příkazů v praxi

Jak již bylo zmíněno výše, ne všechny příkazy jsou implementovány stejným způsobem ve všech databázových systémech. My se v následujících článcích podíváme, jak se používají v praxi. I když se budeme snažit nabídnout obecný pohled, vycházet budeme především z toho, jak jsou příkazy jazyka SQL implementovány v oblíbené relační databázi MySQL.

MySQL: Příkaz Create Table


Jazyk SQL vznikl v 70. letech minulého století a od té doby se rozvíjel.

SQL příkaz CREATE slouží pro vytváření nových objektů v databázi, konkrétně například tabulek. Právě na to, jak se vytvářejí tabulky s příslušnými sloupci/atributy se v tomto příspěvku podíváme. Pojďme tedy společně namířit zraky na syntaxi CREATE TABLE.


MySQL: Další příklady použití příkazu Create


Na vývoji jazyka SQL se postupem času podílela řada firem.

Minule jsme se zastavili u vytváření tabulek prostřednictvím příkazu Create Table, dnes se podíváme na některé další příkazy použití příkazu Create. Konkrétně na vytváření databází, pohledů či indexů. Dále vždy předpokládáme, že k vytvoření příslušných objektů má vytvářející příslušná oprávnění.


MySQL ve víru změn: Alter, Drop, Rename, Truncate


Je na místě používat obzvláště příkazy Drop a Truncate velmi opatrně.

Jestliže varianty příkazu Create umožňují vytvářet různé objekty databáze, příkazy Alter, Drop, Rename a Truncate dovolují provádět jejich změny – ať už jde o změny definic struktury, změny jmen nebo mazání objektů či jejich obsahu. Pojďme se na ně podívat podrobněji.


MySQL: Manipulujeme s daty příkazem Select


Příkaz Select lze skutečně používat širokou škálou způsobů.

Příkaz Select je bezpochyby nejpoužívanějším příkazem, který využijete při manipulaci s daty v databázi. Jeho prostřednictvím lze projít tabulku či více tabulek a získat z nich data, která odpovídají zadaným kritériím a jsou seřazena v žádoucím pořadí.


MySQL: Manipulujeme s daty s použitím příkazů Insert, Update, Merge, Delete


Příkazy pro modifikaci dat je pochopitelně nutné používat s rozmyslem. Jeden špatně promyšlený SQL příkaz může napáchat nedozírné škody.

Minule jsme se tu věnovali SQL příkazu Select, dnes se podíváme na čtveřici Insert, Update, Merge a Delete. Jak už jejich názvy napovídají, bude tu tedy řeč o vkládání, změnách a mazání dat v databázi.


MySQL: A ještě příkazy pro řízení práce s daty


Ne všechny příkazy jsou implementovány stejným způsobem ve všech databázových systémech.

V úvodním dílu tohoto speciálu jsme zmiňovali rovněž příkazy pro řízení transakcí a práci s daty obecně, jež řeší práci s právy uživatelů a otázky transakcí. Sem patří příkaz Grant pro přidělování uživatelských oprávnění k objektům, Revoke pro odnímání těchto práv, Start Transaction pro zahájení transakce, Commit pro potvrzení transakce a Rollback pro zrušení transakce a návrat do původního stavu. Zastavme se tedy ještě krátce u nich.


Test: Embarcadero Rapid SQL


Samozřejmostí je možnost zobrazit si exekuční plán, a to i graficky.

Embarcadero Rapid SQL je nástrojem určeným především pro databázové vývojáře. Ocení jej ale nepochybně i databázoví administrátoři, kteří jej mohou použít jako doplněk při své práci. Rapid SQL dokáže pracovat se širokou paletou databází (Oracle, MS SQL, DB2, Sybase, MySQL, InterBase). To ho značně odlišuje od konkurence, která se většinou specializuje pouze na jednu platformu.



(srpen 2013 | redakce2)


Komentáře, názory a rady

Zatím sem nikdo nevložil žádný komentář. Buďte první...

>>> Číst a vkládat komentáře <<<

Tip - Konference: Firemní informační systémy - 25.5.2017!


Otázky a odpovědi z IT: Diskusní portál Bizio.cz
Pozoruhodné IT produkty pro rok 2017
Věříme, že v tomto přehledu pozoruhodných produktů najdete ty, které vám pomohou ve vaší práci v IT.




Anketa


©2011-2017 BusinessIT.cz, ISSN 1805-0522 | Názvy použité v textech mohou být ochrannými známkami příslušných vlastníků.
Provozovatel: Bispiral, s.r.o., kontakt: BusinessIT(at)Bispiral.com | Inzerce: Best Online Media, s.r.o., zuzana@online-media.cz
Používáme účetní program Money S3
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(1517)