Relacyjne bazy danych. Podstawy SQL



Podobne dokumenty
Relacyjne bazy danych. Podstawy SQL

Systemy GIS Tworzenie zapytań w bazach danych

Przestrzenne bazy danych Podstawy języka SQL

Wykład 5. SQL praca z tabelami 2

Język SQL, zajęcia nr 1

Wykład 05 Bazy danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Grupowanie i funkcje agregujące

Wykład 6. SQL praca z tabelami 3

Wprowadzenie do języka SQL

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

SQL (ang. Structured Query Language)

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

Paweł Rajba

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Bazy danych. Polecenia SQL

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Język SQL, zajęcia nr 2

Bazy danych. dr inż. Arkadiusz Mirakowski

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

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

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

Autor: Joanna Karwowska

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

Bazy danych 7. SQL podstawy

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)

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

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

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

ACESS- zadania z wykorzystaniem poleceń SQL

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

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

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

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

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

Bazy danych SQL Server 2005

Język SQL. Rozdział 2. Proste zapytania

Jerzy Nawrocki, Wprowadzenie do informatyki

Oracle11g: Wprowadzenie do SQL

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

Wprowadzenie do baz danych

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

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

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

Zadania z SQLa (MS SQL Server)

SQL Structured Query Language

Struktura drzewa w MySQL. Michał Tyszczenko

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wykład 8. SQL praca z tabelami 5

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

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

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

Bazy danych. Dr inż. Paweł Kasprowski

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

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

Kurs. Podstawy MySQL

Bazy Danych i Usługi Sieciowe

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

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

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

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

Bazy danych 5. Samozłaczenie SQL podstawy

PODZAPYTANIE (SUBSELECT)

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

Bazy danych i usługi sieciowe

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

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

Przykładowa baza danych BIBLIOTEKA

Język SQL podstawy zapytań

LAB 3 (część 1 Projektu)

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

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Microsoft SQL Server Podstawy T-SQL

3. Podzapytania, łączenie tabel i zapytań

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

Wstęp do relacyjnych baz danych. Jan Bartoszek

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

Projektowanie systemów baz danych

Technologie baz danych

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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 WHERE GROUP BY nazwa kolumny nazwa tabeli 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 SELECT DISTINCT nazwa kolumny FROM nazwa tabeli Przykłady: SELECT DISTINCT kolejka FROM TMecze;

Sortowanie rekordów SELECT nazwa kolumny FROM nazwa tabeli ORDER BY Przykłady: nazwa kolumny ASC 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 ASm, TKluby ASk1, TKLuby ASk2;

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;; SELECTnazwa FROMTKluby WHEREid = 999 SELECTp.imie, p.nazwisko, k.nazwa FROMTPilkarze as p, TKluby as kwherep.klubid = k.id ANDk.id = 4ORDERBY 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* FROMtmecze WHEREkolejkaIN("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: SELECTp.imie, p.nazwisko, k.nazwa FROMTPilkarze as p, TKluby as kwherep.klubid = k.id ANDk.id = 4ORDERBY p.nazwisko; SELECTid FROMTMecze WHEREgospodarz = 5 ORprzeciwnik = 5;

Proste funkcje agregujące wyrażenie SELECT AS alias COUNT (*) 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"; SELECTCOUNT(*)as ilegolifromtkartkigolewhererodzaj = "N"ORrodzaj = "K"ORrodzaj = "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. FROMTMecze ASm, TKluby ASk1, TKLuby ASk2

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 ASkWHEREp.klubid = k.id ANDk.id = 4 SELECTp.imie, p.nazwisko, k.nazwa FROMTPilkarze ASp, TKluby ASkWHEREp.klubid = k.id ANDp.id = 179 SELECTk1.nazwa, k2.nazwa, m.idfromtkluby ASk1, TKluby ASk2, TMecze ASmWHEREm.id = 5 ANDk1.id = m.gospodarz AND k2.id = m.przeciwnik

Klauzula JOIN SELECT nazwa kolumny FROM nazwa tabeli JOIN nazwa tabeli ON warunek wyszukiwania Klazula JOINpozwala łą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 INNER JOIN - przykłady SELECT COUNT(*) as liczbapilkarzy FROM TPilkarze AS p INNER JOINTKluby ASkONp.klubid = k.id ANDk.id = 4; SELECT p.imie, p.nazwisko, k.nazwa FROM TPilkarze AS p INNER JOINTKluby ASkONp.klubid = k.id ANDp.id = 179; SELECT imie, nazwisko, nazwa FROM TPilkarze INNER JOIN TKluby ONTPilkarze.klubid = TKluby.id ANDTPilkarze.id = 179

Klauzula GROUP BY SELECT nazwa kolumny 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 BYpilkarzidORDER BYile DESC liczba goli zdobyta przez każdego z piłkarzy SELECT pilkarzid, COUNT(*) AS ile FROM tkartkigole WHERE (rodzaj = "N" ORrodzaj = "K")GROUPBYpilkarzidORDER BY ile DESC

Klauzula GROUP BY -c.d. Co z nazwiskami piłkarzy, jak je uzyskać? SELECT p.imie, p.nazwisko, pilkarzid, COUNT(*) ASile FROM tkartkigole, TPilkarze AS p WHERE (rodzaj = "N" ORrodzaj = "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 ASgol, TPilkarze ASp, TKluby ASkl 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: INSERTINTOtKartkiGole VALUES( "1", "1","266","7", "28","K"); INSERTINTOTPilkarze VALUES( "114","Piotr", "Soczewka","2"); INSERTINTOTPilkarze(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: UPDATETPilkarze SETnazwisko = "Gruszka" WHEREid = 114; UPDATETPilkarze SETimie = "Jan", nazwisko = "Gruszka" WHERE id = 114;

Instrukcja DELETE DELETE FROM nazwa tabeli WHERE warunek wyszukiwania Przykłady: DELETE FROM TPilkarze WHERE id = 350; DELETEFROMTPilkarze WHEREklubid IN(SELECTid 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";