Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technologie internetowe II Wykład 4 – Typy danych i podstawowe polecenia MySQL. Interakcje PHP z MySQL, łączenie z bazą danych, operowanie na danych. Dr.

Podobne prezentacje


Prezentacja na temat: "Technologie internetowe II Wykład 4 – Typy danych i podstawowe polecenia MySQL. Interakcje PHP z MySQL, łączenie z bazą danych, operowanie na danych. Dr."— Zapis prezentacji:

1 Technologie internetowe II Wykład 4 – Typy danych i podstawowe polecenia MySQL. Interakcje PHP z MySQL, łączenie z bazą danych, operowanie na danych. Dr Krzysztof Heller

2 Technologie internetowe II2 Literatura Meloni J.C.: PHP, MySQL i Apache dla każdego. Wydanie III, Helion, 2007 Lis M.: PHP i MySQL dla każdego, Helion, 2005 Leszek 'leon' Krupiński: Wykłady internetowe, et_II_wyklad4.ppthttp://docs.wsei.pl/dydaktyka/Techn_Intern et_II_wyklad4.ppt

3 Technologie internetowe II3 Plan wykładu 4 Typy danych i podstawowe polecenia MySQL. Tworzenie, wybieranie i usuwanie rekordów. Interakcje PHP z MySQL. Łączenie z bazą danych. Operowanie na danych.

4 Typy danych i podstawowe polecenia MySQL

5 Technologie internetowe II5 Liczbowe typy danych TINYINT 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 127 SMALLINT 2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do lub ze znakiem od do MEDIUMINT 3-bajtowa wartość całkowita. Zakres wartości od 0 do lub ze znakiem od do INT 4-bajtowa wartość całkowita. Zakres wartości ze znakiem od do lub bez znaku od 0 do BIGINT 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 wartości nie były zbyt duże, ponieważ użyte w obliczeniach mogą doprowadzić do błędu przepełnienia

6 Technologie internetowe II6 Liczbowe typy danych FLOAT (dokładność) 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 pojedynczej precyzji, natomiast 8 - liczbę zmiennoprzecinkową o podwójnej precyzji. Szczegóły dotyczące tych dwóch typów danych opisują pola FLOAT i DOUBLE FLOAT 4-bajtowa liczba zmiennoprzecinkowa z zakresu od E+38 do E-38, 0 i E-38 do E+38 DOUBLE 8-bajtowa liczba zmiennoprzecinkowa przechowująca wartości z zakresu od E+308 do E-308, 0, i E-308 do E+308 DECIMAL Pole zmiennoprzecinkowe o takiej samej pojemności jak DOUBLE. Liczba, zamiast zostać zredukowana do postaci szesnastkowej, pamiętana jest w formacie znakowym

7 Technologie internetowe II7 Typy czasu i daty DATE Data (bez czasu), wyświetlana w formacie RRRR-MM-DD. Akceptuje daty w różnych formatach z zakresu od do DATETIME Pole daty z czasem dnia wyświetlane według formatu RRRR-MM-DD GG:MM:SS. Może przechowywać wartości z zakresu od :00:00 do :59:59 TIMESTAM P Data i czas liczony od początku epoki systemu UNIX, :00:00, do momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty ulegnie przepełnieniu w roku Jeśli polu temu nie została nadana wartość przez wyrażenie INSERT lub UPDATE, domyślnie otrzyma ono wartość daty bieżącej TIMECzas mieszczący się w przedziale od -838:59:59 do 838:59:59 YEAR Rok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość MySQL wyświetla wartość typu YEAR w formacie RRRR

8 Technologie internetowe II8 Typy łańcuchowe CHAR 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 spacjami VARCHAR 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 pole TINYBLOB, TINYTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtów BLOB, TEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym bajtów

9 Technologie internetowe II9 Typy łańcuchowe MEDIUMBLOB, MEDIUMTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym bajtów LONGBLOB, LONGTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym bajtów ENUM('elem1', 'elem2',...) Kolumna łańcuchowa, która może zawierać jedną z wartości wymienionych na liście wartości w definicji tej kolumny SET('elem1', 'elem2',...) Kolumna łańcuchowa, która może zawierać dowolną liczbę wartości spośród wartości występujących na liście w definicji tej kolumny Typ SET jest podobny do typu ENUM w tym sensie, że definiowany jest jako lista, jednak typ SET jest przechowywany jako pełna wartość, a nie jako indeks do wartości, jak w przypadku typu ENUM.

10 Tworzenie, wybieranie i usuwanie rekordów

11 Technologie internetowe II11 Składnia tworzenia tabel Tabele zawierają pola, które określają jakie dane będzie zawierał pojedynczy rekord (inaczej: wiersz). Do utworzenia tabeli służy polecenie SQL CREATE TABLE: CREATE TABLE nazwa_tabeli struktura_tabeli; Każda tabela powinna posiadać swoją nazwę. Definiuje się ją w miejscu nazwa_tabeli. W miejsce struktura_tabeli wstawia się dokładną specyfikację poszczególnych pól, jakie powinna zawierać tabela.

12 Technologie internetowe II12 Tworzenie tabeli CREATE TABLE pracownicy ( imie VARCHAR(30), nazwisko VARCHAR(30), data_urodzenia DATE, placa DECIMAL(10,2) ); Tworzy tablicę o strukturze:

13 Technologie internetowe II13 Utworzona tabela FieldTypeNullKeyDefaultExtra imievarchar(30)YESNULL nazwiskovarchar(30)YESNULL data_urodzeniadateYESNULL placadecimal(10,2)YESNULL

14 Technologie internetowe II14 Definicje kolumn: opcje Opcje mogące wystąpić w definicji kolumny w instrukcji CREATE TABLE dzielą się na: opcje ogólne, które mogą być stosowane do (prawie) wszystkich typów kolumn opcje szczególne, stosujące się do niektórych (klas) typów. Opcje szczególne muszą być podane w pierwszej kolejności (bezpośrednio po określeniu typu). Niektóre z tych opcji wykluczają się wzajemnie, np. PRIMARY KEY i NULL.

15 Technologie internetowe II15 Definicje kolumn: opcje PRIMARY KEY: określa daną kolumnę jako klucz główny tabeli. Tabela może posiadać tylko jeden klucz główny. DEFAULT wartość_domyślna: określa wartość domyślną kolumny dla nowo wprowadzanych wierszy w przypadku, gdy instrukcja tworząca nowy wiersz nie zadaje tej wartości. Jeśli w definicji kolumny pominięto opcję DEFAULT (oraz nie podano opcji NOT NULL), to w takich wypadkach wartością domyślną jest NULL. Jeżeli natomiat kolumna bez opcji DEFAULT została zadeklarowana jakoNOT NULL, to w miejsce brakującej wartości zostanie automatycznie wprowadzona przez MySQL wartość domyślna zależna od typu. NOT NULL | NULL: określa, czy NULL jest dopuszczalną wartością w tej kolumnie. Domyślnie wartość NULL jest dopuszczalna, za wyjątkiem kluczy (kolumn indeksowanych). AUTO_INCREMENT: opcja ta ma sens dla kolumn o numerycznych typach wartości. Oznacza ona, że jeżeli przy tworzeniu wiersza nie zada się jawnie wartości dla tej kolumny (lub zostanie podana wartość NULL bądź zero), to wartością zapisaną będzie największa z wcześniej występujących w tej kolumnie powiększona o jeden.

16 Technologie internetowe II16 Definicje kolumn: opcje UNSIGNED: opcja ta stosuje się do typów numerycznych i oznacza, że dopuszczone są wyłącznie wartości nieujemne. Zastosowanie jej zwiększa również zakres dopuszczalnych wartości (dodatnich) w sposób zależny od konkretnego typu numerycznego. ZEROFILL: stosuje się do typów opisujących liczby całkowite. Powoduje dopełnienie pola danych zerami do jego maksymalnej długości. BINARY: stosuje się do typów CHAR i VARCHAR. W MySQL sortowanie i porównywanie wartości znakowych odbywa się domyślnie z utożsamieniem małych i wielkich liter (zgodnie z kodowaniem ISO ). Opcja BINARY wyłącza to utożsamienie dla danej kolumny.

17 Technologie internetowe II17 Definicja tabeli: deklaracje dodatkowe PRIMARY KEY (nazwa_kolumny_indeksowej,...): klucz główny w tabeli może być tylko jeden, ale może obejmować więcej niż jedną kolumnę. Wówczas cały zestaw wartości z odpowiednich kolumn traktowany jest jako wartość klucza głównego. KEY [nazwa_indeksu] (nazwa_kolumny_indeksowej,..): deklaruje indeksowanie ze względu na wartości z odpowiednich kolumn. Indeks może być nazwany (zgodnie z wcześniej omówionymi regułami tworzenia nazw). Wartości klucza indeksowania nie mogą być NULL. W MySQL istnieje możliwość zadeklarowania długości klucza indeksowania, w postacikolumna(długość), mniejszej niż długość pola danych odpowiedniej kolumny. Wówczas do tworzenia indeksu wykorzystana jest jedynie część pola danych, co owocuje czasami o wiele mniejszymi (w sensie zużycia miejsca na dysku) i szybciej przeszukiwanymi indeksami. Kolumna typu BLOB nie może być indeksowana. INDEX [nazwa_indeksu] (nazwa_kolumny_indeksowej,...): deklaracja ta jest synonimem dla KEY. UNIQUE [nazwa_indeksu] (nazwa_kolumny_indeksowej,...): deklaruje indeks o nie powtarzających się wartościach.

18 Technologie internetowe II18 Polecenie INSERT Polecenie INSERT służy do wypełnienia tabeli danymi po utworzeniu. INSERT INTO pracownicy VALUES ('Jan', 'Kowalski', ' ', ' '); Powyższe polecenie wstawi pojedynczy rekord do tabeli pracownicy. Aby wstawić kolejne rekordy należy ponowić powyższe zapytanie używając nowych danych: INSERT INTO pracownicy VALUES ('Aleksander', 'Borowiecki', ' ', ' '); INSERT INTO pracownicy VALUES ('Aniela', 'Michałkowska', ' ', '854.29'); INSERT INTO pracownicy VALUES ('Katarzyna', 'Kowalska', ' ', ' '); Polecenia INSERT można użyć także w innej formie. Za nazwą tabeli można wyspecyfikować listę pól, które będzią wypełniane danymi. Pozostałe pola przyjmą puste lub standardowe wartości. Zapytanie z wyspecyfikowaną listą pól wygląda następująco: INSERT INTO pracownicy (imie, nazwisko) VALUES ('Izabela', 'Kwiatkowska');

19 Technologie internetowe II19 Polecenie SELECT 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 mają być w zestawieniu. W miejscu nazwa_tabeli podać nazwę tabeli, z której mają być pobierane dane.

20 Technologie internetowe II20 Polecenie SELECT Wybór trzech kolumn do zestawienia z tabeli pracownicy wygląda następująco: SELECT imie, nazwisko, placa FROM pracownicy; Spowoduje to wyświetlenie wszystkich rekordów, jednak w zestawieniu zostaną zaprezentowane jedynie wartości trzech pól: imie, nazwisko i placa Aby w zestawieniu umieścić wszystkie pola można użyć w miejscu co_zaprezentować znaku '*' (gwiazdki): SELECT * FROM pracownicy;

21 Technologie internetowe II21 Polecenie SELECT Dzięki klauzuli WHERE można wpłynąć na zakres prezentowanych danych - dokładnie definiować co chce się uzyskać swoim zapytaniem. Klauzulę WHERE stosuje się najczęściej w poleceniu SELECT. Ma ona jednak zastosowanie także w innych poleceniach operujących na danych, takich jak UPDATE, DELETE itp. Stosując operatory przyrównania można dokładnie określić, jakie informacje chce się 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

22 Technologie internetowe II22 Polecenie SELECT Przykłady zastosowania: SELECT * FROM pracownicy WHERE placa >= 1000; Spowoduje wyświetlenie listy pracowników, których płaca jest większa lub równa 1000: SELECT imie, nazwisko, placa FROM pracownicy WHERE nazwisko = 'Kowalski'; Spowoduje wyświetlenie danych (tylko imię, nazwisko i placa) wszystkich pracowników, których nazwisko brzmi dokładnie Kowalski: SELECT * FROM pracownicy WHERE nazwisko LIKE 'K%'; Spowoduje wyświetlenie wszystkich pracowników, których nazwisko rozpoczyna się na literę 'K':

23 Technologie internetowe II23 Polecenie SELECT 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. Zapytanie: SELECT imie, nazwisko FROM pracownicy WHERE nazwisko LIKE 'Kowalsk_'; spowoduje wyświetlenie wszystkich pracowników, których nazwisko zaczyna się ciągiem znaków 'Kowalsk' i zaraz po nim występuje jeden dowolny znak. 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. Wydając zapytanie: SELECT * FROM pracownicy WHERE (placa > 500 AND placa < 1000) OR nazwisko = 'Kowalski'; spowoduje wyświetlenie w wyniku wszystkich pracowników, których płaca mieści się w zakresie oraz pracowników o nazwisku 'Kowalski':

24 Technologie internetowe II24 Polecenie SELECT 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 BYoddzielone przecinkami. Chcąc uszeregować listę pracowników rosnąco według nazwiska i malejąco według płacy należy wydać 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

25 Technologie internetowe II25 Polecenie SELECT Użycie klauzuli LIMIT spowoduje wyświetlenie jedynie części rekordów. Aby pobrać dwa pierwsze rekordy napisz SELECT * FROM pracownicy LIMIT 2; Wypełniając pole ofset wyświetla się podaną ilość rekordów od pewnego miejsca w tabeli. Chcąc pobrać rekordy od 3 do 7 należy napisać: SELECT * FROM pracownicy LIMIT 2, 5; Spowoduje to wyświetlenie pięciu rekordów (o ile tyle istnieje w bazie) poczynając od rekordu trzeciego. MySQL pozwala na połączenie ze sobą wielu opcji, dzięki którym można bardzo dokładnie zawęzić poszukiwaną ilość informacji. Przykład bardziej złożonego zapytania można przedstawić następująco: SELECT imie, nazwisko, placa FROM pracownicy WHERE placa >= 500 AND placa < 1200 ORDER BY nazwisko LIMIT 5; Jak widać połączono w tym momencie warunek wyboru według płacy pomiędzy 500 a 1200 z sortowaniem danych według nazwiska i ograniczeniem wyniku tylko do pięciu pierwszych rekordów.

26 Technologie internetowe II26 Polecenie SELECT – kilka tabel Tabele: owoc, kolor IDNazwa_owocu 1jabłko 2pomarańcza 3banan IDNazwa_koloru 1czerwony 2pomarańczowy 3żółty

27 Technologie internetowe II27 Polecenie SELECT – kilka tabel ID SELECT * FROM owoc, kolor ID nazwa_owocu IDnazwa_koloru 1 jabłko 1 czerwony 2 pomarańcza 1 czerwony 3 banan 1 czerwony 1 jabłko 2 pomarańczowy 2 pomarańcza 2 pomarańczowy 3 banan 2 pomarańczowy 1 jabłko 3 żółty 2 pomarańcza 3 żółty 3 banan 3 żółty

28 Technologie internetowe II28 Polecenie SELECT – kilka tabel SELECT Nazwa_owocu, Nazwa_koloru FROM owoc, kolor WHERE owoc.id=kolor.id jabłko czerwony pomarańcza pomarańczowy banan żółty

29 Technologie internetowe II29 Polecenie JOIN SELECT Nazwa_owocu, Nazwa_koloru FROM owoc -> INNER JOIN kolor ON owoc.id=kolor.id LEFT JOIN – zwraca wiersze w pierwszej tabeli niezależnie od istnienia wierszy w drugiej tabeli RIGHT JOIN – jak LEFT JOIN, ale kolejność odwrotna Są jeszcze CROSS JOIN, STRAIGHT JOIN, NATURAL JOIN i inne Zastępuje WHERE

30 Technologie internetowe II30 Podselekcja SELECT wyrażenia i kolumny FROM nazwa_tabeli WHERE wybrana_kolumna (PODSELEKCJA) Podselekcja musi występować w nawiasach Można uzywać z SELECT, INSERT, UPDATE, DELETE, SET, DO

31 Technologie internetowe II31 Polecenie UPDATE Polecenie UPDATE służy do modyfikacji danych już wcześniej umieszczonych w tabeli. Jego składnia jest następująca: UPDATE nazwa_tabeli SET nazwa_pola='nowa_wartość'; Po słowie kluczowym SET kolejno (po przecinku) podaje się nazwy kolumn wraz z nowymi wartościami, jakie powinny przyjąć. Po wydaniu poniższego polecenia: UPDATE pracownicy SET imie='Zofia'; wszystkie rekordy w polu imie będą miały wartość 'Zofia':

32 Technologie internetowe II32 Polecenie UPDATE 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';

33 Technologie internetowe II33 Polecenie DELETE 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, do wyspecyfikowania danych przeznaczonych 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:warunku wyboru DELETE FROM pracownicy WHERE placa > 1000;

34 Technologie internetowe II34 Funkcje operujące na datach HOUR()HOUR(kolumna) Zwraca samą godzinę ze wskazanej daty MINUTE()MINUTE(kolumna) Zwraca same minuty ze wskazanej daty. SECOND()SECOND(kolumna) Zwraca same sekundy ze wskazanej daty. DAYNAME()DAYNAME(kolumna)Zwraca nazwę dnia tygodnia. DAYOFMONTH()DAYOFMONTH(kolumna) Zwraca sam dzień miesiąca ze wskazanej daty (wyrażone liczbą). MONTHNAME()MONTHNAME(kolumna) Zwraca nazwę miesiąca występującego we wskazanej dacie. MONTH()MONTH(kolumna) Zwraca sam miesiąc ze wskazanej daty (wyrażony liczbą). YEAR()YEAR(kolumna) Zwraca sam rok ze wskazanej daty.

35 Technologie internetowe II35 Funkcje operujące na datach ADDDATE() ADDDATE(kolumna INTERVAL x typ) Dodaje do daty przechowywanej w kolumnie x jednostek i zwraca wynik. SUBDATE() SUBDATE(kolumna INTERVAL x typ) Odejmuje od daty przechowywanej w kolumnie x jednostek i zwraca wynik. CURDATE() Zwraca bieżącą datę. CURTIME() Zwraca bieżący czas. NOW() Zwraca bieżącą datę i czas. UNIX_TIMESTAMP()UNIX_TIMESTAMP(data) Zwraca liczbę sekund jaka upłynęła od początku tzw. epoki unixa lub od wskazanej daty.

36 Technologie internetowe II36 Obliczenia na datach Funkcja ADDDATE() i SUBDATE(), będące synonimami DATE_ADD() i DATE_SUB(), przeprowadzają obliczenia na datach. Ich składnia jest następująca: ADDDATE(data, INTERVAL x typ) Data może pochodzić z kolumny tabeli lub może być wprowadzona ręcznie. Wartość x jest różna dla każdego typu. Dostępne typy to: SECOND, MINUTE, HOUR, DAY, MONTH i YEAR. Mogą one tez występować w nast. następujących kombinacjach: MINUTE_SECOND, HOUR_MINUTE, DAY_HOUR, oraz YEARS_MONTH.

37 Technologie internetowe II37 Obliczenia na datach Aby dodać do wskazanej daty dwie godziny: ADDATE(data, INTERVAL 2 HOUR) Aby dodać dwa tygodnie do 31 grudnia 2002: ADDATE(` `, INTERVAL 14 DAY) Aby odjąć od daty 15 miesięcy, wpisz: SUBDATE(data, INTERVAL `1-3` YEAR_MONTH) Ostatnie zapytanie informuje system, że chcesz odjąć od wartości przechowywanej w kolumnie jeden rok i trzy miesiące.

38 Interakcje PHP z MySQL

39 Technologie internetowe II39 Warunki wykorzystania bazy danych Istnienie działającej bazy danych w miejscu, które jest osiągalne przez serwer WWW. Posiadanie dostępu (użytkownik i hasło) z odpowiednimi uprawnieniami. Istnienie bazy danych (chyba, że ją tworzymy). Używamy funkcji z rodziny mysqli

40 Łączenie z bazą danych

41 Technologie internetowe II41 Połączenie z bazą danych Tworzenie nowego połączenia Sprawdzamy błąd Pobieramy komunikat błędu Pobieramy informacje o hoście

42 Technologie internetowe II42 Połączenie z bazą danych Połączenie lepiej zamknąć, choć jest zamykane automatycznie

43 Technologie internetowe II43 Utworzenie bazy danych Średnik nie jest obowiązkowy Treść zapytania przypisujemy zmiennej Weryfikujemy utworzenie tabeli

44 Operowanie na danych

45 Technologie internetowe II45 Wstawianie rekordów Tutaj wstawiamy kolejny wiersz do tabeli – stała wartość

46 Technologie internetowe II46 Formularz do wprowadzania danych Formularz wstawiania rekordów Tekst do dodania:

47 Technologie internetowe II47 Uzupełnianie bazy danych Tutaj wstawiamy kolejny wiersz do tabeli – wartość z formularza

48 Technologie internetowe II48 Wybieranie rekordów Pobiera liczbę wierszy w zbiorze wyników zwróconych przez bazę Zwalnia zasoby pamięci zajmowane przez zapytanie

49 Technologie internetowe II49 Wybieranie rekordów WHILE przechodzi przez wszystkie rekordy zbioru wyników


Pobierz ppt "Technologie internetowe II Wykład 4 – Typy danych i podstawowe polecenia MySQL. Interakcje PHP z MySQL, łączenie z bazą danych, operowanie na danych. Dr."

Podobne prezentacje


Reklamy Google