36
MySQL MySQL Aleksander Nowacki Aleksander Nowacki Wojciech Nowak Wojciech Nowak

MySQL

Embed Size (px)

DESCRIPTION

MySQL. Aleksander Nowacki Wojciech Nowak. Wprowadzenie. - PowerPoint PPT Presentation

Citation preview

MySQLMySQL

Aleksander NowackiAleksander Nowacki

Wojciech NowakWojciech Nowak

WprowadzenieWprowadzenie

Język Język SQLSQL ( (Structured Query LanguageStructured Query Language) służy ) służy do manipulowania danymi umieszczonymi w do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem relacyjnych bazach danych. Jest językiem uniwersalnymuniwersalnym, dzięki czemu praca na różnych , dzięki czemu praca na różnych systemach baz danych sprowadza się do systemach baz danych sprowadza się do wydawania tych samych lub podobnych wydawania tych samych lub podobnych komend tzw. komend tzw. zapytań SQLzapytań SQL. Język SQL został . Język SQL został zaimplementowany w większości relacyjnych zaimplementowany w większości relacyjnych systemów baz danych takich jak: systemów baz danych takich jak: DB2DB2, , OracleOracle, , InterBaseInterBase, , MySQLMySQL, , dBasedBase, , ParadoxParadox. .

Składnię języka SQL można Składnię języka SQL można podzielić na trzy części: podzielić na trzy części:

język definiowania struktur danychjęzyk definiowania struktur danych - DDL ( - DDL (Data Data Definition LanguageDefinition Language) - jest wykorzystywany do wszelkiego ) - jest wykorzystywany do wszelkiego rodzaju operacji na tabelach, takich jak: tworzenie, rodzaju operacji na tabelach, takich jak: tworzenie, modyfikacja oraz usuwaniemodyfikacja oraz usuwanie

język do wybierania i manipulowania danymijęzyk do wybierania i manipulowania danymi - DML - DML

((Data Manipulation LanguageData Manipulation Language) - służy do manipulowania ) - służy do manipulowania danymi umieszczonymi w tabelach, pozwala na wstawienie danymi umieszczonymi w tabelach, pozwala na wstawienie danych, ich prezentację, modyfikowanie oraz usuwaniedanych, ich prezentację, modyfikowanie oraz usuwanie

język do zapewnienia bezpieczeństwa dostępu do język do zapewnienia bezpieczeństwa dostępu do danychdanych - DCL ( - DCL (Data Control LanguageData Control Language) - jest używany ) - jest używany głównie przez administratorów systemu baz danych do głównie przez administratorów systemu baz danych do nadawania odpowiednich uprawnień do korzystania z bazy nadawania odpowiednich uprawnień do korzystania z bazy danych.danych.

Relacyjny system baz Relacyjny system baz danych danych

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

Co to jest MySQL?Co to jest MySQL?

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

Połączenie z bazą Połączenie z bazą danych MySQLdanych MySQL

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

phpMyAdminphpMyAdmin

Typy danych w MySQL Typy danych w MySQL TINYINTTINYINT 1-bajtowe pole, przechowujące wartości całkowite bez znaku z przedziału od 0 do 255 1-bajtowe pole, przechowujące wartości całkowite bez znaku z przedziału od 0 do 255

lub ze znakiem z przedziału od -127 do 127lub ze znakiem z przedziału od -127 do 127

SMALLINTSMALLINT 2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do 65 535 lub ze znakiem 2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do 65 535 lub ze znakiem od -32 768 do 32 768od -32 768 do 32 768

MEDIUMINTMEDIUMINT 3-bajtowa wartość całkowita. Zakres wartości od 0 do 16 777 215 lub ze znakiem od -8 3-bajtowa wartość całkowita. Zakres wartości od 0 do 16 777 215 lub ze znakiem od -8 388 608 do 8 388 608388 608 do 8 388 608

INTINT 4-bajtowa wartość całkowita. Zakres wartości ze znakiem od -2 147 483 648 do 2 147 4-bajtowa wartość całkowita. Zakres wartości ze znakiem od -2 147 483 648 do 2 147 483 647 lub bez znaku od 0 do 4 294 967 295483 647 lub bez znaku od 0 do 4 294 967 295

BIGINTBIGINT 8-bajtowa wartość całkowita. Typ BIGINT jest używany podczas przeprowadzania 8-bajtowa wartość całkowita. Typ BIGINT jest używany podczas przeprowadzania obliczeń. Stosując pola tego typu we własnej bazie danych należy uważać, aby ich obliczeń. Stosując pola tego typu we własnej bazie danych należy uważać, aby ich wartości nie były zbyt duże, ponieważ użyte w obliczeniach mogą doprowadzić do błędu wartości nie były zbyt duże, ponieważ użyte w obliczeniach mogą doprowadzić do błędu przepełnieniaprzepełnienia

FLOAT(dokładFLOAT(dokładność)ność)

Liczba zmiennoprzecinkowa z precyzją wyrażaną liczbą bajtów. Dwie wartości Liczba zmiennoprzecinkowa z precyzją wyrażaną liczbą bajtów. Dwie wartości akceptowane jako precyzja to 4 i 8. Użycie 4 tworzy liczbę zmiennoprzecinkową o akceptowane jako precyzja to 4 i 8. Użycie 4 tworzy liczbę zmiennoprzecinkową o pojedynczej precyzji, natomiast 8 - liczbę zmiennoprzecinkową o podwójnej precyzji. pojedynczej precyzji, natomiast 8 - liczbę zmiennoprzecinkową o podwójnej precyzji. Szczegóły dotyczące tych dwóch typów danych opisują pola FLOAT i DOUBLESzczegóły dotyczące tych dwóch typów danych opisują pola FLOAT i DOUBLE

FLOATFLOAT 4-bajtowa liczba zmiennoprzecinkowa z zakresu od -1.402823466E+38 do -4-bajtowa liczba zmiennoprzecinkowa z zakresu od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+381.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38

DOUBLEDOUBLE 8-bajtowa liczba zmiennoprzecinkowa przechowująca wartości z zakresu od -8-bajtowa liczba zmiennoprzecinkowa przechowująca wartości z zakresu od -1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i 1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i 2.2250738585072014E-308 do 1.7976931348623157E+3082.2250738585072014E-308 do 1.7976931348623157E+308

DATEDATE Data (bez czasu), wyświetlana w formacie RRRR-MM-DD. Akceptuje daty w różnych Data (bez czasu), wyświetlana w formacie RRRR-MM-DD. Akceptuje daty w różnych formatach z zakresu od 1000-01-01 do 9999-12-31formatach z zakresu od 1000-01-01 do 9999-12-31

Typy danych w MySQL Typy danych w MySQL (2)(2)

DATETIMEDATETIME Pole daty z czasem dnia wyświetlane według formatu RRRR-MM-DD GG:MM:SS. Może Pole daty z czasem dnia wyświetlane według formatu RRRR-MM-DD GG:MM:SS. Może przechowywać wartości z zakresu od 1000-01-01 00:00:00 do 9999-12-31 23:59:59przechowywać wartości z zakresu od 1000-01-01 00:00:00 do 9999-12-31 23:59:59

TIMESTAMPTIMESTAMP Data i czas liczony od początku epoki systemu UNIX, 1970-01-01 00:00:00, do Data i czas liczony od początku epoki systemu UNIX, 1970-01-01 00:00:00, do momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty ulegnie przepełnieniu w roku 2037. Jeśli polu temu nie została nadana wartość przez ulegnie przepełnieniu w roku 2037. Jeśli polu temu nie została nadana wartość przez wyrażenie INSERT lub UPDATE, domyślnie otrzyma ono wartość daty bieżącejwyrażenie INSERT lub UPDATE, domyślnie otrzyma ono wartość daty bieżącej

TIMETIME Czas mieszczący się w przedziale od -838:59:59 do 838:59:59Czas mieszczący się w przedziale od -838:59:59 do 838:59:59

YEARYEAR Rok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość 0000. MySQL Rok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość 0000. MySQL wyświetla wartość typu YEAR w formacie RRRRwyświetla wartość typu YEAR w formacie RRRR

CHARCHAR Pole znakowe o stałej długości z zakresu od 1 do 255 bajtów. Po wstawieniu wartości Pole znakowe o stałej długości z zakresu od 1 do 255 bajtów. Po wstawieniu wartości puste miejsca pola CHAR są uzupełniane z prawej strony spacjamipuste miejsca pola CHAR są uzupełniane z prawej strony spacjami

VARCHARVARCHAR Pole znakowe o zmiennej długości z zakresu od 1 do 255 bajtów. Zajmowany jest Pole znakowe o zmiennej długości z zakresu od 1 do 255 bajtów. Zajmowany jest jedynie taki obszar pamięci, jakiego wymaga wartość wstawiona w to polejedynie taki obszar pamięci, jakiego wymaga wartość wstawiona w to pole

TINYBLOB, TINYBLOB, TINYTEXTTINYTEXT

Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtówKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtów

BLOB, TEXTBLOB, TEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 65 535 bajtówKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 65 535 bajtów

MEDIUMBLOB, MEDIUMBLOB, MEDIUMTEXTMEDIUMTEXT

Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 16 777 215 bajtówKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 16 777 215 bajtów

LONGBLOB, LONGBLOB, LONGTEXTLONGTEXT

Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 4 294 967 295 bajtówKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 4 294 967 295 bajtów

Tworzenie nowej bazy Tworzenie nowej bazy danychdanych

Aby dodać nowa bazę danych, Aby dodać nowa bazę danych, wystarczy posłużyć się wystarczy posłużyć się następującym poleceniem:następującym poleceniem:

CREATE DATABASE `nazwa_bazy`;CREATE DATABASE `nazwa_bazy`;

Struktura MySQLStruktura MySQL

Baza danych

Tabele

Kolumny Wiersze

Wartości

Każda kolumna tabeli posiada nazwę i zawiera inny rodzaj danych. Każdej kolumnie przypisany jest typ danych.

Każdy wiersz tabeli odpowiada innemu klientowi. Format tabelaryczny powoduje, że każdy wiersz ma te same atrybuty.

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.

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

Tworzenie tabelTworzenie tabel

Do utworzenia tabeli służy polecenie SQL Do utworzenia tabeli służy polecenie SQL

CREATE TABLECREATE TABLE::

CREATE TABLE nazwa_tabeli struktura_tabeli;

Tworzenie tabelTworzenie tabel

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

Tworzenie tabelTworzenie tabel

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

Tworzenie tabelTworzenie tabel

Struktura utworzonej tabeli:

Wstawianie danych do Wstawianie danych do tabeli 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');

Wstawianie danych do Wstawianie danych do tabelitabeli

Modyfikacja danych Modyfikacja danych

Poleceniem Poleceniem INSERTINSERT można wstawiać nowe dane do można wstawiać nowe dane do istniejącej tabeli. Do modyfikacji danych już istniejącej tabeli. Do modyfikacji danych już wcześniej umieszczonych w tabeli służy polecenie wcześniej umieszczonych w tabeli służy polecenie UPDATEUPDATE. .

Po słowie kluczowym Po słowie kluczowym SETSET podajemy kolejno (po podajemy kolejno (po przecinku) nazwy kolumn wraz z nowymi przecinku) nazwy kolumn wraz z nowymi wartościami, jakie powinny przyjąć.wartościami, jakie powinny przyjąć.

UPDATE pracownicy SET imie='Zofia';

UPDATE nazwa_tabeli SET nazwa_pola='nowa_wartość';

Modyfikacja danychModyfikacja danych

Nie jest to najczęściej pożądana sytuacja. Nie jest to najczęściej pożądana sytuacja. Zazwyczaj chcemy zmienić dane dotyczące Zazwyczaj chcemy zmienić dane dotyczące tylko jednego lub wybranych rekordów. Do tylko jednego lub wybranych rekordów. Do określenia, czego ma dotyczyć zmiana określenia, czego ma dotyczyć zmiana służy klauzula służy klauzula WHEREWHERE podawana na końcu podawana na końcu polecenia UPDATE. polecenia UPDATE.

W celu zmiany imienia tylko dla Izabeli W celu zmiany imienia tylko dla Izabeli Kwiatkowskiej polecenie UPDATE będzie Kwiatkowskiej polecenie UPDATE będzie wyglądać następująco: wyglądać następująco:

UPDATE pracownicy SET imie='Zofia‘UPDATE pracownicy SET imie='Zofia‘WHERE nazwisko='Kwiatkowska';WHERE nazwisko='Kwiatkowska';

Pobieranie danych z Pobieranie danych z tabelitabeli

Aby pobrać dane zapisane w tabeli należy użyć zapytaniaAby pobrać dane zapisane w tabeli należy użyć zapytania

SELECT. Jego postać ogólna prezentuje się następująco:SELECT. Jego postać ogólna prezentuje się następująco:

SELECT co_zaprezentować FROM nazwa_tabeli SELECT co_zaprezentować FROM nazwa_tabeli

[WHERE warunki_wyszukiwania][WHERE warunki_wyszukiwania]

[ORDER BY sortowanie [ASC | DESC], ...][ORDER BY sortowanie [ASC | DESC], ...]

[LIMIT [ofset,] ilość_wierszy];[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;

Pobieranie danych z Pobieranie danych z tabelitabeli

Klauzula where w Klauzula where w poleceniu selectpoleceniu select

= = równerówne > > większewiększe >= >= większe równewiększe równe < < mniejszemniejsze <= <= mniejsze równemniejsze równe <> lub != <> lub != różneróżne LIKE LIKE służy głównie do porównywania danych łańcuchowychsłuży głównie do porównywania danych łańcuchowych

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:

Przykłady Przykłady zastosowania klauzuli zastosowania klauzuli wherewhereSELECT * FROM pracownicy WHERE placa >= 1000;SELECT * FROM pracownicy WHERE placa >= 1000;

Przykłady Przykłady zastosowania klauzuli zastosowania klauzuli wherewhere SELECT * FROM pracownicy WHERE nazwisko LIKE 'K%';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.

Łączenie warunków w Łączenie warunków w klauzuli whereklauzuli whereWarunki 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‘.

Sortowanie wyników Sortowanie wyników zapytaniazapytania

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.

Klauzula limitKlauzula limitUżycie klauzuli LIMIT powoduje wyświetlenie jedynie części rekordów. Aby pobrać dwa pierwsze rekordy należy napisać:

SELECT * FROM pracownicy LIMIT 2;

Dodatkowe funkcje w Dodatkowe funkcje w MySQLMySQL

NazwaNazwa OpisOpis

AVG(kolumna)AVG(kolumna) Oblicza wartość średnią we wskazanej kolumnie.Oblicza wartość średnią we wskazanej kolumnie.

COUNT(kolumnaCOUNT(kolumna))

Zwraca liczbę niezerowych wartości w podanej Zwraca liczbę niezerowych wartości w podanej kolumnie. Jeżeli nazwa kolumny jest poprzedzona kolumnie. Jeżeli nazwa kolumny jest poprzedzona słowem kluczowym DISTINCT, to funkcja zwróci słowem kluczowym DISTINCT, to funkcja zwróci tylko ilość występujących w niej odrębnych tylko ilość występujących w niej odrębnych wartości. Jeżeli zamiast nazwy konkretnej kolumny wartości. Jeżeli zamiast nazwy konkretnej kolumny wpisany zostanie symbol *, wówczas funkcja wpisany zostanie symbol *, wówczas funkcja zwróci wartość równą licznie wierszy w tabeli.zwróci wartość równą licznie wierszy w tabeli.

MIN(kolumna)MIN(kolumna) Podaje najmniejszą wartość w kolumnie.Podaje najmniejszą wartość w kolumnie.

MAX(kolumna)MAX(kolumna) Podaje największą wartość w kolumnie.Podaje największą wartość w kolumnie.

STD(kolumna)STD(kolumna) Oblicza odchylenie standardowe wartości w Oblicza odchylenie standardowe wartości w kolumnie.kolumnie.

SUM(kolumna)SUM(kolumna) Sumuje wszystkie wartości z kolumnySumuje wszystkie wartości z kolumny

Dodatkowe funkcje w Dodatkowe funkcje w MySQLMySQL

Przykład zastosowania funkcji AVG:

Średnia płaca pracowników wynosi 1150.93 zł.

Usuwanie danych z tabeli Usuwanie danych z tabeli

Do usunięcia danych z tabeli służy polecenie Do usunięcia danych z tabeli służy polecenie DELETEDELETE. Aby. Abyusunąć wszystkie dane z tabeli należy wydać polecenie: usunąć wszystkie dane z tabeli należy wydać polecenie:

DELETE FROM nazwa_tabeli;DELETE FROM nazwa_tabeli;

Można użyć także opisywanego już wcześniej Można użyć także opisywanego już wcześniej warunkuwarunkuwyboruwyboru, dzięki któremu specyfikujemy dane przeznaczone, dzięki któremu specyfikujemy dane przeznaczonedo usunięcia. Aby usunąć z przykładowej tabeli do usunięcia. Aby usunąć z przykładowej tabeli pracownicypracownicywszystkie rekordy, w których płaca jest wyższa od 1000wszystkie rekordy, w których płaca jest wyższa od 1000należy wydać następujące polecenie:należy wydać następujące polecenie:

DELETE FROM pracownicy WHERE placa > 1000;DELETE FROM pracownicy WHERE placa > 1000;

Usuwanie danych z tabeliUsuwanie danych z tabeli

Do modyfikacji struktury tabeli służy polecenie Do modyfikacji struktury tabeli służy polecenie ALTER TABLEALTER TABLE..

Zmodyfikowanie struktury tabeli zawierającej już jakieś dane spowoduje Zmodyfikowanie struktury tabeli zawierającej już jakieś dane spowoduje próbępróbę

podporządkowania istniejących danych nowemu formatowi. Dzięki temupodporządkowania istniejących danych nowemu formatowi. Dzięki temu

poleceniu można dodawać, modyfikować, usuwać pola oraz manipulowaćpoleceniu można dodawać, modyfikować, usuwać pola oraz manipulować

indeksami. Ogólna postać polecenia przedstawia się następująco: indeksami. Ogólna postać polecenia przedstawia się następująco:

ALTER TABLE nazwa_tabeli specyfikacja_struktury;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.

Usuwanie tabeliUsuwanie tabeli

Do usunięcia tabeli służy proste polecenie: Do usunięcia tabeli służy proste polecenie:

DROP TABLE nazwa_tabeli;DROP TABLE nazwa_tabeli;

Spowoduje to usunięcie tabeli wraz zeSpowoduje to usunięcie tabeli wraz ze

wszystkimi umieszczonymi w niej danymi.wszystkimi umieszczonymi w niej danymi.

Łączenie MySQLa z PHPŁączenie MySQLa z PHPFunkcja języka PHPFunkcja języka PHP, nawiązująca połączenie z serwerem MySQL, , nawiązująca połączenie z serwerem MySQL, wygląda następująco: wygląda następująco:

$db = mysql_connect ("adres", "użytkownik", "hasło");$db = mysql_connect ("adres", "użytkownik", "hasło");

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować: na której będziesz pracować:

mysql_select_db ("baza");mysql_select_db ("baza");

Po poprawnym połączeniu się z bazą danych można przystąpić do 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 dowydawania poleceń języka SQL. Funkcję PHP wysyłającą zapytanie SQL doserwera wywołuje się następująco: serwera wywołuje się następująco:

$wynik_zapytania = mysql_query ("zapytanie_SQL");$wynik_zapytania = mysql_query ("zapytanie_SQL");

Po zakończonej pracy z bazą danych należy użyć funkcji: Po zakończonej pracy z bazą danych należy użyć funkcji:

mysql_close ($db);mysql_close ($db);

ZadanieZadanie

Wypisz Wypisz trzytrzy imiona, nazwiska i płace z zarobkami imiona, nazwiska i płace z zarobkamiwiększymi od 500 i mniejszymi niż 1200, większymi od 500 i mniejszymi niż 1200, uszeregowanymi po nazwisku.uszeregowanymi po nazwisku.

HELP!

To już koniec To już koniec

Dziękujemy za uwagę.Dziękujemy za uwagę.