Manipulační část jazyka SQL (DML – insert, update, delete) a příklady na databázi Knihovna: Porovnání verzí
Řádek 1: | Řádek 1: | ||
== SQL == | == SQL == | ||
− | [[SQL]] (Structured Query Language) slouží k vytváření databází, vyhledávání a prací s [[daty | + | [[SQL]] (Structured Query Language) slouží k vytváření databází, vyhledávání a prací s [[Data|daty]] v nich uložených. Jazyk se skládá ze dvou hlavních částí: |
* Příkazy jazyka DDL (Data Definition Language) | * Příkazy jazyka DDL (Data Definition Language) | ||
* Příkazy jazyka DML (Data Manipulation Language) | * Příkazy jazyka DML (Data Manipulation Language) | ||
Řádek 27: | Řádek 27: | ||
'''FROM''' NazevTabulky<br/> | '''FROM''' NazevTabulky<br/> | ||
'''WHERE''' ExistujiNějakePodminky<br/> | '''WHERE''' ExistujiNějakePodminky<br/> | ||
+ | Podmínkou rozumíme upřesnění výskytu, který chceme hledat (název, identifikátor, ...). | ||
+ | '''př.:'''<br/> | ||
+ | '''SELECT''' * '''FROM''' Customers<br/> | ||
+ | '''WHERE''' Country='Mexico';<br/> | ||
+ | |||
+ | ''Vyber všechny záznamy z tabulky Customers, které mají ve sloupci Country název Mexico''. | ||
=== UPDATE === | === UPDATE === | ||
− | Příkazem UPDATE je | + | Příkazem UPDATE je možné modifikovat data v již existující databázi. Můžeme měnit více hodnot sloupce najednou. Aby nedošlo ke katastrofě a omylem jsme nezměnili data ve všech řádcích, nutné použít klauzuli WHERE. |
− | + | '''UPDATE''' table_name<br/> | |
+ | SET column1 = value1, column2 = value2, ...<br/> | ||
+ | WHERE condition; | ||
=== DELETE === | === DELETE === |
Verze z 23. 3. 2021, 22:10
Obsah
SQL
SQL (Structured Query Language) slouží k vytváření databází, vyhledávání a prací s daty v nich uložených. Jazyk se skládá ze dvou hlavních částí:
- Příkazy jazyka DDL (Data Definition Language)
- Příkazy jazyka DML (Data Manipulation Language)
SQL DML
SQL DML je manipulační část programovacího jazyka SQL určená pro manipulaci s daty. Mezi hlavní příkazy patří - SELECT, INSERT, UPDATE a DELETE. Příkazy slouží k dotazování a úpravám databázových dat v tabulkách. Abychom mohli s daty pracovat, je potřeba je nejprve vložit do tabulky - INSERT.[1]
INSERT
Příkazem INSERT (vlož) vkládáme data do databáze. Je možné přidat jeden ale i více dat najednou. Příkazem INSERT INTO vložíme nové řádky do tabulky a existují dvě varianty tohoto příkazu.
- 1. Vkládáme pouze hodnoty bez názvů sloupců - tedy zaplňujeme všechny sloupce
př.:
INSERT INTO table_name VALUES (value1, value2, value3,…);
table_name: name of the table.
value1, value2,.. : value of first column, second column,… for the new record
- 2. Vkládáme hodnoty a určujeme do jakého sloupce budou vloženy
př.:
NSERT INTO table_name (column1, column2, column3, ..) VALUES (value1, value2, value3, ..);
table_name : name of the table.
column1 : name of first column, second column…
value1, value2, value3 : value of first column, second column,… for the new record[2]
SELECT
Když máme v tabulkách data, můžeme na data různými způsoby i dotazovat, což je možné prostřednictvím příkazu SELECT (vyber). Pokud mluvíme o tomto příkazu, musíme připomenout i příkazy, které jsou s ním neodělitelně spjaty. Těmi jsou FROM a WHERE. Jde o základní strukturu na dotazování dat SELECT/FROM/WHERE.Výsledkem dotazu je relace.
SELECT NazvySloupcu
FROM NazevTabulky
WHERE ExistujiNějakePodminky
Podmínkou rozumíme upřesnění výskytu, který chceme hledat (název, identifikátor, ...).
př.:
SELECT * FROM Customers
WHERE Country='Mexico';
Vyber všechny záznamy z tabulky Customers, které mají ve sloupci Country název Mexico.
UPDATE
Příkazem UPDATE je možné modifikovat data v již existující databázi. Můžeme měnit více hodnot sloupce najednou. Aby nedošlo ke katastrofě a omylem jsme nezměnili data ve všech řádcích, nutné použít klauzuli WHERE.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE
Příkaz DELETE je opět spjat s klauzulí WHERE. Pokud neupřesníme podmnínky, smažeme všechny řádky tabulky.
Příklady
Vlož dílo "Těžký časy".
INSERT INTO Dilo(nazev, popis)
VALUES("Těžký časy", "Soubor 35 krátkých povídek.");
Vlož autor "Charles Bukowski".
INSERT INTO Autor(jme_aut,pri_aut)
VALUES("Charles","Bukowski");
Vymaž pokuty, které vznikly na Vánoce.
DELETE FROM Pokuta
WHERE dat_pok = "24122016";
Vymaž všechny pokuty.
DELETE FROM Pokuta;
Vymaž všechny autory.
DELETE FROM Autor;
Vysvětlení: bez definice WHERE mažu všechno.
Smaž všechny výpůjčky od Vánoc do Silvestra.
DELETE FROM Vypujcka
WHERE dat_od = "24122016"
AND dat_do = "31122016";
Vysvětlení formy data: v konceptuálním schématu knihovny máme definovanou délku data na 8 znaků. Můžeme tedy datum napsat ve formě 24122016 nebo 24.12.16 - podstatné je dodržet délku pole, co je 8 znaků.
Smaž autora Charles Bukowski.
DELETE FROM Autor
WHERE jme_aut = "Charles"
AND pri_aut = "Bukowski";
Změň cenu stokorunových výtisků na 120 Kč.
UPDATE Vytisk
SET cena = 120
WHERE cena = 100;
Změň křestní jméno Petra Nováka na Josef.
UPDATE ctenar
SET jme_cte = „Josef“
WHERE jme_cte = „Petr“
AND pri_cte = „Novák“;
Odkazy
Reference
- ↑ Kroenke, David M. - Auer, David J., Databáze
- ↑ Geeks for Geeks, SQL - INSERT INTO statement
Související články
- Informační systém
- Databáze
- SQL
- Popis prvků konceptuálních modelů, smysl konceptuálního modelu a příklad modelu Knihovny
- Transformace konceptuálního modelu na datový model, základní prvky datového modelu, specifikace úlohy primárních a cizích klíčů
- Popis definiční části jazyka SQL,specifikace deklarace primárních a cizích klíčů a příklady na modelu knihovny
- Příkaz Select, jeho využití v databázi Knihovna / popis klauzule NOT IN a její využití, Select s klauzulí GROUP BY, využití tohoto příkazu v databázi knihovna, základní duplicitní select a další agregátní funkce /.
Klíčová slova
SQL, dotazovací jazyk, databáze
Tento článek je pahýl. Neobsahuje dostatečné množství informací o daném tématu či jej neprobírá do dostačující hloubky. Bude-li to možné, rozšiřte tento článek o další relevantní informace. |