1 / 36

MySQL

MySQL. Aleksander Nowacki Wojciech Nowak. Wprowadzenie.

macey-wise
Download Presentation

MySQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MySQL Aleksander Nowacki Wojciech Nowak

  2. Wprowadzenie Język SQL (Structured Query Language) służy do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem uniwersalnym, dzięki czemu praca na różnych systemach baz danych sprowadza się do wydawania tych samych lub podobnych komend tzw. zapytań SQL. Język SQL został zaimplementowany w większości relacyjnych systemów baz danych takich jak: DB2, Oracle, InterBase, MySQL, dBase, Paradox.

  3. Składnię języka SQL można podzielić na trzy części: • język definiowania struktur danych - DDL (Data Definition Language) - jest wykorzystywany do wszelkiego rodzaju operacji na tabelach, takich jak: tworzenie, modyfikacja oraz usuwanie • język do wybierania i manipulowania danymi - DML (Data Manipulation Language) - służy do manipulowania danymi umieszczonymi w tabelach, pozwala na wstawienie danych, ich prezentację, modyfikowanie oraz usuwanie • język do zapewnienia bezpieczeństwa dostępu do danych - DCL (Data Control Language) - jest używany głównie przez administratorów systemu baz danych do nadawania odpowiednich uprawnień do korzystania z bazy danych.

  4. Relacyjny system baz danych Relacyjny system baz danych przechowuje wszystkie dane w tabelach. Każda tabela zawiera dane na konkretny temat, np. dane o klientach, pracownikach, towarach itp. System bazy danych zarządza tymi informacjami, pozwala m.in. na szybsze ich wyszukiwanie i zorganizowanie. Za każdym razem, kiedy potrzebujemy informacji z bazy danych, musimy "zapytać" system bazy danych w zrozumiałym dla niego języku. Tym językiem jest SQL.

  5. Co to jest MySQL? MySQL jest najpopularniejszym darmowym systemem obsługi baz danych rozpowszechnianym na zasadach licencji GPL (General Public License). Jego nowatorska budowa pozwoliła na stworzenie niezwykle szybkiego i niezawodnego serwera obsługującego bazy danych.

  6. Połączenie z bazą danych MySQL Aby połączyć się z serwerem baz danych potrzebujemy specjalnego programu tzw. klienta lub języka skryptowego (umieszczanego na serwerach WWW), który posiada wbudowaną obsługę baz danych. Bardzo dobrym narzędziem, które może okazać się przydatne podczas nauki SQL, jest panel administracyjny do baz danych - phpMyAdmin.

  7. phpMyAdmin

  8. Typy danych w MySQL

  9. Typy danych w MySQL (2)

  10. Tworzenie nowej bazy danych Aby dodać nowa bazę danych, wystarczy posłużyć się następującym poleceniem: CREATE DATABASE `nazwa_bazy`;

  11. Struktura MySQL Każda kolumna tabeli posiada nazwę i zawiera inny rodzaj danych. Każdej kolumnie przypisany jest typ danych. Każdy wiersz zawiera zbiór pojedynczych wartości odpowiadających kolumnom. Każda z tych wartości musi być tego samego typu, jaki przypisano kolumnie, w której się znajduje. Każdy wiersz tabeli odpowiada innemu klientowi. Format tabelaryczny powoduje, że każdy wiersz ma te same atrybuty.

  12. Co to są tabele? Tabele zawierają pola, które określają, jakie dane będzie zawierał pojedynczy rekord (inaczej: wiersz). Jeśli chcemy utworzyć tabelę przechowującą dane o pracownikach, trafią do niej pola typu: imię, nazwisko, data_urodzenia, płaca. Jeden z rekordów będzie wyglądał następująco: 'Jan', 'Kowalski', '2002-07-20', '1200.00'. Już na pierwszy rzut oka widać, że podane dane są różnego typu. Imię inazwisko to dane tekstowe, data_urodzenia to pole zawierające w sobie datę, płaca reprezentuje dane liczbowe.

  13. Tworzenie tabel Do utworzenia tabeli służy polecenie SQL CREATE TABLE: CREATE TABLE nazwa_tabeli struktura_tabeli;

  14. Tworzenie tabel Każda tabela powinna posiadać swoją nazwę. Definiujemy ją w miejscu nazwa_tabeli. W miejsce struktura_tabeli wstawiamy dokładną specyfikację poszczególnych pól, jakie powinna zawierać tabela. Polecenie SQL dla przykładu podanego wyżej będzie wyglądać następująco:

  15. Tworzenie tabel CREATE TABLE pracownicy (  imie VARCHAR(30),   nazwisko VARCHAR(30),  data_urodzenia DATE DEFAULT '1950-01-01',   placa DECIMAL(10,2) DEFAULT '1000.00');

  16. Tworzenie tabel Struktura utworzonej tabeli:

  17. Wstawianie danych do tabeli Po utworzeniu tabeli należy wypełnić ją danymi.  Służy do tego polecenie INSERT. INSERT INTO nazwa_tabeli [(kolumna1, kolumna2, kolumna3, …)] VALUES (wartosc1,wartosc2, wartosc3,…); Polecenie SQL dla powyższego przykładu będzie wyglądać następująco: INSERT INTO pracownicy VALUES ('Jan', 'Kowalski', '2002-07-20', '1200.00'); INSERT INTO pracownicy VALUES ('Aleksander', 'Borowiecki', '1952-08-06',  '1500.34'); INSERT INTO pracownicy VALUES ('Aniela', 'Michalkowska', '1970-05-23', '854.29'); INSERT INTO pracownicy VALUES ('Katarzyna', 'Kowalska', '2002-07-02', '1200.00'); INSERT INTO pracownicy (imie, nazwisko) VALUES ('Izabela', 'Kwiatkowska');

  18. Wstawianie danych do tabeli

  19. Modyfikacja danych Poleceniem INSERT można wstawiać nowe dane do istniejącej tabeli. Do modyfikacji danych już wcześniej umieszczonych w tabeli służy polecenie UPDATE. Po słowie kluczowym SET podajemy kolejno (po przecinku) nazwy kolumn wraz z nowymi wartościami, jakie powinny przyjąć. UPDATE nazwa_tabeli SET nazwa_pola='nowa_wartość'; UPDATE pracownicy SET imie='Zofia';

  20. Modyfikacja danych Nie jest to najczęściej pożądana sytuacja. Zazwyczaj chcemy zmienić dane dotyczące tylko jednego lub wybranych rekordów. Do określenia, czego ma dotyczyć zmiana służy klauzula WHERE podawana na końcu polecenia UPDATE. W celu zmiany imienia tylko dla Izabeli Kwiatkowskiej polecenie UPDATE będzie wyglądać następująco: UPDATE pracownicy SET imie='Zofia‘ WHERE nazwisko='Kwiatkowska';

  21. Pobieranie danych z tabeli Aby pobrać dane zapisane w tabeli należy użyć zapytania SELECT. Jego postać ogólna prezentuje się następująco: SELECT co_zaprezentować FROM nazwa_tabeli [WHERE warunki_wyszukiwania] [ORDER BY sortowanie [ASC | DESC], ...] [LIMIT [ofset,] ilość_wierszy]; W miejscu co_zaprezentować należy podać (po przecinku) listę kolumn, które chcemy zawrzeć w zestawieniu. W miejscu nazwa_tabeli podaje się nazwę tabeli, z której pobiera się dane. W celu wybrania trzech kolumn do zestawienia z tabeli pracownicy należy wykonać polecenie np. SELECT imie, nazwisko, placa FROM pracownicy; w celu wybrania wszystkich kolumn: SELECT * FROM pracownicy;

  22. Pobieranie danych z tabeli

  23. Klauzula where w poleceniu select Dzięki klauzuli WHERE jesteśmy w stanie wpłynąć na zakres prezentowanych danych. Dzięki niej możemy dokładnie definiować, co chcemy uzyskać swoim zapytaniem. Specyfikując dokładne warunki wyszukiwania można z tabeli zawierającej setki tysięcy rekordów wybrać tylko kilka interesujących w danym momencie informacji. Stosując operatory przyrównania można dokładnie określić, jakie informacje chcemy pobrać. Dozwolone w MySQL operatory przyrównania to: • = równe • > większe • >= większe równe • < mniejsze • <= mniejsze równe • <> lub != różne • LIKE służy głównie do porównywania danych łańcuchowych

  24. Przykłady zastosowania klauzuli where SELECT * FROM pracownicy WHERE placa >= 1000;

  25. Przykłady zastosowania klauzuli where SELECT * FROM pracownicy WHERE nazwisko LIKE 'K%'; Dzięki zastosowaniu znaków globalnych (% i _) istnieje możliwość przyrównania do dowolnego ciągu znaków. Znak '%' (procent) zastępuje dowolną ilość znaków. Znak '_' (podkreślenie) zastępuje dokładnie jeden znak.

  26. Łączenie warunków w klauzuli where Warunki wyboru podawane za WHERE można łączyć ze sobą stosując operatory AND oraz OR. Dzięki temu istnieje możliwość zbudowania zapytania bardziej złożonego, a co za tym idzie bardziej dokładnego. W momencie zastosowania operatora AND wszystkie połączone tak warunki muszą zostać spełnione, aby w wyniku pojawił się dany rekord. Jeżeli zastosujemy do połączenia warunków operator OR - wówczas może zostać spełniony tylko jeden z warunków wchodzących w skład zapytania. Wydając zapytanie: SELECT * FROM pracownicy WHERE (placa > 500 AND placa < 1000) OR nazwisko = 'Kowalski'; spowodujemy wyświetlenie w wyniku wszystkich pracowników, których płaca mieści się w zakresie 500-1000 oraz pracowników o nazwisku 'Kowalski‘.

  27. Sortowanie wyników zapytania Dane w tabeli mogą być przechowywane w dowolnej kolejności. Można jednak spowodować ich pobranie w ściśle określonym porządku. Kolumny, według których MySQL ma posortować dane podaje się po klauzuli ORDER BY oddzielone przecinkami. Chcąc więc uszeregować listę pracowników rosnąco według nazwiska i malejąco według płacy należy wpisać następujące polecenie: SELECT * FROM pracownicy ORDER BY nazwisko ASC, placa DESC; ASC oznacza sortowanie rosnąco według podanego pola, DESC natomiast oznacza sortowanie malejące.

  28. Klauzula limit Użycie klauzuli LIMIT powoduje wyświetlenie jedynie części rekordów. Aby pobrać dwa pierwsze rekordy należy napisać: SELECT * FROM pracownicy LIMIT 2;

  29. Dodatkowe funkcje w MySQL

  30. Dodatkowe funkcje w MySQL Przykład zastosowania funkcji AVG: Średnia płaca pracowników wynosi 1150.93 zł.

  31. Usuwanie danych z tabeli Do usunięcia danych z tabeli służy polecenie DELETE. Aby usunąć wszystkie dane z tabeli należy wydać polecenie: DELETE FROM nazwa_tabeli; Można użyć także opisywanego już wcześniej warunku wyboru, dzięki któremu specyfikujemy dane przeznaczone do usunięcia. Aby usunąć z przykładowej tabeli pracownicy wszystkie rekordy, w których płaca jest wyższa od 1000 należy wydać następujące polecenie: DELETE FROM pracownicy WHERE placa > 1000;

  32. Usuwanie danych z tabeli Do modyfikacji struktury tabeli służy polecenie ALTER TABLE. Zmodyfikowanie struktury tabeli zawierającej już jakieś dane spowoduje próbę podporządkowania istniejących danych nowemu formatowi. Dzięki temu poleceniu można dodawać, modyfikować, usuwać pola oraz manipulować indeksami. Ogólna postać polecenia przedstawia się następująco: ALTER TABLE nazwa_tabeli specyfikacja_struktury; W miejscu specyfikacja_struktury podajemy dokładną operację, jaką chcemy wykonać na danej tabeli. Aby dodać kolejne pole do istniejącej tabeli należy użyć polecenia: ALTER TABLE pracownicy ADD rozmiar_buta VARCHAR(10); Spowoduje to dodanie jednego pola o nazwie rozmiar_buta na końcu struktury tabeli.

  33. Usuwanie tabeli Do usunięcia tabeli służy proste polecenie: DROP TABLE nazwa_tabeli; Spowoduje to usunięcie tabeli wraz ze wszystkimi umieszczonymi w niej danymi.

  34. Łączenie MySQLa z PHP Funkcja języka PHP, nawiązująca połączenie z serwerem MySQL, wygląda następująco: • $db = mysql_connect ("adres", "użytkownik", "hasło"); Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować: • mysql_select_db ("baza"); Po poprawnym połączeniu się z bazą danych można przystąpić do wydawania poleceń języka SQL. Funkcję PHP wysyłającą zapytanie SQL do serwera wywołuje się następująco: • $wynik_zapytania = mysql_query ("zapytanie_SQL"); Po zakończonej pracy z bazą danych należy użyć funkcji: • mysql_close ($db);

  35. Zadanie Wypisz trzy imiona, nazwiska i płace z zarobkami większymi od 500 i mniejszymi niż 1200, uszeregowanymi po nazwisku. HELP!

  36. To już koniec  Dziękujemy za uwagę.

More Related