Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika) możemy pobrać z : http://dev.mysql.com/downloads/mysql/5.0.html#downloads Wersję zintegrowane z serwerem Apache oraz PHP to m.in.: EasyPHP http://www.easyphp.org/ Krasnal http://www.krasnal.tk/ PHPDev http://www.firepages.com.au/
Tworzenie bazy danych i tabel w MySQL Połączenie z bazą danych z linii komend: mysql -u użytkownik -p Po naciśnięciu serwer bazy danych zapyta o hasło. mysql -u root -p Utworzenie bazy danych: CREATE DATABASE nazwa; Utworzenie tabeli: CREATE TABLE nazwa_tabeli;
Usuwanie bazy i tabel Usuwanie bazy danych: DROP DATABASE nazwa_bazy_danych; Usuwanie tabeli: DROP TABLE nazwa_tabeli; Zmiana nazwy tabeli: RENAME TABLE stara_nazwa TO nowa_nazwa;
podstawowe polecenia MySQL z linii komend Wyświetlenie jakie bazy danych są dostępne na serwerze: show databases; Wybór bazy danych z którą chcemy pracować: use nazwa_bazy; Wyświetlenie tabel w ramach wybranej bazy: show tables; Wyświetlenie struktury tabeli: describe nazwa_tabeli;
Dodawanie użytkownika Przykład dodania użytkownika student mającego wszystkie prawa do bazy danych wsti: GRANT ALL PRIVILEGES ON wsti.* TO 'student'@'localhost' IDENTIFIED BY 'haslo' Użytkownik student może pracować tylko na lokalnym komputerze jeżeli chcemy żeby mógł pracować zdalnie to musimy zmodyfikować powyższe polecenie: 'student'@'%' Jeżeli ma on mieć możliwość podłączenia tylko z określonej lokalizacji to znak % zamieniamy na tą lokalizację
Usuwanie użytkownika Dane o istniejących użytkownikach MySql przechowywane są w bazie danych mysql w tabeli user. Usunięcie użytkownika przypomina usunięcie rekordu z bazy danych. DELETE FROM mysql.user WHERE Host='localhost' AND User='nazwa_użytkownika';
przykład tworzenia tabeli create table studenci ( id int unsigned not null auto_increment primary key, nazwisko char(30) not null, imie char(30) not null, nr_albumu char(10) not null, grupa char(4) not null );
wstawianie wartości insert into nazwa_tabeli (pole1, pole2, pole3) values (wartość1, wartość2, wartość3); W przypadku gdy wypełniamy wszystkie pola nie musimy podawać ich nazw (pierwszy nawias powyżej) tylko wartości. insert into studenci values (NULL, 'Kowalski', 'Jan', 'Z123','4CZ');
Usuwanie danych z tabeli DELETE FROM nazwa_tabeli WHERE warunek;
Etapy procesu korzystania z bazy 1.) Nawiązanie połączenia: mysql_connect(); 2.) Wybór bazy danych: mysql_select_db(); 3.) Wysłanie zapytania: mysql_query(); 4.) Analiza i obróbka danych: mysql_num_rows(); // ile wyników mysql_fetch_array();// podział na tablice mysql_fetch_row();// jw.
obsługa MySQL w PHP Aby połączyć się z bazą danych używamy komendy: mysql_connect (nazwa_hosta[:port] [,użytkownik] [,hasło]); Funkcja ta zwraca uchwyt połączenia, którego będziemy używali do wysyłania zapytań lub NULL w przypadku niepowodzenia.
nawiązanie połączenia Aby połączyć się z bazą danych używamy komendy: mysql_connect (nazwa_hosta[:port][,użytkownik] [,hasło]); Funkcja ta zwraca uchwyt połączenia, którego będziemy używali do wysyłania zapytań lub false w przypadku niepowodzenia. $connect = mysql_connect ('adres.servera.sql', 'użytkownik', 'hasło');
Wybór bazy danych: Bazę danych wybieramy za pomocą polecenia: mysql_select_db('nazwa_bazy_danych');
wysyłanie zapytania Tworzymy zmienną zawierającą zapytanie: $zaptanie=" twoje zapytanie"; Zapytania to łańcuchy znakowe mające składnię poleceń SQL. Przesłanie zapytania do otwartej bazy danych: $rezultat = mys ql_query($zapytanie);
obróbka wyników Załóżmy, że zmienna $rezultat z poprzedniego slajdu zawiera wyniki zapytania. Polecenie: $ilos c = mys ql_num_rows ($rezultat); określi ilość odpowiedzi pasujących do naszego zapytania.
obróbka wyników cd. Musimy teraz otrzymane wyniki przekształcić na tabelę za pomocą funkcji: $wiers z = mys ql_fetch_array($rezultat); Tablica asocjacyjna do której odwołujemy się przez nazwy kolumn np.: echo $wiers z['nazwis ko']; lub $wiers z = mys ql_fetch_row($rezultat); Tablica zwykła do której odwołujemy się przez numery kolumn: echo $wiers z[0]; echo $wiers z[1];...itd
Odzyskiwanie hasła root'a Aby odzyskać utracone hasło uzytkownika root, należy uruchomić ponownie demona mysqld z opcją --skip-grant-tables (unix/linux) lub uruchomić ponownie proces mysqld z tą samą opcją --skip-grant-tables (windows). A następnie przejść do bazy danych mysql i zmienić hasło uzytkownika root za pomocą polecenia UPDATE.