Manipulační část jazyka SQL (DML – insert, update, delete) a příklady na databázi Knihovna: Porovnání verzí
(Není zobrazeno 24 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
== SQL == | == 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í: | + | [[SQL]] (Structured Query Language) slouží k vytváření [[Databáze|databází]], vyhledávání a prací s [[Data|daty]] v nich uložených. Jazyk SQL byl vyvinut firmou IBM na počátku 70. let jako dotazovací jazyk pro práci s velkými databázemi na [[Osobní počítač|počítačích]] střediskového typu. Cílem tvůrců SQL bylo vyvinout takový nástroj pro koncové uživatele, který by jim umožnil vybírat data z databáze přesně podle jejich individuálních požadavků a byl přitom co nejjednodušší. |
− | * Příkazy jazyka DDL (Data Definition Language) | + | |
+ | '''Jazyk se skládá ze dvou hlavních částí:''' | ||
+ | * Příkazy jazyka DDL (Data Definition Language) - např.: CREATE, ALTER, DROP | ||
* Příkazy jazyka DML (Data Manipulation Language) | * Příkazy jazyka DML (Data Manipulation Language) | ||
== SQL DML == | == 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. | + | SQL DML je manipulační část [[Programovací jazyk|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.<ref>Kroenke, David M. - Auer, David J., Databáze</ref> |
=== INSERT === | === INSERT === | ||
− | Příkazem INSERT vkládáme data do databáze. Je možné | + | 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ř.:''' | + | '''př.:''' <br/> |
− | INSERT INTO table_name VALUES (value1, value2, value3,…); | + | '''INSERT INTO''' table_name VALUES (value1, value2, value3,…);<br/> |
− | table_name: name of the table. | + | table_name: name of the table.<br/> |
value1, value2,.. : value of first column, second column,… for the new record | 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 | + | * '''2. Vkládáme hodnoty a určujeme do jakého sloupce budou vloženy''' |
− | '''př.:''' | + | '''př.:'''<br/> |
− | + | '''INSERT INTO''' table_name (column1, column2, column3, ..) VALUES (value1, value2, value3, ..);<br/> | |
− | + | table_name : name of the table.<br/> | |
− | column1 : name of first column, second column… | + | column1 : name of first column, second column…<br/> |
− | value1, value2, value3 : value of first column, second column,… for the new record | + | value1, value2, value3 : value of first column, second column,… for the new record<ref>[https://www.geeksforgeeks.org/sql-insert-statement/ Geeks for Geeks, SQL - INSERT INTO statement]</ref> |
+ | <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/> | |
− | + | ||
− | 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")'' | ||
+ | === 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 neoddě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/> | ||
+ | '''FROM''' NazevTabulky<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''.<ref>[https://www.w3schools.com/sql/sql_select.asp W3Schools]</ref> | ||
+ | |||
+ | === 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, je nutné použít klauzuli '''WHERE'''.<br/> | ||
+ | |||
+ | '''př.:''' | ||
<br/> | <br/> | ||
− | ''' | + | '''UPDATE''' table_name<br/> |
− | + | SET column1 = value1, column2 = value2, ...<br/> | |
− | WHERE | + | '''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 === | ||
+ | Příkaz '''DELETE''' je opět spjat s klauzulí '''WHERE'''. Pokud neupřesníme podmínky, smažeme všechny řádky tabulky. | ||
<br/> | <br/> | ||
− | ''' | + | |
− | + | '''př.:''' | |
<br/> | <br/> | ||
− | ''' | + | '''DELETE FROM''' table_name <br/> |
− | + | '''WHERE''' condition; <br/> | |
− | <br/> | + | |
− | '' | + | '''DELETE FROM''' Pokuta<br/> |
− | <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/> |
− | DELETE FROM Vypujcka<br/> | + | |
− | WHERE dat_od = "24122016"<br/> | + | '''DELETE FROM''' Pokuta;<br/> |
+ | ''Vymaž všechny pokuty z tabulky Pokuty''<br/> | ||
+ | |||
+ | '''DELETE FROM''' Vypujcka<br/> | ||
+ | '''WHERE''' dat_od = "24122016"<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ů. |
+ | |||
+ | == Zdroje == | ||
+ | |||
+ | === Použité zdroje === | ||
+ | * Kroenke, David M. - Auer, David J. ''Databáze''. 1. vydání. Brno: Computer Press, 2015. ISBN 978-80-251-4352-0. | ||
+ | * Data Manipulation Language. ''Wikipedia: The free encyklopedia'' [online]. 2020 [cit. 2021-03-23]. dostupné z: https://en.wikipedia.org/wiki/Data_manipulation_language | ||
+ | * SQL | DDL, DQL, DML, DCL and TCL Commands. ''Geeks for Geeks [online]''. 2019 [cit. 2021-03-23]. Dostupné z: https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/ | ||
+ | * SQL. ''W3Schools [online]''. [cit 2021-03-23]. Dostupné z: https://www.w3schools.com/sql/sql_delete.asp | ||
=== Reference === | === Reference === | ||
− | <references/> | + | <references /> |
=== Související články === | === Související články === | ||
Řádek 75: | Řádek 107: | ||
* [[Databáze]] | * [[Databáze]] | ||
* [[SQL]] | * [[SQL]] | ||
− | * [[Popis prvků konceptuálních modelů, smysl konceptuálního modelu a příklad modelu Knihovny]] | + | * [[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íčů]] | + | * [[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]] | + | * [[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|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 /.]] | * [[Příkaz Select, jeho využití v databázi Knihovna|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 === | === Klíčová slova === | ||
− | SQL, dotazovací jazyk, databáze | + | SQL, dotazovací jazyk, databáze, data |
− | |||
− | |||
[[Kategorie:Informační studia a knihovnictví]] | [[Kategorie:Informační studia a knihovnictví]] | ||
[[Kategorie:Informační technologie, knihovnické technologie]] | [[Kategorie:Informační technologie, knihovnické technologie]] |
Aktuální verze z 27. 3. 2021, 13:14
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 SQL byl vyvinut firmou IBM na počátku 70. let jako dotazovací jazyk pro práci s velkými databázemi na počítačích střediskového typu. Cílem tvůrců SQL bylo vyvinout takový nástroj pro koncové uživatele, který by jim umožnil vybírat data z databáze přesně podle jejich individuálních požadavků a byl přitom co nejjednodušší.
Jazyk se skládá ze dvou hlavních částí:
- Příkazy jazyka DDL (Data Definition Language) - např.: CREATE, ALTER, DROP
- 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ř.:
INSERT 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 neoddě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, je 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 podmí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ů.
Zdroje
Použité zdroje
- Kroenke, David M. - Auer, David J. Databáze. 1. vydání. Brno: Computer Press, 2015. ISBN 978-80-251-4352-0.
- Data Manipulation Language. Wikipedia: The free encyklopedia [online]. 2020 [cit. 2021-03-23]. dostupné z: https://en.wikipedia.org/wiki/Data_manipulation_language
- SQL | DDL, DQL, DML, DCL and TCL Commands. Geeks for Geeks [online]. 2019 [cit. 2021-03-23]. Dostupné z: https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
- SQL. W3Schools [online]. [cit 2021-03-23]. Dostupné z: https://www.w3schools.com/sql/sql_delete.asp
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, data