Manipulační část jazyka SQL (DML – insert, update, delete) a příklady na databázi Knihovna: Porovnání verzí
Řádek 8: | Řádek 8: | ||
=== INSERT === | === 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. | + | 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''' | * '''1. Vkládáme pouze hodnoty bez názvů sloupců - tedy zaplňujeme všechny sloupce''' | ||
'''př.:''' <br/> | '''př.:''' <br/> | ||
Řádek 22: | Řádek 22: | ||
<br/> | <br/> | ||
− | INSERT INTO Dilo(nazev, popis)<br/> | + | '''INSERT INTO''' Dilo(nazev, popis)<br/> |
VALUES("Těžký časy", "Soubor 35 krátkých povídek.");<br/> | VALUES("Těžký časy", "Soubor 35 krátkých povídek.");<br/> | ||
''Vlož do tabulky Dílo (do sloupců název, popis) hodnoty ("Těžký časy", "Soubor 35 krátkých povídek")''<br/> | ''Vlož do tabulky Dílo (do sloupců název, popis) hodnoty ("Těžký časy", "Soubor 35 krátkých povídek")''<br/> | ||
− | |||
− | INSERT INTO Autor(jme_aut,pri_aut)<br/> | + | '''INSERT INTO''' Autor(jme_aut,pri_aut)<br/> |
VALUES("Charles","Bukowski");<br/> | VALUES("Charles","Bukowski");<br/> | ||
''Vlož do tabulky Autor (sloupců jme_aut, pri_aut) hodnoty ("Charles", "Bukowski")'' | ''Vlož do tabulky Autor (sloupců jme_aut, pri_aut) hodnoty ("Charles", "Bukowski")'' | ||
=== SELECT === | === 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. <br/> | + | 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. <br/> |
'''SELECT''' NazvySloupcu<br/> | '''SELECT''' NazvySloupcu<br/> | ||
Řádek 46: | Řádek 45: | ||
=== UPDATE === | === 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. | + | 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'''. |
+ | '''př.:''' | ||
'''UPDATE''' table_name<br/> | '''UPDATE''' table_name<br/> | ||
SET column1 = value1, column2 = value2, ...<br/> | SET column1 = value1, column2 = value2, ...<br/> | ||
− | WHERE condition; | + | '''WHERE''' condition; |
+ | <br/> | ||
+ | '''UPDATE''' Vytisk<br/> | ||
+ | SET cena = 120<br/> | ||
+ | '''WHERE''' cena = 100;<br/> | ||
+ | ''Změň v tabulce Výtisk cenu stokorunových výtisků na 120 Kč (cenu na 120 tam, kde je cena 100)''<br/> | ||
+ | |||
+ | '''UPDATE''' ctenar<br/> | ||
+ | SET jme_cte = „Josef“<br/> | ||
+ | '''WHERE''' jme_cte = „Petr“<br/> | ||
+ | AND pri_cte = „Novák“;<br/> | ||
+ | ''Změň křestní jméno Petra Nováka na Josef.'' | ||
=== DELETE === | === DELETE === | ||
− | Příkaz DELETE je opět spjat s klauzulí WHERE. Pokud neupřesníme podmnínky, smažeme všechny řádky tabulky. | + | Příkaz '''DELETE''' je opět spjat s klauzulí '''WHERE'''. Pokud neupřesníme podmnínky, smažeme všechny řádky tabulky. |
− | + | <br/> | |
− | + | '''př.:''' | |
+ | '''DELETE FROM''' table_name <br/> | ||
+ | '''WHERE''' condition; <br/> | ||
− | ''' | + | '''DELETE FROM''' Pokuta<br/> |
− | + | '''WHERE''' dat_pok = "24122016";<br/> | |
− | + | ''Vymaž z tabulky Pokuty záznamy pokut, které vznikly na Vánoce 2016 (které mají ve sloupci dat_pok datum "24122016")''<br/> | |
<br/> | <br/> | ||
− | |||
DELETE FROM Pokuta;<br/> | DELETE FROM Pokuta;<br/> | ||
+ | ''Vymaž všechny pokuty z tabulky Pokuty''<br/> | ||
<br/> | <br/> | ||
− | ''' | + | |
− | DELETE FROM | + | '''DELETE FROM''' Vypujcka<br/> |
− | + | '''WHERE''' dat_od = "24122016"<br/> | |
− | '' | ||
− | <br/> | ||
− | ''' | ||
− | |||
− | |||
AND dat_do = "31122016";<br/> | AND dat_do = "31122016";<br/> | ||
+ | ''Smaž všechny výpůjčky od Vánoc do Silvestra''<br/> | ||
<br/> | <br/> | ||
− | + | ||
− | + | 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ů. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Odkazy == | == Odkazy == |
Verze z 23. 3. 2021, 22:40
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]
INSERT INTO Dilo(nazev, popis)
VALUES("Těžký časy", "Soubor 35 krátkých povídek.");
Vlož do tabulky Dílo (do sloupců název, popis) hodnoty ("Těžký časy", "Soubor 35 krátkých povídek")
INSERT INTO Autor(jme_aut,pri_aut)
VALUES("Charles","Bukowski");
Vlož do tabulky Autor (sloupců jme_aut, pri_aut) hodnoty ("Charles", "Bukowski")
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.[3]
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.
př.:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
UPDATE Vytisk
SET cena = 120
WHERE cena = 100;
Změň v tabulce Výtisk cenu stokorunových výtisků na 120 Kč (cenu na 120 tam, kde je cena 100)
UPDATE ctenar
SET jme_cte = „Josef“
WHERE jme_cte = „Petr“
AND pri_cte = „Novák“;
Změň křestní jméno Petra Nováka na Josef.
DELETE
Příkaz DELETE je opět spjat s klauzulí WHERE. Pokud neupřesníme podmnínky, smažeme všechny řádky tabulky.
př.:
DELETE FROM table_name
WHERE condition;
DELETE FROM Pokuta
WHERE dat_pok = "24122016";
Vymaž z tabulky Pokuty záznamy pokut, které vznikly na Vánoce 2016 (které mají ve sloupci dat_pok datum "24122016")
DELETE FROM Pokuta;
Vymaž všechny pokuty z tabulky Pokuty
DELETE FROM Vypujcka
WHERE dat_od = "24122016"
AND dat_do = "31122016";
Smaž všechny výpůjčky od Vánoc do Silvestra
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ů.
Odkazy
Reference
- ↑ Kroenke, David M. - Auer, David J., Databáze
- ↑ Geeks for Geeks, SQL - INSERT INTO statement
- ↑ W3Schools
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. |