Język SQL, zajęcia nr 2

Podobne dokumenty
Język SQL, zajęcia nr 1

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

Paweł Rajba

Bazy danych 6. Klucze obce. P. F. Góra

Wykład 8. SQL praca z tabelami 5

Wykład 05 Bazy danych

Relacyjne bazy danych. Podstawy SQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Relacyjne bazy danych. Podstawy SQL

LAB 3 (część 1 Projektu)

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

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

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

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

Autor: Joanna Karwowska

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Systemy GIS Tworzenie zapytań w bazach danych

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

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

SQL (ang. Structured Query Language)

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład 5. SQL praca z tabelami 2

Widok Connections po utworzeniu połączenia. Obszar roboczy

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Projektowanie systemów baz danych

Hurtownia Świętego Mikołaja projekt bazy danych

BAZA DANYCH SIECI HOTELI

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych 7. SQL podstawy

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

Bazy danych. Polecenia SQL

Bazy danych 9. SQL Klucze obce Transakcje

Grupowanie i funkcje agregujące

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

Bazy danych i usługi sieciowe

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

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL podstawy zapytań

Bazy danych 7. Klucze obce Transakcje. P. F. Góra

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

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

Kurs. Podstawy MySQL

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Bazy danych SQL Server 2005

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

Przestrzenne bazy danych Podstawy języka SQL

Wykład 2. SQL 1 Structured Query Lenguage

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

SQL/MySQL. Rafał Kern

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

Bazy danych 10. SQL Widoki

Aspekty aktywne baz danych

Bazy Danych i Usługi Sieciowe

Bazy danych. dr inż. Arkadiusz Mirakowski

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

MS SQL Język definiowania danych (DDL): ćwiczenia

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

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

Podstawy języka SQL cz. 2

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

Bazy danych Ćwiczenia projektowe

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

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

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Ćwiczenie zapytań języka bazy danych PostgreSQL

Bazy danych. Dr inż. Paweł Kasprowski

Baza danych Uczniowie.mdb

Bazy danych 5. Samozłaczenie SQL podstawy

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Internetowe bazy danych

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

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Autor: Joanna Karwowska

Zadania z SQLa (MS SQL Server)

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe

Bazy danych i usługi sieciowe

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

Transkrypt:

Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec

Funkcja agregująca COUNT SELECT COUNT(*) FROM `produkty`; SELECT COUNT(*) AS iloscrekordow FROM `produkty`;

Funkcja agregująca MAX SELECT MAX(cena) FROM `produkty`; SELECT MAX(cena) AS maksymalnacena FROM `produkty`;

Funkcja agregująca MIN SELECT MIN(cena) FROM `produkty`; SELECT MIN(cena) AS minimalnacena FROM `produkty`;

Funkcja agregująca AVG SELECT AVG(cena) FROM `produkty`; SELECT AVG(cena) AS sredniacena FROM `produkty`;

Funkcja agregująca SUM SELECT SUM(cena) FROM `produkty`; SELECT SUM(cena) AS sumacen FROM `produkty`;

Klauzula GROUP BY SELECT AVG( `cena` ) AS sredniacenawkategorii, `kategoria` FROM `produkty` GROUP BY `kategoria`; SELECT AVG( `cena` ) AS sredniacenawkategorii, `kategoria` FROM `produkty` GROUP BY `kategoria` ORDER BY sredniacenawkategorii;

Klauzula HAVING SELECT AVG( `cena` ) AS sredniacenawkategorii, `kategoria` FROM `produkty` GROUP BY `kategoria` HAVING AVG( `cena` ) > 20

Klucze (indeksy) zewnętrzne Mamy dwie tabelki: uzytkownicy, zamowienia. Celem jest połaczyć tabelki w taki sposób, aby zamówienia były przypisane do użytkowników.

Klucze (indeksy) zewnętrzne Aby dodawać klucze zewnętrzne w mysqlu, tabelki muszą posiadać typ innodb, a nie domyślny myisam. CREATE TABLE `zamowienia` ( `id_zamowienia` INT NOT NULL AUTO_INCREMENT, `uzytkownik_id` INT NOT NULL, `data_zamowienia` DATETIME NOT NULL, PRIMARY KEY ( `id_zamowienia` ) ) ENGINE = InnoDB;

Klucze (indeksy) zewnętrzne ALTER TABLE `zamowienia` ADD FOREIGN KEY ( `uzytkownik_id` ) REFERENCES `uzytkownicy` (`id`); Przy czym pole uzytkownik_id musi być wcześniej zdefiniowane jako indeks.

Indeks zewnętrzny próba usunięcia powiązanego wiersza. #1451 - Cannot delete or update a parent row: a foreign key constraint fails (`MEL`.`zamowienia`, CONSTRAINT `zamowienia_ibfk_1` FOREIGN KEY (`uzytkownik_id`) REFERENCES `uzytkownicy` (`id`))

Klucze zewnętrzne ON DELETE, ON UPDATE Można zdefiniować 3 rodzaje akcji na zdarzeniach ON DELETE, ON UPDATE: - RESTRICT (domyślan akcja) - CASCADE - SET NULL

Klucze zewnętrzne ON DELETE CASCADE ALTER TABLE `zamowienia` ADD FOREIGN KEY ( `uzytkownik_id` ) REFERENCES `uzytkownicy` (`id`) ON DELETE CASCADE ;

Klucze zewnętrzne ON DELETE SET NULL ALTER TABLE `zamowienia` ADD FOREIGN KEY ( `uzytkownik_id` ) REFERENCES `uzytkownicy` (`id`) ON DELETE SET NULL ;

Klucze zewnętrzne ON DELETE i ON UPDATE ALTER TABLE `zamowienia` ADD FOREIGN KEY ( `uzytkownik_id` ) REFERENCES `uzytkownicy` ( `id` ) ON DELETE CASCADE ON UPDATE CASCADE;

Wyciąganie danych z dwóch tabel jednocześnie SELECT * FROM `uzytkownicy`, `zamowienia` WHERE `uzytkownicy`.`id` = `zamowienia`.`uzytkownik_id`

JOIN, LEFT JOIN, RIGHT JOIN SELECT * FROM `uzytkownicy` LEFT JOIN `zamowienia` ON `uzytkownicy`.`id` = `zamowienia`.`uzytkownik_id`;

Wyciąganie danych z dwóch tabel jednocześnie z grupowaniem SELECT COUNT( * ) AS ilosczamowienuz, uzytkownicy.id, uzytkownicy.imie, uzytkownicy.nazwisko FROM uzytkownicy, zamowienia WHERE uzytkownicy.id=zamowienia.uzytkownik_id GROUP BY uzytkownicy.id

Ćwiczenie do wykonania 1. Proszę stworzyć trzy tabelki, pierwsza o nazwie xx_studenci (nr_indeksu, imie, nazwisko) druga xx_przedmioty(nr_przedmiotu, nazwa) Trzecia: xx_studenci_przedmioty (nr_przedmiotu, nr_indeksu, ocena_koncowa) Gdzie xx to nr Państwa indeksu. (proszę pamiętać o typie innodb)

Ćwiczenie do wykonania 2. Proszę połączyć tabelki kluczem zewnętrznym z kaskadowym połączeniem na usuwanie oraz aktualizację.

Ćwiczenie do wykonania 3. Proszę wypełnić tabelki danymi 3 studentów oraz przypisać każdemu po 5 ocen.

Ćwiczenie do wykonania 4. Proszę stworzyć zapytanie wyciągające studentów wraz ze wszystkimi ocenami (nazwy przedmiotów także).

5. Proszę wyciągnąć dane zagregowane w taki sposób, żę wyciągają Państwo imię, nazwisko studneta oraz jego średnią, wniki proszę posortować od najwyższej średniej do najmniejszej.

Więcej informacji http://dev.mysql.com/doc/