Documente Academic
Documente Profesional
Documente Cultură
Numere intregi
Tipuri de date si modificatori specifici
Nr.
Tip de date
TINYINT
Sinonime
SMALLINT
MEDIUMINT
(unsigned)
-128...127
0...255
-32768...32767
0...65535
-8388608...8388607
0...16777215
EXEMPLU:
InfoAcademy SQL 2015
Modificatorul AUTO_INCREMENT
Adugat unei coloane cu tip de date numeric, atributul
AUTO_INCREMENT insereaza o noua valoare numerica egala cu
valoarea maxima existenta plus unu.
O tabela SQL poate avea o singura coloana de tip AUTO_INCREMENT
si acea coloana trebuie declarata ca index.
EXEMPLU:
Numere fractionare
Numere finite, numere infinite reprezentare trunchiata.
Memorarea numerelor fracionare intr-un sistem de calcul se poate face in
doua moduri:
- in virgula fixa - presupune stabilirea de la bun inceput a numrului de
zecimale;
- in virgula mobila - poziia virgulei in cadrul numrului nu mai este
prestabilita, ci poate varia in funcie de valoarea memorata. Numrul total
de cifre ce pot fi memorate ramane acelai, insa prin schimbarea poziiei
virgulei pot fi obinute numere de diferite anverguri si precizii.
Caracteristici:
- In virgula fixa stabilim de la inceput numarul de zecimale, respectiv pozitia
virgulei;
- In cazul virgulei mobile putem muta virgula atat la dreapta cat si la stanga;
InfoAcademy SQL 2015
9
- In virgula fixa memoram valoarea
exacta asteptata (finita sau rotunjita);
Sinonime
DECIMA DEC
L
NUMERIC
FIXED
Caracteristici:
- Exista un singur tip de date in virgule fixa: DECIMAL;
- Se configureaza doi parametri: numarul total de cifre admise si
numarul de zecimale;
- Separatorul zecimal si eventualul semn minus nu se iau in calcul;
- Daca incercam sa introducem valori mai mari in sql_mode strict
vom avea o eroare, in modul nonstrict valoarea va fi trunchiata la
valoarea maxima admisa;
InfoAcademy SQL 2015
CREATE TABLE Produse (Denumire
VARCHAR(100), Pret
10
Sinonime
Nr.
oct.
(preciz
ie)
cu semn
.
unsigned
FLOAT
4
-3.4xl038...3.4 xl038
0...3.4 x IO38
DOUBLE
DOUBLE PRECISION 8
-1.7 x IO308...1.7 x
0...1.7xl0308
REAL este implicit
sinonim
pentru DOUBLE;
daca insa(aprox.)
se folosete
REAL (vezi
nota)
IO308
sql_mode opiunea REAL_AS_FLOAT,
REAL devine sinonim pentru
(aprox)
FLOAT
11
in
12
Valori posibile
1000-01-01 ... 9999-12-31
1000-01-01 00:00:00 ... 9999-12-31 23:59:59
-838:59:59 ... 838:59:59
1901 ... 2155 (pt 4 digiti) 1970 ... 2069 (pt 2 digiti)
1970-01-01 00:00:01 ... 2038-01-09 03:14:07
Caracteristici:
- data calendaristica - tipul de date DATE sub forma AAAA-LLZZ;
- moment in timp (data calendaristica+ora) - tipul de date
DATETIME. Formatul este AAAA-LL-ZZ 00:MM:SS;
- TIMESTAMP - asemanator DATETIME, poate memora automat
timpul curent la INSERT sau UPDATE, folosind atributul
ON_UPDATE_CURRENT_TIMESTAMP.
InfoAcademy SQL 2015
13
Valori posibile
DATE
DATETIME
TIME
YEAR
TIMESTAMP
Caracteristici (continuare):
- interval de timp - tipul de date TIME, care poate fi folosit pentru a
reprezenta atat ora din zi, cat si intervale de timp care pot fi mai mari
de 24h. Formatul este 00:MM:SS sau 000:MM:SS;
- an - tipul YEAR, pe 2 sau pe 4 digiti;
- valorile constante pentru coloane se specifica incadrate in apostroafe,
cu excepia tipului YEAR reprezentat ca intreg. Lunile sau zilele care au
o singura cifra nu este obligatoriu sa aiba 0 in fata. Ex: '2006-4-13
'2006-4-13 18:23:45',
'104:56:59',
16
Tipuri de siruri
MySQL ofer utilizatorului posibilitatea de a lucra cu doua tipuri de iruri:
- iruri de octei - sunt simple succesiuni de numere. Compararea a
doua astfel de iruri se efectueaz numeric, octet cu octet;
- iruri de caractere - un sir de caractere difer fundamental de unul de
octei prin urmtoarele aspecte:
- un caracter poate fi reprezentat pe unul sau mai muli octei (spre
exemplu, un sir de 3 caractere poate avea chiar 9 sau mai muli octei). Ca
o consecina, compararea a doua iruri de caractere nu mai poate fi fcuta
comparnd octeii componeni unul cate unul, ci trebuie inut cont de
caracterele pe care le reprezint diversele grupuri de octei;
Exemplu: r care in reprezentare UTF8 are 5 octei: (197,162 ; 195, 162 ;
114)
(http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=
dec&unicodeinhtml=dec )
Siruri de octeti
Tip de date
Spaiu ocupat
BINARY(N)
VARBINARY(N)
Nr. maxim de
octei
N (N<=255)
N (N<=65535)
N octei
Nr. de octei al valorii + 1 sau 2 pt
lungime
TINYBLOB
Nr. de octei al valorii + 1 octet pt
255
lungime
BLOB
Nr. de octei al valorii + 2 octet pt
65535
lungime
MEDIUMBLOB
Nr. de octei al valorii + 3 octet pt
16,777,215 (16M)
BYNARY
caracteristici:
lungime
- siruri de lungime
fixa (N), specificata in definitia coloanei;
LONGBLOB
Nr. de octei al valorii + 4 octet pt
4,294,967,295 (4G)
- valorile culungime
lungimi mai mici sunt completate automat cu spatii;
18
Spaiu ocupat
Nr. maxim de
octei
N (N<=255)
N (N<=65535)
N octei
Nr. de octei al valorii + 1 sau 2 pt
lungime
TINYBLOB
Nr. de octei al valorii + 1 octet pt
255
lungime
BLOB
Nr. de octei al valorii + 2 octet pt
65535
lungime
MEDIUMBLOB
Nr. de octei al valorii + 3 octet pt
16,777,215 (16M)
lungime
VARBYNARY caracteristici:
LONGBLOB
Nr. de octei al valorii + 4 octet pt
- lungime maxima
(N), specificata in definitia4,294,967,295
coloanei; (4G)
lungime
Spaiu ocupat
BINARY(N)
VARBINARY(N)
Nr. maxim de
octei
N (N<=255)
N (N<=65535)
N octei
Nr. de octei al valorii + 1 sau 2 pt
lungime
TINYBLOB
Nr. de octei al valorii + 1 octet pt
255
lungime
BLOB
Nr. de octei al valorii + 2 octet pt
65535
lungime
MEDIUMBLOB
Nr. de octei al valorii + 3 octet pt
16,777,215 (16M)
Tipurile de date lungime
BLOB (Binary Large Object) caracteristici:
LONGBLOB
Nr. de octei al valorii + 4 octet pt
4,294,967,295 (4G)
- accepta valori
cu lungime variabila, asemanatoare
cu
lungime
20
iruri de caractere
Character set
Character set reprezinta o lista de caractere posibile, fiecare in
corespondenta cu un cod numeric.
- unele seturi sunt reprezentate pe un singur octet (ASCII);
- altele pe 2 octeti - lungime fixa (UCS2);
- altele ocupa 1-4 octeti lungime variabila (UTF8, UTF16, UTF32).
Set de
caractere
Descriere
ASCII
ISO-8859-2
(latin2)
UCS2
Collation
Collation reprezinta setul de reguli specific utilizat la compararea
caracterelor componente.
- literele mici si mari pot fi considerate sau nu echivalente (case
sensitive/insensitive);
- literele cu accent sau diacritice pot fi sau nu echivalente;
- un character set poate avea unul sau mai multe collation, dar un sir de
caractere poate avea un singur collation;
- doua seturi diferite de caractere nu pot avea acelasi collation;
Denumirea fiecarui collation este de tipul: numecharset_referinta_tip.
Referinta poate fi: general, numele tarii pentru care se aplica, etc.
Tipul poate fi:
- _ci - case-insensitive;
- _cs - case sensitive;
- _bin - binary (comparate exclusive pe baza codului lor, toate fiind
diferite intre ele.
InfoAcademy SQL 2015
Se pot define valori implicite
de charset/collation la nivel de server, 22
BD si
Numar maxim de
caractere
N (N<=255)
N (N<=65535)
255
65535
16,777,215 (16M)
4,294,967,295 (4G)
Caracteristici:
- similar ca la sirurile de octeti CHAR are lungime fixa completata
cu spatii;
- celelalte au lungime variabila plus octetii pentru lungime;
- un caracter poate ocupa mai multi octeti;
- la definirea unei coloane de tip sir de caractere se specifica
InfoAcademy SQL 2015
23
lungimea, charset-ul si collation;
24
25
26
27
28