Documente Academic
Documente Profesional
Documente Cultură
MySQL este unul dintre cele mai folosite sisteme de gestiune a bazelor de date
client-server, fiind utilizat deseori în combinaţie cu scripturi PHP. Spre deosebire de
lucrul cu alte baze de date, care presupune utilizarea unor biblioteci suplimentare (.dll),
operarea cu baze de date MySQL este implicit “inclusă funcţional” în motorul
interpretorului PHP (built-in).
Operatiile care se desfasoara cel mai adesea intr-un sistem de gestiune a bazelor de
date sunt:
- conectarea la server;
- afisarea bazelor de date existente;
- selectarea unei baze de date cu care trebuie sa se lucreze;
- afisarea tabeleor continute intr-o baza de date;
- crearea unei baze de date;
- crearea tabelelor din interiorul unei baze de date si precizarea campurilor
continute in acele tabele;
- popularea tabelelor cu date;
- inserarea, regasirea, modificarea sau stergerea datelor din tabele;
- efectuarea unor interogari asupra datelor cuprinse in tabele;
- deconectarea de la serverul de baze de date.
Conectarea la MySQL
Observaţie: Încheierea unei comenzi trebuie să se facă neapărat prin ‘;’. În cazul în care
lipseşte ‘;’, şi se tastează ENTER, se consideră că respectiva comandă este scrisă pe mai
multe rânduri, aşteptând-se continuarea editării comenzii, până la introducerea
caracterului ;. Altfel spus, ENTER după caracterul ; înseamnă executarea comenzii iar
ENTER după orice alt caracter însemnă continuarea editării comenzii pe o noua linie.
Spre exemplu, comanda anterioară poate fi scrisă pe 3 linii astfel:
mysql>SHOW
->DATABASES
->;
Se recomandă scrierea unei comenzi de lungime mare pe mai multe linii. Execuţia
comenzii SHOW DATABASES are următorul efect pe ecran:
+------------+
| Database |
+------------+
| mysql |
| test |
+------------+
2 rows in set (0.00 sec)
Inaintea crearii grupului de tabele care vor servi la memorarea datelor, trebuie
creata o baza de date folosind comanda create database. Exemplu:
Comanda „use”
Comanda “alter”
Comanda “insert”
Comanda “update”
Comanda update permite modificarea valorilor unor campuri dintr-un tabel. Sintaxa
ei este:
mysql> update nume_tabela set col1=val1,col2=val2...where col1=value;
Desi conditia din clauza where poate fi complexa, de cele mai multe ori ea este de
forma cheie_primara=valoare.
Comanda “select”
Comanda select este cea mai complexa comanda din limbajul SQL si este destinata
regasirii unor anumite informatii.
Daca se doreste selectarea tuturor inregistrarilor dintr-o tabela, sintaxa comenzii este:
mysql>select * from nume_tabela;
Daca se doreste selectarea doar a unor inregistrari dintr-o tabela, care indeplinesc o
anumita conditie, sintaxa comenzii este:
mysql>select * from nume_tabela where nume_camp=100;
Daca se doreste selectarea doar a unor coloane dintr-o tabela, sintaxa comenzii este:
mysql>select nume_camp1,nume_camp2 from nume_tabela;
Daca se doreste selectarea doar a unor coloane dintr-o tabela, care indeplinesc o
anumita conditie, sintaxa comenzii este:
mysql>select nume_camp1,nume_camp2 from nume_tabela where nume_camp=100;
Comanda “delete”
Pentru a sterge unul sau mai multe articole existente, dintr-o tabela se va utiliza
comanda delete cu sintaxa:
mysql>delete from nume_tabela where nume_camp=100;
Pentru a sterge toate articolele existente dintr-o tabela, sintaxa comenzii este;
mysql>delete from nume_tabela;
Comanda “drop”
Comanda drop permite suprimarea unui tabel din baza de date curenta sau
distrugerea intregii baze de date. Sintaxa comenzii este:
Comanda “show”
Comanda show se foloseste pentru listarea bazelor de date existente, a tabelelor din
baza de date curenta sau pentru listarea campurilor unei tabele. Sintaxa ei este:
mysql>show databases;
mysql>show tables;
mysql>show fields from nume_tabela;
Comanda “quit”
mysql>quit;
mysql>exit;
Exemplul următor prezintă una din cele mai simple modalităţi de interogare
neparametrizate a unei tabele MySQL, cu o afişare formatată a rezultatelor sub o formă
tabelară (vezi fig.1).
<table border=4>
<tr>
<th>NUME</th>
<th>VIRSTA</th>
</tr>
<?php
// conectare la server
$link = mysql_connect("localhost", "root", "")
or die ("Could not connect");
print ("Connected successfully");
// selecţie bază de date
mysql_select_db ("ioji")
or die ("Could not select database");
// interogare
$result = mysql_query ("SELECT nume, virsta FROM tabela1");
// extragere informaţii şi afişare
while (list ($nume, $virsta) = mysql_fetch_row ($result)) {
print (" <tr>\n".
" <td>$nume</td>\n".
" <td>$virsta</td>\n".
" </tr>\n");
}
mysql_close($link); // închidere conexiune
?>
</table>
Analizând codul sursă, se poate observa o parte de cod HTML pentru realizarea
capului de tabel necesar afişării, după care urmează scriptul PHP propriu-zis pentru
interogarea bazei de date. La această parte a codului se vor face referiri în continuare.
Apar câteva funcţii PHP noi, care permit operarea cu baze de date MySQL:
- mysql_connect – permite conectarea la un server MySQL
- mysql_select_db – permite selecţia bazei de date MySQL
- myql_query – interogarea efectiva a tabelei MySQL (ca parametru putându-se practic
folosi orice string reprezentând o comandă MySQL validă)
- mysql_fetch_row – returnează un şir de valori (corespunzând unei linii din tabela
interogată), iar când nu mai sunt alte linii – returnează FALSE
- mysql_close – închide conexiunea cu serverul MySQL
Construcţia de limbaj list( ) (care, ca şi array, nu este o funcţie PHP în sens real),
permite asignarea unor valori unei liste de variabile (asemănătoare practic unui şir),
printr-o singură operaţie.
După cum am mai menţionat, un astfel de exemplu de interogare a unei tabele, fără
nici un parametru, este un exemplu pur didactic. În realitate, interogările se realizează pe
baza unor informaţii furnizate sub formă de parametrii.