MySQL este cea mai populara aplicatie open-source de baze de date folosita cu PHP.
O baza de date de obicei contine una sau mai multe tabele, folosita pentru a stoca informatii pe categori.
Tabelele contin coloane si inregistrari (randuri) cu date.
Mai jos este un exemplu de tabel folosit pentru a stoca informatiile utilizatorului (nume, email, parola):
 
id name password email
1 Marius faith name@domain.net
2 MarPlo peace user@domain.com
3 I_AM love address@domain.net
- Aceasta tabela contine trei inregistrari /randuri (unu pentru fiecare persoana/utilizator) si patru coloane (id, name, password, email)

Reguli de sintaxa MySQL

Fiecare baza de date si fiecare tabela este indentificata printr-un nume. Regulile de baza MySQL pentru nume de baze de date, tabele, si coloane sunt:

Tipuri de date MySQL

Cand se creaza un tabel in MySQL, trebuie definit tipul de date pe care fiecare coloana il va contine. Exista trei tipuri principale: Text (strings), Numere, Data si Ora; si doua tipuri secundare: Liste predefinite si Date binare.
Tipul de date dicteaza ce informatie poate fi stocata si cum, acesta influenteaza si performanta generala a bazei de date.
Tabelul de mai jos listeaza tipurile de date folosite pentru MySQL, cu o scurta descriere si cat spatiu ocupa.
 
Tip Marime Descriere
Stocare text Diferenta dintre "Tipurile de date pentru text" consta in numarul maxim de caractere ce poate fi stocat intr-un camp individual, modul de tratare a spatiilor, si daca se poate seta o valoare initiala.
CHAR(lungime) lungime bytes Un camp cu lungime fixa de la 0 la 255 de caractere. Accepta o valoare initiala.
VARCHAR(lungime) lungime + 1 or 2 bytes Camp cu lungime variabila de la 0 la 65,535 caractere. Accepta o valoare initiala.
TINYTEXT lungime + 1 bytes Un sir cu lungime maxima de 255 characters
TEXT lungime + 2 bytes Un sir cu o lungime maxima de 65,535 caractere. Nu poate defini o valoare initiala.
MEDIUMTEXT lungime + 3 bytes Un sir cu o lungime maxima de 16,777,215 caractere
LONGTEXT lungime + 4 bytes Un sir cu o lungime maxima de 4,294,967,295 caractere
Stocare numere Aceste tipuri de date reprezinta numere in diferite forme.
TINYINT(lungime) 1 byte Interval de la –128 la 127. Sau de la 0 la 255 unsigned
SMALLINT(lungime) 2 bytes Interval de la –32,768 la 32,767. Sau de la 0 la 65,535 unsigned
MEDIUMINT(lungime) 3 bytes Interval de la –8,388,608 la 8,388,607. Sau de la 0 la 16,777,215 unsigned
INT(lungime) 4 bytes Interval de la –2,147,483,648 la 2,147,483,647. Daca coloana este declarata UNSIGNED, intervalul este de la 0 la 4,294,967,295
BIGINT(lungime) 8 bytes Interval de la –9,223,372,036,854,775,808 la 9,223,372,036,854,775,807. Sau de la 0 la 18,446,744,073,709,551,615 unsigned
FLOAT(lungime, decimals) 4 bytes Numar mic cu virgula (cu zecimale). Deoarece PHP va formata numerele in functie de calcule, se recomanda sa folosesti FLOAT fara parametri optionali.
DOUBLE(lungime, decimals) 8 bytes Numar mare cu zecimale
DECIMAL(lungime, decimals) lungime + 1 or 2 bytes Un tip DOUBLE care permite un numar fix de zecimale. Inainte de MySQL 5.0.3, tipul de date DECIMAL a fost stocat ca un sir, ca sa nu poata fi folosit cu functii SQL, cum ar fi SUM()
Stocare data si timp MySQL stocheaza data intr-un singur format: YYYY-MM-DD
DATE 3 bytes O data stocata ca YYYY-MM-DD. Intervalul este de la 1000-01-01 la 9999-12-31
DATETIME 8 bytes Data si ora, afisat in format YYYY-MM-DD HH:MM:SS
TIMESTAMP 4 bytes Un timestamp (de obicei generat automat de calculator). Poate contine valori ce reprezinta date de la inceputul lui 1970 pana in Januarie 2038. Coloanele TIMESTAMP sunt afisate in acelasi format ca si coloana DATETIME.
TIME 3 bytes Ora in format HH:MM:SS
Stocare liste predefite MySQL te lasa sa stochezi doua tipuri de liste predefinite (pot fi vazute ca echivalente pentru radio butonul si caseta de verificare).
ENUM 1 or 2 bytes Acest tip de coloana stocheaza o singura alegere din lista predefinita, fiecare coloana poate avea una din mai multe valori posibile
SET 1, 2, 3, 4, or 8 bytes Aceast tip de coloana stocheaza zero sau mai multe inregistrari din lista predefinita. Ca si ENUM, cu exceptia ca fiecare coloana poate avea mai mult de o valoare din mai multe valori posibile, sau mai multe inregistrari dintr-o lista predefinita. Lista poate contine cel mult 64 de inregistrari.
Storing binary data Stocheaza date binare, ca imaginile.
TINYBLOB   Pana la 255 bytes
BLOB   Pana la 64kB
MEDIUMBLOB   Pana la 16MB
LONGBLOB   Pana la 4GB

- Parametri (lungime, decimal) sunt optionali, dar pentru motive de performanta, ar trebui specificati pentru a restrictiona cata informatie sa fie stocata in oricare din coloane. Bazele de date sunt de obicei mai rapide cand lucreaza cu coloane care au marimea fixata.
- Foloseste VARCHAR pentru elemente de text scurte si TEXT pentru cele mai lungi.
- Foloseste DECIMAL pentru a stoca valori pt. bani.
- Pentru data si ora, este indicat sa folositi TIMESTAMP daca doriti sa inregistrati in acel camp un punct fix in timp (de exemplu data cand o inregistrare a fost introdusa in baza de date). Folositi DATETIME daca data/ora pot fi setate si schimbate arbitrar.
La tipul TIMESTAMP data si ora este setata automat cu timpul curent cand se face INSERT sau UPDATE, daca nu se specifica o valoare pentru acel camp.
- Nu este o buna idee sa folosesti date binare. Solicita prea mult baza de date, si nu se pot afisa imagini direct din baza de date.

Aceasta lectie e doar pentru o scurta introducere, si puteti reveni ca sa verificati tipul de date care doriti sa fie folosit.
In tutorialul urmator puteti invata cum sa va conectati la serverul MySQL cu PHP, sa creati o baza de date si tabele, utilizand interfata MySQLi (MySQL Improved).

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag defineste zona de click intr-o harta creata dintr-o imagine?
<map> <img> <area>
<img src="image.jpg" usemap="#map1">
<map name="map1">
  <area shape="rect" coords="9, 120, 56, 149" href="#">
  <area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Ce proprietate CSS indica ce sa se intample cand continutul unui element depaseste dimensiunile lui?
display overflow position
#id {
  overflow: auto;
}
Clic pe evenimentul care este declansat cand mouse-ul e deasupra unui obiect.
onclick onmouseover onmouseout
document.getElementById("id").onmouseover = function(){
  document.write("Sa ai Viata Buna");
}
Indicati variabila PHP ce contine datele adaugate in adresa URL, dupa caracterul "?".
$_SESSION $_GET $_POST
if(isset($_GET["id"])) {
  echo $_GET["id"];
}
Clic pe pronumele reflexiv care e potrivit in propozitia: "Marc is the boy ... won the prize".
who which whoever
Marc is the boy who won the prize.
- Marc e baiatul care a castigat premiul.
Clic pe pronumele reflexiv care e potrivit in propozitia: "Voy a ver al pintor de ... les hablé ayer".
que quien cuyo
Voy a ver al pintor de quien les hablé ayer.
- Ma duc sa vad pictorul despre care ti-am vorbit ieri.
PHP MySQL - Introducere si Tipuri de Date

Last accessed pages

  1. Data si Ora in engleza - Date and Time (6142)
  2. Adverbele in limba engleza - Adverbs (11233)
  3. Gramatica limbii engleze - Prezentare Generala (80891)
  4. Adjectivul in limba engleza - The adjective (8554)
  5. Citeste date din fisier Excel in PHP - PhpExcelReader (118)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2881)
  2. Conditional IF in Limba Engleza - Fraze Conditionale (2194)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1962)
  4. Curs HTML gratuit Tutoriale HTML5 (1959)
  5. Creare si editare pagini HTML (1476)