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
Ce atribut indica faptul ca un camp de formular trebuie completat?
required="required" autofocus="autofocus" placeholder="text"
<input type="text" name="name1" required="required" />
Ce metoda CSS misoreaza sau mareste dimensiunile unui element (inclusiv continutul)?
translate() scale() skew()
#some_id:hover {
  transform: scale(2, 1.5);
  -ms-transform: scale(2, 1.5);    /* IE 9 */
  -moz-transform: scale(2, 1.5);   /* Firefox */
}
Click pe metoda obiectului Date care returneaza ziua din luna.
setDate() getMonth() getDate()
var rightnow = new Date();
var day = rightnow.getDate();
alert(day);
Ce functie este folosita pentru a incarca un fisier pe server?
is_file() move_uploaded_file() fopen()
if(move_uploaded_file($_FILES["field_name"]["tmp_name"], "dir/file_name")) {
  echo "Fisierul a fost incarcat";
}
Cum se spune in engleza expresia: "Ploua cu galeata"?
rain cats and dogs rain buckets quiet rain
In Bucharest it`s raining cats and dogs.
- In Bucuresti ploua cu galeata.
Cum se spune in spaniola expresia: "Ploua cu galeata"?
llover cubo llover a cántaros lluvia tranquila
En Madrid está lloviendo a cántaros.
- In Madrid ploua cu galeata.
PHP MySQL - Introducere si Tipuri de Date

Last accessed pages

  1. Curs HTML gratuit Tutoriale HTML5 (196725)
  2. Liste HTML - UL, OL (11169)
  3. Substantive - Exercitii si teste engleza incepatori (40658)
  4. Prezentul simplu - Exercitii si teste incepatori (70317)
  5. Conditional IF - Exercitii si teste engleza incepatori (21547)

Popular pages this month

  1. Curs HTML gratuit Tutoriale HTML5 (503)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (442)
  3. Coduri pt culori (281)
  4. Formatare text in pagina html (163)
  5. Creare si editare pagini HTML (159)