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