Jazyk SQL (databáze SQLite)

Slides:



Advertisements
Podobné prezentace
Základy jazyka SQL Jan Tichava
Advertisements

SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Cvičení 03 SQL Select Ing. Pavel Bednář
Informatika pro ekonomy II přednáška 11
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Databázové systémy teorie a návrh relačních databázových systémů část II.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Informatika II PAA DOTAZOVACÍ JAZYKY
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Tabulkový procesor Práce se souborem – otevření, tvorba a použití šablony, tisk, propojení tabulky Excel s Wordem, nastavení Excelu, uložení Autorem materiálu.
Autor, Název akce Databázové systémy a SQL Lekce 7 Daniel Klimeš.
Školení MS Word 2007 pro začátečníky RNDr. Milan Zmátlo MěÚ Třebíč, říjen 2011 Vzdělávání v eGON centru Třebíč Tento.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons. ze sady:3tematický.
Inf Používání a tvorba databází. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně AUTOR: Mgr. Jana Kijonková NÁZEV: Podpora výuky v technických oborech TEMA: Relační databáze – zápis.
Klíčová slova z Demusu přímo do EXIF hlaviček digitálních fotografií? RNDr. Marie Kocinová
Univerzita třetího věku kurz Znalci Databáze 2.
Principy Základních registrů Ing. Ondřej Felix, CSc.
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_036.ICT.34 Tvorba webových stránek – databáze úvod.
Autor, Název akce Databázové systémy a SQL Daniel Klimeš 1.
Databáze © Mgr. Petr Loskot
Úvod do databází MS Access (1).
Microsoft Excel verze 2010 Mgr. Přemysl Kejzlar.
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
Počet čísel Počet hodnot
Dotazovací jazyk SQL I.
Vytvořil: Robert Döring
Práce s PC P1.B Vránek Michal.
Evaluace předmětů studenty (Anketky)
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Excel – tabulkový procesor
TÉMA: Počítačové systémy
Databáze MS ACCESS 2010.
Databázové systémy přednáška 3 – CRUD
Název: Práce s tabulátory Autor: Hokr Jan
Vytvoření databázového dotazu z více tabulek
SÁRA ŠPAČKOVÁ MARKÉTA KOČÍBOVÁ MARCELA CHROMČÁKOVÁ LUKÁŠ BARTOŠ B3E1
Šablona 32 VY_32_INOVACE_038.ICT.34
Název školy: Základní škola a mateřská škola Dolní Bojanovice, okres Hodonín příspěvková organizace Číslo projektu: CZ.1.07/1.4.00/ Označení materiálu:
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Informatika pro ekonomy přednáška 8
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Informační a komunikační technologie Informatika Operační systémy
Databázové systémy a SQL
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Počítačová cvičení z předmětu Datové sklady
Microsoft Office Access
Dotazovací jazyk SQL I.
Materiál byl vytvořen v rámci projektu
název projektu: Šablony Špičák číslo projektu: CZ.1.07/1.4.00/
A5M33IZS – Informační a znalostní systémy
MS Access Tabulka letní semestr 2013.
Přednáška 6 SQL – spojení tabulek.
Přednáška 8 INDEXY, POHLEDY.
Průvodní list Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT   Vzdělávací materiál: Prezentace – zápis pro žáky Určen pro: 2. ročník oboru.
Přednáška 5 Úvod do SQL.
Informatika pro ekonomy přednáška 8
TSQL2 The Temporal Structured Query Language Jaroslav Ciml
Relační databáze na příkladu aplikace Microsoft Access
Hromadné dokumenty opakující se pro kolekci osob
Transkript prezentace:

Jazyk SQL (databáze SQLite) Připravil ing. petr polách

SQL - úvod Structured Query Language http://demo-1.sql-vyuka.cz (strukturovaný dotazovací jazyk – 70. léta min. století - IBM) 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ě: SELECT jmeno,prijmeni,dat_nar FROM studenti WHERE prijmeni = 'Novák' ORDER BY cislo DESC; http://demo-1.sql-vyuka.cz http://owebu.bloger.cz/stitek_?s=SQLite

SQL databáze MySQL (PHP) 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 (vytvoření objektu) ALTER (změna -"-) DROP (odstranění -"-) 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. Primární klíč je pole jednoznačně identifikující záznamy v tabulce. Nesmí zůstat prázdné. INTEGER PRIMARY KEY (Primární klíč) musí být vždy jednoznačné celé číslo. 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 (musí být vyplněn) • neměl by se nikdy měnit. Pozn.: Pokud neexistuje žádný přirozený primární klíč (např. RČ), 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 Plochu adresář P:\Zadani\Polach_P\sqlite\SqLite3 a pojmenujte jej např. takto: 4E1_Bocian 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) .quit – ukončení programu (dot commands) - ovládání programu sqlite3 Začínají tečkou, nepíše se za nimi středník! .quit – ukončení programu Pozn.: Příkazový řádek Windows: - opakování příkazů (kurzorové šipky nahoru a dolů), - práce se schránkou (systémový bod) .help - nápověda .databases – otevřená (připojená) databáze .tables – datové tabulky v připojené databázi .schema jménotabulky – struktura tabulky – datové položky a typy (SQL příkaz pro vytvoření tabulky) .read — načte prikaz(y) ze souboru .read settings .mode columns – výpis výsledku do sloupců .header on – zapne zobrazení názvů sloupců ve výpisu výsledku _____________________________________________________ .output jménosouboru – začne posílat výsledky (SQL) příkazů do souboru .output stdout – začne posílat výsledky výsledek zase na monitor ______________________________________ .echo off (.echo on) – vypne (zapne) vypisování příkazů

SQL příkazy SQL příkazy nedělá se před nimi tečka, za nimi se dělá středník. SELECT * FROM zaci; SELECT jmeno, prijmeni, prospech FROM zaci; SELECT jmeno, prijmeni, prospech FROM zaci WHERE bydliste="Hodonín"; relační operátory: =, <>, >, <, >=, <= logické operátory: AND, OR, NOT, závorky SELECT jmeno,prijmeni,bydliste, prospech FROM zaci WHERE NOT(bydliste="Hodonín") AND prospech<=1.5; SELECT jmeno,prijmeni,bydliste FROM zaci WHERE prijmeni >= "R"; (Pozn.: sqlite nepodporuje české třídění ) SELECT jmeno,prijmeni,bydliste FROM zaci WHERE prijmeni >= "R" ORDER BY bydliste DESC; (ASC) SELECT jmeno,prijmeni,bydliste FROM zaci ORDER BY bydliste DESC, prijmeni ASC; (Pozn.: vzestupně ASC, sestupně DESC) Pořadí: SELECT sloupce FROM tabulka WHERE podmínky ORDER BY řazení;

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

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

VIEW (dotazy) Vytvoření view: Často opakované složité příkazy můžeme pojmenovat a uložit jako views. 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; Fungují v příkazech na místě datové tabulky za FROM (data ve view ale samozřejmě nelze aktualizovat). Příkazem .tables se view se vypíšou společně s dat.tabulkami. Je dobré je odlišit jménem – např.: v_cvicny .schema v_cvicny - vypíše obsah view

SQL příkazy – SELECT – GROUP BY SELECT bydliste, COUNT(prijmeni) FROM zaci GROUP BY bydliste; SELECT rocnik,trida,COUNT(prijmeni) FROM zaci GROUP BY rocnik,trida ORDER BY rocnik,trida; bydliste počet žáku v obci ---------- ----------------- Bukovany 4 Bzenec 7 Dambořice 14 Dolní Boja 11 Dubňany 6 Hodonín 26 Kyjov 14 Lužice 7 Mikulčice 8 Milotice 3 Mutěnice 5 Petrov 4 Ratíškovic 7 Starý Podv 2 Svatobořic 4 Vnorovy 11 Čejkovice 6 Čejč 8 Čeložnice 13

Další příkazy DML – SELECT, INSERT, UPDATE, DELETE INSERT INSERT INTO zaci(jmeno, prijmeni, bydliste,prospech) VALUES ("Pavel", "Polách", "Hodonín",1.15) ; Cv.: Do tabulky zaci vložte svůj záznam s nesprávným křestním jménem a zkontrolujte, že byl vložen. UPDATE UPDATE zaci SET jmeno= "Petr", pohlavi="m", sourozencu=1,prospech=1.00 WHERE prijmeni="Polách"; Cv.: Opravte svůj záznam na správné křestní jméno a přidejte další údaje. DELETE DELETE FROM zaci WHERE prijmeni="Polách"; Cv.: Odstraňte svůj záznam z tabulky zaci .

Příkazy DDL– Návrh a administrace databáze (data definition language) CREATE DATABASE cv_db; vytvoření databáze (sqlite nepodporuje!) (SQLite - pokud volaná db neexistuje, vytvoří při spuštění db programu – viz bat) CREATE TABLE kamaradi ( id integer PRIMARY KEY AUTOINCREMENT, jmeno varchar(30), prijmeni varchar(40) NOT NULL, roknar integer ); U existující tabulky vypíšeme příkazem .schema jménotabulky sqlite – datové typy nejsou nutné ALTER TABLE kamaradi ADD COLUMN adresa CHAR(100); změna tabulky po jejím vytvoření (sqlite nepodporuje plně!) DROP TABLE kamaradi; odstranění tabulky DROP DATABASE cv_db; odstranění databáze CREATE TABLE kamaradi ( id integer PRIMARY KEY AUTOINCREMENT, jmeno, prijmeni NOT NULL, roknar ); CREATE TABLE kamaradi ( id integer PRIMARY KEY AUTOINCREMENT, jmeno, prijmeni NOT NULL, roknar);