Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Jazyk SQL (databáze SQLite)

Podobné prezentace


Prezentace na téma: "Jazyk SQL (databáze SQLite)"— Transkript prezentace:

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

2 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;

3 SQL databáze MySQL (PHP) Microsoft SQL Server SQLite PostgreSQL Oracle
Firebird … a další.

4 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.

5 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).

6 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í

7 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ů

8 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í;

9 Další možnosti příkazu SELECT
SELECT "Pracovní za poslední měsíc"; lze vypsat i text; SELECT ; 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( ,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" ;

10 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="ž";

11 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

12 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 Dambořice 14 Dolní Boja 11 Dubňany 6 Hodonín Kyjov Lužice Mikulčice 8 Milotice 3 Mutěnice 5 Petrov Ratíškovic 7 Starý Podv 2 Svatobořic 4 Vnorovy Čejkovice 6 Čejč Čeložnice 13

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 .

14 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);


Stáhnout ppt "Jazyk SQL (databáze SQLite)"

Podobné prezentace


Reklamy Google