MySQL
IV.1. Introducere īn MySQL
MySQL
este un sistem de getiune a bazelor de date. Mai mult chiar, MySQL este un sistem de gestiune a bezelor de date
relationale si este distribuit īn regim Open Source.
MySQL software is Open Source
. Aceasta īnseamna ca MySQL poate fi
descarcat de pe Internet, poate fi folosit fara a 10110p1522k plati
ceva si, daca se doreste, codul sursa poate fi studiat
si I se pot aduce modificari necesare.
Serverul de baze de date MySQL este foarte rapid,
fiabil si usor de utilizat. Initial a fost dezvoltat pentru a
manipula baze de date de dimensiuni mari mult mai rapid decāt solutiile
existente. Conectivitatea sa, viteza si securitatea fac ca Serverul MySQL
sa fie potrivit pentru accesarea bazelor de date prin Internet.
Why use the MySQL Database Server?
MySQL Database Software
este un sistem client/server ce consta īntr-un server MySQL multithreaded
care suporta
diferite programe client si biblioteci, unelte administrative si o
gama larga de interfete pentru programarea aplicatiilor
(Application Programming Interfaces - APIs)
IV.2. Caracteristicile de baza ale MySQL
IV.2.1. Componente interne si portabilitate
Cāteva dintre caracteristicile de baza ale MySQL sunt:
Scris īn C si C++
Testat cu o gama larga de compilatoare diferite
Functioneaza pe diferite platforme
Dispune de API pentru C, C++, Eiffel, Java, Perl, PHP, Pyton, Ruby si Tcl
Complet multi-threaded folosind thread-uri de kernel. Acest lucru īnseamna ca poate lucra cu usuinta pe mai multe procesoare daca sunt disponibile
Ofera motoare tranzactionale si non-tranzactionale de stocare a datelor
Un sistem de alocare a memoriei foarte rapid si bazat pe thread-uri
Join-uri ale tabelelor foarte rapide
Foloseste tabele temporare stocate īn memorie
Functiile SQL sunt implementate folosind o biblioteca de clase optimizata si sunt foarte rapide. De obicei, nu are loc alocare a memoriei dupa initializarea interogarilor.
Serverul este disponibil ca program separat ce poate fi folosit īntr-un mediu de retea de tip client/server. De asemenea, este disponibil si ca biblioteca ce poate fi inclusa īn aplicatii de sine statatoare
IV.2.2. Tipuri de coloane
MySQL dispune de multe tipuri de date pentru coloane:
numere īntregi de 1,2,3,4 si 8 bytes lungime cu/fara semn, FLOAT
DOUBLE
CHAR
VARCHAR
TEXT
BLOB
DATE
TIME
DATETIME
TIMESTAMP
YEAR
SET
ENUM
, si tipuri geometrice OpenGIS
Īnregistrari cu lungime fixa si cu lungime variabila
IV.2.3. Comenzi si functii
Suport complet pentru operatori si functii īn clauzele SELECT si WHERE ale interogarilor.
Suport
pentru clauzele GROUP BY si ORDER BY, si pentru functii de grup
(COUNT()
COUNT(DISTINCT ...)
AVG()
STD()
SUM()
MAX()
MIN()
, si GROUP_CONCAT()
Suport
pentru LEFT OUTER JOIN
and RIGHT
OUTER JOIN
Suport pentru alias-uri de tabele si coloane.
DELETE, INSERT, REPLACE si UPDATE returneaza numarul de rānduri modificate.
Comanda SHOW specifica pentru MzSQL poate fi folosita pentru a obtine informatii despre bazele de date, tabele si indecsi.
Numele functiilor nu intra īn conflict cu numele tabelelor sau ale coloanelor.
Īntr-o acceasi interogare se pot folosi tabele din baze de date diferite
IV.2.4. Securitate
Un sistem de privilegii si parole foarte flexibil si sigur care permite verificarea pe baza host-ului.
Parolele sunt sigure deoarece tot traficul legat de parole este criptat cānd are loc conectarea la server.
IV.2.5. Scalabilitate si limite
Manipuleaza baze de date de dimensiuni mari. MzSQL este folosit cu baze de date care contin 50 de milioane de īnregistrari.
Sunt permisi pāna la 32 de indecsi pentru un tabel. Fiecare index poate consta din una pāna la 16 coloane sau parti de coloane.
IV.2.6. Conectivitate
Clientii se pot conecta la serverul MySQL folosind socket-uri TCP/IP pe orice platforma.
Interfata Connector/ODBC ofera suport MySQL pentru programe client care folosesc conexiuni ODBC (Open DataBase Conectivity).
Interfata Connector/JDBC ofera suport MySQL pentru programe client Java care folosesc conexiuni JDBC (Java DataBase Conectivity).
IV.2.7. Localizare
Serverul poate sa prezinte mesaje de eroare clientilor īn multe limbi.
Suport complet pentru diferit seturi de caractere.
Toate datele sunt salvate folosind un set de caractere specificat. Toate comparatiile pentru coloane de tip sir obisnuit de caractere sunt case-insensitive.
Sortarea este realizata īn concordanta cu setul de caractere ales.
IV.2.8. Clienti si unelte
Serverul MySQL are suport inclus pentru instructiuni SQL care verifica, optimizeaza si repara tabelele. Aceste instructiuni sunt disponibile īn linia de comanda prin intermediul clientului mysqlcheck.
Toate programele MySQL pot fi invocate cu optiunea -help sau -? Pentru a obtine suport online.
IV.3. Fundamente MySQL
IV.3.1. Conectarea si deconectarea de la server
Pentru a realiza conectarea la server trebuie specificat un nume de utilizator si, de cele mai multe ori, o parola. Daca serverul ruleaza pe un alt calculator trebuie specificat si un hostname. Conectarea se realizeaza astfel:
shell> mysql -h host -u user -p
Enter password: ********
unde host si user
reprezinta hostname-ul unde ruleaza serverul MySQL si respectiv
numele unui cont MySQL, iar ******** reprezinta parola care trebuie
introdusa.
Daca
conectarea se realizeaza cu succes īn continuare sunt afisate
informatii introductive, urmate de prompt-ul mysql>
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 4.0.14-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Aceasta īnseamna ca mysql este gata pentru a primi comenzile introduse.
Deconectarea de la serverul MySQL se poate realiza oricānd prin introducerea comenzii QUIT (sau \a) la prompt-ul mysql.
mysql> QUITIV.3.2. Introducerea interogarilor
Urmatoarea comanda este o interogare simpla care cere serverului informatii precum versiunea curenta si data curenta:
mysql> SELECT VERSION(), CURRENT_DATE;Aceasta interogare ilustreaza cāteva lucruri despre mysql
Īn mod normal, o comanda consta īntr-o declaratie SQL urmata de semnul puct si virgula.
Cāt se lanseaza o comanda, mysql o trimite serverului spre executie si afiseaza rezultatele, apoi afiseaza din nou prompt-ul mysql> pentru a indica ca este gata sa accepte alte comenzi.
Mysql afiseaza rezultatul interogarilor īntr-o forma tabelara. Prima linie contine etichetele coloanelor, iar liniile urmatoare sunt rezultatele interogarii.
Mysql afiseaza si numarul de rānduri returnate si cīt timp a fost necesar pentru executia interogarii
Pe o singura linie pot fi introduse mai mule comenzi, separate cu cāte un semn punct si virgula, de exemplu:
mysql> SELECT VERSION(); SELECT NOW();O comanda nu trebuie neaparat sa fie introdusa pe o singura linie, de exemplu:
mysql> SELECTPrompt-ul se schimba din mysql> īn -> dupa introducerea primei linii a unei interogari pe mai multe linii. Aceasta indica faptul ca respectiva interogare este incompleta si mysql asteapta introducerea restului interogarii.
Se poate īntrerupe introducerea unei interogari pe linii multiple folosind simbolurile \c
mysql> SELECTIV.3.3. Crearea si utilizarea unei baze de date
Pentru a vedea bazele de date existente pe un server se foloseste comanda SHOW:
mysql> SHOW DATABASES;Baza de date mysql este necesaa deoarece descrise privilegiile de acces ale utilizatorilor, iar baza de date test este oferita, de obicei, ca mediu de test pentru utilizatori.
Daca baza de date test exista, aceasta ar putea fi accesata astfel:
mysql> USE testIV.3.4. Crearea si selectarea unei baze de date
Comanda pentru a crea o noua baza de date este CREATE DATABASE, de exemplu:
mysql> CREATE DATABASE menagerie;Crearea unei baze de date nu implica si selectarea acesteia pentru utilizare, aceasta trebuie selectata folosind comanda USE:
mysql> USE menagerieSelectarea bazei de date pe care se doreste sa se lucreze se poate realiza si īn momentul desciderii unei sesiuni mysql, la conectarea la server, astfel:
shell> mysql -h host -u user -p menagerieIV.3.5. Crearea tabelelor
Dupa ce a fost creata, o baza de date nu contine nici un table, dupa cum se poate observa introducānd comanda SHOW TABLES:
mysql> SHOW TABLES;
Empty set (0.00 sec)
Pentru a crea un tabel se foloseste comanda CREATE TABLE, de exemplu:
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),Acum comanda SHOW TABLES va avea urmatorul rezultat:
mysql> SHOW TABLES;Pentru a vedea detaliile unui tabel se foloseste comanda DESCRIBE:
mysql> DESCRIBE pet;
|