Anda di halaman 1dari 19

Tipuri de date.

Functii
mySQL

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Cuprins

• Tipuri de date 
• Constante
• Comentarii
• Operatori
• Functii mySQL
o Functii pe siruri de caractere
o Functii matematice
o Functii de tip data calendaristica si timp
• Crearea si stergerea tabelelor

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• Structured Query Language


o limbajul SQL suporta anumite tipuri de date
 numerice
 logice
 data calendaristica
 timp
 siruri de caractere
 date binare mari

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• MySQL
o notatie tipuri de date
 tip [(M,D)] [optiuni]
 tipul de date referit este afisat pe M pozitii, eventual cu D pozitii in
partea zecimala
 optiuni
 UNSIGNED - permite memorarea doar a valorilor pozitive
 ZEROFILL - la afisare, valorile numerice vor fi precedate de '0'
pana la lungimea de afisare
 BINARY - specifica faptul ca interpretarea caracterelor se va face in
cod ASCII (la compararea a doua siruri se va face distinctie intre
litere mari/mici)

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• Tipuri de date numerice


o TINYINT [(M)] [UNSIGNED] [ZEROFILL]
 [-128, 128], [0, 255]
o SMALLINT [(M)] [UNSIGNED] [ZEROFILL]
 [-32768, 32767], [0, 65535]
o MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL]
o INT [(M)] [UNSIGNED] [ZEROFILL]
o INTEGER [(M)] [UNSIGNED] [ZEROFILL]
o BIGINT [(M)] [UNSIGNED] [ZEROFILL]
o FLOAT [(M,D)] [ZEROFILL]
o DOUBLE [(M,D)] [ZEROFILL]
o REAL [(M,D)] [ZEROFILL]
 sinonim cu DOUBLE
o DECIMAL [(M,[D])] [ZEROFILL]
o NUMERIC [(M,[D])] [ZEROFILL]
 sinonim cu DECIMAL

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• Tipuri de date data calendaristica si timp


o DATE
 data calendaristica
 YYYY-MM-DD
o DATETIME
 combinatie de data calendaristica si timp
 YYYY-MM-DD HH:MM:SS
o TIMESTAMP [(M)] 
 moment de timp; include si data calendaristica
 YYYYMMDDHHMMSS
o TIME
 moment de timp
 HH:MM:SS
o YEAR [(2|4)] 
 an calendaristic
 YYYY

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• Tipuri de date sir de caractere


o CHAR (M) [BINARY]
 sir de caractere de lungime fixa
 daca se introduce un sir mai scurt el va fi completat cu spatii la dreapta
pana la lungimea M specificata
o BIT, BOOL, CHAR
 sinonime cu CHAR(1)
o VARCHAR (M) [BINARY]
 sir de caractere de lungime variabila
 la memorare, spatiile de la sfarsitul sirului sunt indepartate 
 daca nu se specifica optiunea BINARY, compararea valorilor se face
fara a tine cont de felul literelor

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Tipuri de date

• Tipuri de date binare mari


o se folosesc pentru a retine obiecte binare de mari dimensiuni - imagini,
secvente audio sau video (BLOB)
o texte de dimensiune mai mare de 255 caractere (TEXT)
 TINYBLOB, TINYTEXT 
 BLOB, TEXT
 MEDIUMBLOB, MEDIUMTEXT
 LONGBLOB, LONGTEXT

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Constante

• Tipuri de constante
o constante tip sir de caractere
 'constanta sir'
 "constanta sir"
o constante intregi
 32513
o constante reale
 32375.3256
o constanta NULL

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Comentarii

• Tipuri de comentarii
o # comentariu pe o singura linie
o -- comentariu pe o singura linie 
o /* comentariu
                pe mai multe linii */

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Operatori

• Tipuri de operatori
o grupare
 (, )
 mysql>SELECT (1+2)*3;
o aritmetici
 +, -, *, /
 mysql>SELECT 3+5, 3-5
o logici
 NOT, !
 OR, ||
 intoarce 1 daca cel putin un argument nu este 0 sau NULL
 AND, &&
 intoarce 0 sau NULL daca cel putin un argument este 0 sau NULL;
altfel intoarce 1
 mysql>SELECT NOT 1, NOT NULL, !(1+1);
 mysql>SELECT 1 OR 0, 1 || NULL;
 mysql>SELECT 1 && 0, 1 && NULL;

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Operatori

• Tipuri de operatori
o comparare
 returneaza 1 pentru adevarat, 0 pentru fals si NULL daca nu se poate
efectua comparatia
 =, <>, !=, <. >, <=, >=, 
 IS NULL, IS NOT NULL
 ISNULL(expresie)
 expresie BETWEEN min and max
 expresie IN (valoare1, ...)
 expresie NOT IN (valoare1, ...)
 IF (expresie1, expresie2, expresie3)
 mysql>SELECT 1=0, '0.0' = 0;
 mysql>SELECT 0 IS NULL, NULL IS NULL;
 mysql>SELECT 1 BETWEEN 2 AND 3;
 mysql>SELECT 2 IN (0,3,5);
 mysql>SELECT IF(1>3, 'DA', 'NU');

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Functii mySQL

• Tipuri de functii
o functii pe siruri de caractere
o functii matematice
o functii de tip data calendaristica si timp
o functii speciale

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Functii pe siruri de caractere

• CONCAT(str1, str2, ...) 


o concateneaza sirurile primite ca argument, returnand sirul rezultat
• LENGTH(str) 
o intoarce lungimea sirului primit ca si argument
• LOCATE(substr, str) 
o cauta prima pozitie a sirului substr in sirul str; daca il gaseste returneaza
pozitia, daca nu, returneaza 0
• LEFT(str, len) 
o intoarce un sir format din primele len caractere din sirul dat
• RIGHT(str, len) 
o intoarce un sir format din ultimele len caractere din sirul dat
• SUBSTRING(str, pos, len) 
o intoarce subsirul de la pozitia pos, de lungime len caractere din sirul dat
• LOWER(str), UPPER(str) 
o intorc sirul str cu toate caracterele convertite la litere mici, respectiv mari

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Functii matematice

• ROUND(x)
o rotunjire la cel mai apropiat intreg
• EXP(x)
o e la puterea x
• LOG(x)
o logaritm natural din x
• POW(x,y)
o x la puterea y
• SQRT(x)
o radical de ordinul 2 din x

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Functii de tip data calendaristica si timp

• DAYOFWEEK(date)
• DAYOFYEAR(date)
• DAYNAME(date)
• MONTHNAME(date)
• YEAR(date)
• HOUR(time)
• MINUTE(time)
• SECOND(time)
• NOW()
• SYSDATE()
• CURDATE()
• CURTIME()

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Crearea unui tabel

• CREATE TABLE [IF NOT EXISTS] nume_tabel (definitie)


 
• definitie = nume_coloana tip [NOT NULL | NULL] [DEFAULT valoare]            
                                          [AUTO_INCREMENT] [PRIMARY KEY]  
o NOT NULL 
 nu se permit valori NULL in camp
o NULL 
 permite valori NULL in camp
o DEFAULT valoare 
 completeaza campul lasat liber cu o valoare implicita
o AUTO_INCREMENT
 daca nu se insereaza nimic in camp, se va genera automat o valoare
mai mare cu o unitate fata de cea mai mare valoare din acel camp
o PRIMARY KEY
 specifica cheia primara pentru tabela

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Stergerea unui tabel

• DROP TABLE [IF EXISTS] nume_tabel


 
o IF EXISTS 
 inhiba mesajul de eroare care apare daca tabela nu exista

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii


Rularea unui fisier extern de comenzi

• SOURCE nume_fisier
o .txt
o .sql

Facultatea de Electronica si Telecomunicatii - Tehnologii si sisteme de telecomunicatii

Anda mungkin juga menyukai