Tipuri de date
Tipurile de date care apar in coloanele MySQL sunt diferite in functie de tipul lor. MySQL aloca spatiu pe disc in functie de tipul de date specificat de utilizator. Sa luam un exemplu: Vrem un tabel cu salariatii unei firme, care sa contina o coloana pentru numarul de zile de concediu legal. Daca setam respectiva coloana ca fiind TINYINT (pentru ca aceasta este valoarea numerica in care se incadreaza - un salariat nu va avea mai mult de 127 de zile de concediu pe an!). Pentru fiecare inregistrare in coloana zile_concediu, MySQL va aloca 1 byte de memorie, indiferent daca un angajat are 2 zile de concediu si altul are 18. Daca acelasi camp il setam ca INT, MySQL va aloca fiecarei inregistrari in coloana 4 bytes, indiferent de numarul de zile de concediu introduse si astfel pentru fiecare inregistrare (fiecare angajat) se vor pierde 3 bytes. Acesta este doar un exemplu, dar puteti avea la un moment dat o baza de date cu 10 milioane de inregistrari si atunci pierderea a 3 bytes la fiecare inregistrare se traduce in cateva zeci de MB de spatiu.
Iata si tipurile de date, spatiul pe care il ocupa precum si valorile minime si maxime pe care le pot avea:
Valori numerice: | ||||||||||||||||||||||||
|
Toate tipurile de mai sus au un atribut optional (nestandard), UNSIGNED. Puteti folosi acest atribut in definirea tipului de date al unei coloane atunci cand doriti sa contina doar valori pozitive. Un camp de tip TINYINT va putea contine numere intre -128 si 127 in timp ce alt camp, TINYINT UNSIGNED va putea avea valori intre 0 si 255. La fel, pentru SMALLINT valorile sunt de la -32768 pana la 32767 in timp ce pentru SMALLINT UNSIGNED ele pot fi intre 0 si 65535.
Daca intr-un camp TINYINT care are valori intre -128 si 127 veti incerca sa introduceti o valoare mai mica de -128 ea va fi convertita in cea mai mica valoare admisa, -128. La fel si invers, va fi convertita in 127 in acest caz.
Data / timp: | ||||||||||||
|
Tipul de camp TIMESTAMP ofera posibilitatea de a data automat operatiile de tip INSERT si UPDATE. El este compus implicit din 14 caractere pentru formatul 'YYYYMMDDhhmmss' dar putem sa specificam la crearea unui tabel ca dorim sa contina mai putine caractere:
Timestamp | |||||||||||||||||||||||||||||||
Stringuri (siruri)
Campul de tip BLOB poate contine o cantitate variabila de informatie, similar cu TEXT insa diferit printr-un singur aspect: cautarea intr-un camp BLOB este case sensitive (se face diferenta intre majuscule si minuscule), iar intr-un camp TEXT nu este. Tipul VARCHAR este similar tipului TEXT cu deosebirea ca intr-o coloana de tip VARCHAR putem specifica numarul maxim de caractere admis. |
Link-ul autorului:
www.tutoriale.far-php.ro
Comentarii
Voteaza acest articol!
Trimite un comentariu!