Jazyk SQL databáze SQLite. připravil ing. petr polách

Podobné dokumenty
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Databázové systémy. Cvičení 6: SQL

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

KIV/ZIS cvičení 5. Tomáš Potužák

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Návrh a tvorba WWW stránek 1/14. PHP a databáze

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Databázové systémy a SQL

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Databázové systémy Cvičení 5.2

8.2 Používání a tvorba databází

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Databáze SQL SELECT. David Hoksza

Úvod do databázových systémů

Úvod do databázových systémů

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ

Použití databází na Webu

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Informační systémy ve zdravotnictví. 6. cvičení

Databáze II. 1. přednáška. Helena Palovská

Databázové systémy úvod

Sada 1 - PHP. 14. Úvod do jazyka SQL

Úvod do databázových systémů

Databáze I. Přednáška 4

5. POČÍTAČOVÉ CVIČENÍ

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

KIV/ZIS cvičení 6. Tomáš Potužák

Databáze I. 5. přednáška. Helena Palovská

Databáze I. 1. přednáška. Helena Palovská

DUM 12 téma: Příkazy pro tvorbu databáze

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Databázové a informační systémy

Databázové systémy I

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Měřící systém se vzdáleným přístupem. Databáze

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové systémy a SQL

Databázové systémy Cvičení 5.3

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

Databázové systémy Cvičení 5

Databázové systémy trocha teorie

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Optimalizace dotazů a databázové transakce v Oracle

Operátory ROLLUP a CUBE

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Marian Kamenický. Syntea software group a.s. marian.kamenicky. MFFUK Praha 2012/13

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Ukázka knihy z internetového knihkupectví

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové a informační systémy Jana Šarmanová

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Základy jazyka SQL. 87 Jazyk SQL SQL je dotazovací jazyk, takže přes propojenou aplikaci se serveru odevzdá dotaz

Datové a procesní modely. A zpět k PEPOvi

Structured Query Language SQL

4IT218 Databáze. 4IT218 Databáze

Michal Krátký, Miroslav Beneš

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Jazyk SQL 3 - DML, DDL, TCL, DCL

Databáze I. Přednáška 6

Úvod do databázových systémů

Text úlohy. Systémový katalog (DICTIONARY):

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

1GIS2. Přednáška 3. Databáze vývoj, vlastnosti, přístupy ke zpracování informací, databázové modely, základy SQL FŽP UJEP

NÁVRH A TVORBA HUDEBNÍ DATABÁZE

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Databázové a informační systémy

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Materiál ke cvičením - SQL

2. blok část A Jazyk SQL, datové typy

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

6. SQL složitější dotazy, QBE

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

MySQL sežere vaše data

Databázové systémy I

Stručný obsah. K2118.indd :15:27

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Verzování a publikace dat na webu za pomoci PostgreSQL

Tvorba aplikací v Oracle Application Express

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

PG 9.5 novinky ve vývoji aplikací

SQL - trigger, Databázové modelování

DATABÁZE, ATRIBUTY. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník

Temporální databáze. Jan Kolárik Miroslav Macík

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Transkript:

Jazyk SQL databáze SQLite připravil ing. petr polách

SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. Pozn.1: Deklarativní programovací jazyk Pozn.2: Jazyk SQL byl navržen tak, aby se maximálně blížil přirozené angličtině. http://demo-1.sql-vyuka.cz http://owebu.bloger.cz/stitek_?s=sqlite

SQL databáze MySQL Microsoft SQL Server SQLite PostgreSQL Oracle Firebird a další.

SQL příkazy - přehled Do jazyka SQL patří: DML Data Manipulation Language příkazy pro manipulaci se záznamy: SELECT (výběr záznamů), INSERT (vytváření záznamů), UPDATE (úprava záznamů), DELETE (mazání záznamů) DDL Data Definition Language definice db objektů tabulek a dalších objektů: CREATE, ALTER, DROP Práce s transakcemi: COMMIT, ROLLBACK Příkazy pro nastavování přístupových práv: GRANT, REVOKE.

SQLite - poznámky SQLite nerozlišuje datové typy. Pouze INTEGER PRIMARY KEY musí být vždy jednoznačné celé číslo. (Primární klíč je pole jednoznačně identifikující záznamy v tabulce. Nesmí zůstat prázdné). Př.: rodné číslo u osob, katalogové číslo u výrobků, identifikační číslo v seznamu podniků apod. Každá tabulka má mít definovaný právě jeden primární klíč. Primární klíč má základní vlastnosti: jedinečnost v rámci tabulky ne-null-ovou hodnotu neměl by se nikdy měnit.. Pozn.: Pokud neexistuje žádný přirozený primární klíč, používá se obvykle jako primární klíč číslo, které záznamu přidělí automaticky sama databáze - pořadové číslo záznamu (ID).

SqLite 1 Úkol: Zkopírujte si na disk H: adresář P:\Zadani\Polach_P\sqlite Obsahuje soubory: skola.db cvičná databáze sqlite3.exe databázový program start_skola.db.bat spouštění cvičení settings počáteční nastavení

SqLite 2 Tečkové příkazy Příkazy SQL Tečkové příkazy (dot commands) ovládání programu sqlite Začínají tečkou, nepíše se za nimi středník! Pozn.: Příkazový řádek: - opakování příkazu (kurzorové šipky nahoru a dolů), - kopírování do a ze schránky (přes systémový bod).help - nápověda.quit ukončení programu.databases otevřená (připojená) databáze.tables datové tabulky v připojené databázi.schema tablename struktura tabulky datové položky a typy (SQL příkaz pro vytvoření tabulky).read načte prikaz(y) ze souboru.read settings.output FILENAME pošle výsledek (SQL) příkazu do souboru.output stdout pošle výsledek na monitor.header on zapne zobrazení názvů sloupců ve výpisu výsledku.mode columns výpis výsledku do sloupců.echo OFF (.echo ON) vypne (zapne) vypisování příkazů

SQL příkazy SQL příkazy končí středníkem a nedělá se před nimi tečka. SELECT * FROM zaci; SELECT jmeno,prijmeni,bydliste, sourozencu FROM zaci; SELECT jmeno,prijmeni,bydliste, sourozencu FROM zaci WHERE bydliste="hodonín"; SELECT jmeno,prijmeni,bydliste FROM zaci WHERE bydliste= Hodonín AND pohlavi= ž ; AND, OR, NOT, závorky SELECT jmeno,prijmeni,bydliste FROM zaci WHERE prijmeni >= R ; =, <>, >, <, >=, <= SELECT jmeno,prijmeni,bydliste FROM zaci ORDER BY bydliste DESC; SELECT jmeno,prijmeni,bydliste FROM zaci ORDER BY bydliste DESC, prijmeni ASC; (Pozn.: sqlite nezná české třídění!) (Pozn.: vzestupně ASC, sestupně DESC)

SELECT Další možnosti (změny výpisu, funkce, výpočty, ) SELECT Nazdar! ; SELECT 1.5+1.6; SELECT ((1.5+10)*2)-1; SELECT 11/2; SELECT 11.0/2; SELECT 11%2; SELECT round(27.56789,2); změna záhlaví výpisu, výpočet ve výpisu lze vypsat i text; desetinná tečka! závorky celočíselné dělení; dělení % zbytek po celočíselném dělení zaokrouhlení SELECT prijmeni, sourozencu, sourozencu*100 AS Příspěvek FROM zaci WHERE bydliste= Hodonín ; SELECT date(); SELECT time(); SELECT datetime(); aktuální datum (date, time)

SELECT - agregační funkce SELECT COUNT(prijmeni) FROM zaci; SELECT COUNT(prijmeni) AS Počet žáků FROM zaci; SELECT SUM(sourozencu) FROM zaci WHERE bydliste= Hodonín ; SELECT Prospěch:, MIN(prospech), až, MAX(prospech) FROM zaci; SELECT AVG(prospech) AS Průměrný prospěch dívek FROM zaci WHERE pohlavi= ž ;

VIEW (pohledy, dotazy) Často opakované složité příkazy můžeme pojmenovat a uložit jako view. Zastávají roli datové tabulky. Data ve view samozřejmě nelze aktualizovat. Vytvoření view: CREATE VIEW v_cvicny as SELECT prijmeni, jmeno, prospech FROM zaci nějaký příkaz; Volání view: SELECT * FROM v_cvicny; SELECT prijmeni, prospech FROM v_cvicny ORDER BY prospech; SELECT COUNT(prijmeni) FROM v_cvicny; Podobně jako u tabulek funguje:.tables (views se vypíšou společně s dat.tabulkami. Je dobré je od nich odlišit jménem..schema v_cvicny

Cvičení Pomocí výstupu do souboru (příkaz.output) vytvořte soubor vysledek.txt. V něm na začátku bude na samostatném řádku Vaše příjmení a jméno a aktuální datum. Na dalších řádcích budou vyhledány dívky z tabulky zaci, které nejsou z Hodonína a mají lepší prospěch než 2. Budou vypsány sloupce jmeno, prijmeni, bydliste, prospech, sourozencu a sloupec s názvem soucin, ve kterém bude součin (krát) prospěchu dívky a počtu jejích sourozenců. Výpis bude seřazen podle počtu sourozenců sestupně, v rámci stejného počtu podle prospěchu vzestupně. Za výpisem budou čtyři řádky na nichž bude: Počet nalezených dívek: skutečný údaj Průměrný prospěch nalezených dívek: skutečný údaj Celkový počet sourozenců: skutečný údaj Součet hodnot sloupce soucin:skutečný údaj Všechny příkazy pro vytvoření souboru vysledek.txt postupně vytvořte, odlaďte a postupně vložte do souboru prikazy.txt, který pak načtete a najednou provedete příkazem.read.

SQL příkazy DML SELECT, INSERT, UPDATE, DELETE INSERT UPDATE DELETE přidá záznam do tabulky úprava už existujících záznamů vymazání existujících záznamů Příklady: INSERT INTO zaci(jmeno, prijmeni, bydliste) VALUES ( Pavel, Polách, Hodonín ) ; UPDATE zaci SET jmeno= Petr, sourozencu= 1,prospech= 1,01 WHERE prijmeni= Polách ; DELETE FROM zaci WHERE prijmeni= Polách ;

Příkazy DDL Návrh a administrace databáze (data definition language) CREATE DATABASE cv_db; Vytvoření tabulky CREATE TABLE kamaradi ( jmeno char(30), prijmeni char(40) NOT NULL, roknar integer ); vytvoření databáze (sqlite nepodporuje lze vytvořit při spuštění db programu viz bat) ALTER TABLE ; změna tabulky po jejím vytvoření (sqlite nepodporuje) DROP TABLE kamaradi; odstranění tabulky DROP DATABASE cv_db; odstranění databáze