Relacyjne bazy danych. Podstawy SQL

Podobne dokumenty
Relacyjne bazy danych. Podstawy SQL

Systemy GIS Tworzenie zapytań w bazach danych

Wykład 5. SQL praca z tabelami 2

Przestrzenne bazy danych Podstawy języka SQL

Język SQL, zajęcia nr 1

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Wykład 05 Bazy danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Grupowanie i funkcje agregujące

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Wykład 6. SQL praca z tabelami 3

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Wprowadzenie do języka SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

SQL (ang. Structured Query Language)

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Bazy danych. Polecenia SQL

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

P o d s t a w y j ę z y k a S Q L

Język SQL, zajęcia nr 2

Paweł Rajba

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Bazy danych. dr inż. Arkadiusz Mirakowski

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Bazy danych SQL Server 2005

Bazy danych 7. SQL podstawy

Autor: Joanna Karwowska

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Autor: Joanna Karwowska

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

SQL w praktyce. Miłej i owocnej nauki!!!

Wprowadzenie do baz danych

Ref. 7 - Język SQL - polecenia DDL i DML

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Jerzy Nawrocki, Wprowadzenie do informatyki

Język SQL. Rozdział 2. Proste zapytania

Oracle11g: Wprowadzenie do SQL

ACESS- zadania z wykorzystaniem poleceń SQL

Ćwiczenie zapytań języka bazy danych PostgreSQL

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Struktura drzewa w MySQL. Michał Tyszczenko

SQL Structured Query Language

Widok Connections po utworzeniu połączenia. Obszar roboczy

Bazy danych. Dr inż. Paweł Kasprowski

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

SQL - Structured Query Language. strukturalny język zapytań

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Kurs. Podstawy MySQL

Wykład 8. SQL praca z tabelami 5

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Zadania z SQLa (MS SQL Server)

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Bazy Danych i Usługi Sieciowe

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Bazy danych 10. SQL Widoki

Bazy danych Ćwiczenia projektowe

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Bazy danych 5. Samozłaczenie SQL podstawy

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Bazy danych i usługi sieciowe

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

PODZAPYTANIE (SUBSELECT)

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Przykładowa baza danych BIBLIOTEKA

Język SQL podstawy zapytań

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Microsoft SQL Server Podstawy T-SQL

Wstęp do relacyjnych baz danych. Jan Bartoszek

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

3. Podzapytania, łączenie tabel i zapytań

SIECI KOMPUTEROWE I BAZY DANYCH

Ćwiczenie 3 funkcje agregujące

Projektowanie systemów baz danych

Krótki przegląd zapytań

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Technologie baz danych

Transkrypt:

Relacyjne bazy danych Podstawy SQL

Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw. Po co się uczyć? SQL umoŝliwia odczyt informacji z kaŝdej relacyjnej bazy danych zrozumienie mechanizmów rządzących graficznymi interfejsami uŝytkownika moŝliwość tworzenia złoŝonych zapytań wiedza przydatna na wielu platformach sprzętowych

Funkcje realizowane przez SQL definicja struktury bazy danych odczyt danych modyfikacja danych kontrola dostępu współuŝytkowanie danych integralność danych MoŜna uŝywać go jako: element aplikacji i narzędzi programowych interakcyjny język zapytań język komunikacji pomiędzy róŝnymi SZRBD

Składnia SQL - SELECT SELECT FROM nazwa kolumny nazwa tabeli WHERE GROUP BY warunek wyszukiwania nazwa kolumny

Składnia SQL - SELECT SELECT nazwa kolumny FROM nazwa tabeli Przykłady: SELECT nazwisko FROM TSedziowie SELECT nazwa, id FROM TKluby SELECT gol1, gol2, gol3, gol4 FROM TMecze SELECT * FROM TKluby

SELECT eliminowanie duplikatów nazwa kolumny SELECT FROM nazwa tabeli DISTINCT Przykłady: SELECT DISTINCT kolejka FROM TMecze

Sortowanie rekordów nazwa kolumny SELECT FROM nazwa tabeli ORDER BY nazwa kolumny ASC Przykłady: DESC SELECT imie, nazwisko FROM TSedziowie ORDER BY nazwisko, imie ASC SELECT imie, nazwisko FROM TSedziowie ORDER BY nazwisko, imie DESC SELECT imie, nazwisko FROM TSedziowie ORDER BY nazwisko ASC, imie DESC SELECT DISTINCT kolejka FROM TMecze ORDER BY kolejka DESC

Proste wyraŝenia MoŜna uŝywać operatorów do wykonywania działań na polach, np. +, -, *, /, Przykłady: SELECT domin-odmin FROM tsklady

Nadawanie nazw wyraŝenie SELECT AS nazwa kolumny - nowa Przykłady: SELECT domin-odmin AS CzasGryPiłkarza FROM tsklady SELECT m.id, k1.nazwa, k2.nazwa FROM TMecze AS m, TKluby AS k1, TKLuby AS k2

Filtrowanie danych SELECT DISTINCT wyraŝenie AS alias FROM nazwa tabeli WHERE warunek wyszukiwania Przykłady: SELECT * FROM tkartkigole WHERE rodzaj = 'K' SELECT imie, nazwisko FROM TPilkarze WHERE klubid = 3 SELECT nazwa FROM TKluby WHERE id = 999 SELECT p.imie, p.nazwisko, k.nazwa FROM TPilkarze as p, TKluby as k WHERE p.klubid = k.id AND k.id = 4 ORDER BY p.nazwisko

Filtrowanie danych warunki wyszukiwania Podstawowe warunki: porównanie (operatory: =, <>, <, >, <=, >=) zakres (BETWEEN AND ) występowanie (IN) wzór (LIKE) % - zastępuje dowolny ciąg znaków _ - zastępuje pojedynczy znak puste wartości (IS NULL) istnienie (EXISTS)

Filtrowanie danych warunki wyszukiwania Przykłady: SELECT * FROM tsedziowie WHERE miasto <> 'Warszawa' SELECT * FROM tmecze WHERE kiedy BETWEEN '2003-08-16' AND '2003-09-13' SELECT * FROM tmecze WHERE kolejka IN ('2', '3', '5') SELECT * FROM tsedziowie WHERE miasto IS NULL SELECT imie, nazwisko FROM tsedziowie WHERE nazwisko LIKE 'G%'

Filtrowanie danych łączenie predykatów Warunki złoŝone buduje się przy pomocy operatorów logicznych AND, OR, NOT Przykłady: SELECT p.imie, p.nazwisko, k.nazwa FROM TPilkarze as p, TKluby as k WHERE p.klubid = k.id AND k.id = 4 ORDER BY p.nazwisko SELECT id FROM TMecze WHERE gospodarz = 5 OR przeciwnik = 5

Proste funkcje agregujące SELECT COUNT (*) wyraŝenie AS alias COUNT SUM AVG MIN MAX FROM nazwa tabeli WHERE warunek wyszukiwania

Proste funkcje agregujące Przykłady: SELECT SUM(widownia) FROM Tmecze SELECT SUM(gol1) + SUM(gol2) FROM TMecze SELECT COUNT(*) FROM TPilkarze, TKluby SELECT COUNT(*) FROM tkartkigole WHERE rodzaj = 'S' SELECT COUNT(*) as ilegoli FROM tkartkigole WHERE rodzaj = 'N' OR rodzaj = 'K' OR rodzaj = 'S'

Zapytania wielotabelowe WaŜne: naleŝy podać wszystkie nazwy tablic w klazuzuli FROM w celu uniknięcia niejednoznaczności naleŝy stosować nazwy kwalifikowane pól (poprzedzone nazwą tabeli lub alias) we frazie WHERE naleŝy umieścić warunek wiąŝący zbiory Nazwa kwalifikowana: np. GoleKartki.rodzaj, TKluby.nazwa Alias tablicy umieszcza się we frazie FROM np. FROM TMecze AS m, TKluby AS k1, TKLuby AS k2

Zapytania wielotabelowe - przykłady Zapytanie SELECT imie, nazwisko, nazwa FROM TPilkarze, TKluby zwraca wszystkie moŝliwe kombinacje rekordów tabel TPilkarze, TKluby w ilości: SELECT COUNT(*) FROM TPilkarze, TKluby czyli iloczyn: SELECT COUNT(*) FROM TPilkarze SELECT COUNT(*) FROM TKluby

Zapytania wielotabelowe - przykłady SELECT COUNT(*) as liczbapilkarzy FROM TPilkarze AS p, TKluby AS k WHERE p.klubid = k.id AND k.id = 4 SELECT p.imie, p.nazwisko, k.nazwa FROM TPilkarze AS p, TKluby AS k WHERE p.klubid = k.id AND p.id = 179 SELECT k1.nazwa, k2.nazwa, m.id FROM TKluby AS k1, TKluby AS k2, TMecze AS m WHERE m.id = 5 AND k1.id = m.gospodarz AND k2.id = m.przeciwnik

Klauzula JOIN nazwa kolumny SELECT FROM nazwa tabeli JOIN nazwa tabeli ON warunek wyszukiwania Klazula JOIN pozwala łączyć ze sobą kilka tabel wykorzystując do tego klucze główne i obce. Dotyczy tylko tych wierszy, które mają swoje odpowiedniki w tabeli komplementarnej.

Klauzula JOIN - przykłady SELECT COUNT(*) as liczbapilkarzy FROM TPilkarze AS p JOIN TKluby AS k ON p.klubid = k.id AND k.id = 4 SELECT p.imie, p.nazwisko, k.nazwa FROM TPilkarze AS p JOIN TKluby AS k ON p.klubid = k.id AND p.id = 179 SELECT imie, nazwisko, nazwa FROM TPilkarze JOIN TKluby ON TPilkarze.klubid = TKluby.id AND TPilkarze.id = 179

Klauzula GROUP BY nazwa kolumny SELECT FROM nazwa tabeli WHERE warunek wyszukiwania GROUP BY nazwa kolumny Przykłady: liczba goli i kartek zdobytych przez kaŝdego z piłkarzy SELECT pilkarzid, COUNT(*) as ile FROM tkartkigole GROUP BY pilkarzid ORDER BY ile DESC liczba goli zdobyta przez kaŝdego z piłkarzy SELECT pilkarzid, COUNT(*) as ile FROM tkartkigole WHERE (rodzaj = 'N' OR rodzaj = 'K') GROUP BY pilkarzid ORDER BY ile DESC

Klauzula GROUP BY - c.d. Co z nazwiskami piłkarzy, jak je uzyskać? SELECT p.imie, p.nazwisko, pilkarzid, COUNT(*) AS ile FROM tkartkigole, TPilkarze AS p WHERE (rodzaj = 'N' OR rodzaj = 'K') AND p.id = pilkarzid GROUP BY pilkarzid ORDER BY ile DESC

Klauzula GROUP BY c. d. Jak uzyskać listę strzelców z danego klubu? SELECT p.imie, p.nazwisko, kl.nazwa, COUNT(*) AS ile FROM tkartkigole AS gol, TPilkarze AS p, TKluby AS kl WHERE gol.rodzaj = 'N' AND p.id = gol.pilkarzid AND kl.id = gol.klubid AND kl.id = 2 GROUP BY gol.pilkarzid ORDER BY ile DESC

Ograniczenie liczby rekordów - LIMIT Klauzula LIMIT ogranicza liczbę jednocześnie wyświetlanych rekordów SELECT * FROM `tmecze` LIMIT 15 zwraca 15 pierwszych rekordów SELECT * FROM `tsklady` LIMIT 105, 15 zwraca 15 kolejnych rekordów pomijając pierwsze 105

Instrukcje modyfikacji tablic INSERT pozwala dopisywać nowe wiersze do tablicy UPDATE - pozwala modyfikować istniejące dane DELETE pozwala usunąć wiersze z tablicy

Instrukcja INSERT INSERT INTO nazwa tabeli, ew. nazwy kolumn VALUES wartości Przykłady: INSERT INTO tkartkigole VALUES ( '1', '1', '266', '7', '28', 'K'); INSERT INTO TPilkarze VALUES ( '114', 'Piotr', 'Soczewka', '2'); INSERT INTO TPilkarze (id, imie, nazwisko) VALUES ( '350', 'Grzegorz', 'Kowalski');

Instrukcja UPDATE UPDATE nazwa tabeli WHERE SET wartości warunek wyszukiwania SET podaje nazwy kolumn i przypisane im nowe wartości WHERE określa, które rekordy mają być modyfikowane Przykłady: UPDATE TPilkarze SET nazwisko = 'Gruszka' WHERE id = 114; UPDATE TPilkarze SET imie = 'Jan', nazwisko = 'Gruszka' WHERE id = 114;

Instrukcja DELETE DELETE FROM nazwa tabeli WHERE warunek wyszukiwania Przykłady: DELETE FROM TPilkarze WHERE id = 350; DELETE FROM TPilkarze WHERE klubid IN (SELECT id FROM tkluby WHERE nazwa LIKE '%Warszawa%');

Tworzenie tabel CREATE TABLE nazwa tabeli WHERE nazwa kolumny=typ Przykłady: CREATE TABLE TPilkarze ( id int(11) NOT NULL auto_increment, imie varchar(75) NOT NULL, nazwisko varchar(75) NOT NULL, klubid int(11), PRIMARY KEY (id), UNIQUE id_2 (id), KEY id (id, imie, nazwisko, klubid) );

Usuwanie tabel DROP TABLE nazwa tabeli Przykłady: DROP TABLE TPilkarze DROP TABLE TMecze DROP TABLE tkartkigole

Klauzula UNION Klauzula UNION słuŝy do łączenia rezultatów dwóch lub więcej instrukcji SELECT w jedną tablicę Łączone instrukcje SELECT muszą spełniać określone warunki: muszą zawierać tę samą liczbe kolumn odpowiednie kolumny ze wszystkich instrukcji SELECT muszą mieć zgodne typy klauzula ORDER BY moŝe wystąpić tylko w ostatniej instrukcji SELECT

Klauzula UNION SELECT * FROM tkartkigole WHERE rodzaj = 'N' UNION SELECT * FROM tkartkigole WHERE rodzaj = 'S'