Curs Php-mysql

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 se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
PHP MySQL - Introducere si Tipuri de Date

Last accessed pages

  1. Script comentarii 3 (643)
  2. Viitor simplu si continuu - Future Tense Simple and Continuous (46034)
  3. Nu ma pot rani decat gandurile mele (43)
  4. Partea a doua. Exercitii zilnice 221-365 (767)
  5. Pot sa pun limite Fiului lui Dumnezeu? (29)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (695)
  2. Coduri pt culori (311)
  3. Exercitii engleza - English Tests and exercises - Grammar (306)
  4. Gramatica limbii engleze - Prezentare Generala (298)
  5. Cursuri limba engleza gratuite si lectii online (278)