marți, 17 februarie 2015

16-20.02

 Suport de curs:  
- pentru orele de curs: manual
- pentru performanta scolara:

Baze de date si MySQL - Suport de curs

Simulator SQL: http://sqlfiddle.com/

Interogari MYSQL

Proprietatea SELECT poate fi utilizata intr-o comanda mysql_query pentru a alege anumite informatii din tabelul bazei de date.

 Sintaxa pentru preluarea datelor din tabelul bazei de date este: 
SELECT  expresii si coloane FROM nume tabela
  [WHERE conditie][ORDER BY lista coloane expresii] [ASC/DESC]]

Exemple:
SELECT * FROM tabel; afiseaza tot continutul tabelului
SELECT camp1 FROM tabel; afiseaza continutul campului 1
SELECT camp1, camp2 FROM tabel afiseaza continutul campului 1 si campului 2
SELECT * FROM tabel WHERE camp1 = 'valoare1'; afiseaza toate randurile din camp1 a caror valoare este "valoare1"
SELECT camp1, camp2 FROM tabel WHERE camp2 LIKE 'valoare2'; afiseaza continutul campului 1 si campului 2 acolo unde campul 2 este asemanator cu "valoare2"
SELECT * FROM tabel WHERE camp2 LIKE 'valoare2%'; afiseaza toate inregistrarile acolo unde campul 2 incepe cu "valoare2"
SELECT * FROM tabel WHERE camp2 LIKE '%valoare2'; afiseaza toate inregistrarile acolo unde campul 2 se termina cu "valoare2"
SELECT * FROM tabel WHERE campul2 LIKE '%valoare2%'; afiseaza toate inregistrarile acolo unde campul 2 se aseamana cu "valoare2" oriunde in text
SELECT * FROM tabel WHERE camp1=valoare1 AND camp2 LIKE '%valoare2%'; afiseaza inregistrarile acolo unde campul 1 este egal cu "valoare1" si campul 2 este asemanator cu "valoare2"
SELECT camp1, camp2 FROM tabel WHERE camp1 != valoare3; afiseaza camp 1 si camp 2 acolo unde camp 1 este diferit de "valoare3"
SELECT * FROM tabel WHERE camp3 NOT LIKE 'valoarea3%'; afiseaza toate inregistrarile acolo unde campul 3 nu incepe cu "valoare3"
SELECT camp2 FROM tabel ORDER BY camp2 ASC; afiseaza campul 2 in ordine crescatoare
SELECT camp1, camp2 FROM tabel ORDER BY camp1 ASC, camp2 DESC; afiseaza continutul campului 1 in ordine crescatoare si continutul campului 2 in ordine descrescatoare
SELECT count(*) FROM tabel;afiseaza cate inregistrari sunt in total in tabel
SELECT count (*) FROM tabel WHERE camp1=valoare1; afiseaza cate inregistrari sunt in tabel al caror camp 1 este "valoare1"
SELECT SUM(coloana1) FROM tabel; afiseaza suma elementelor din campul"coloana1" din tabelul "tabel"
SELECT AVG(coloana1) FROM tabel; afiseaza media aritmetica a elementelor din campul"coloana1" din tabelul "tabel"
SELECT CONCAT(coloana1, coloana2) FROM TABEL; afiseaza valorile coloanei 1 si coloanei 2 concatenate
SELECT LENGTH(coloana1) FROM tabel; afiseaza cate caractere contine fiecare valoare din coloana 1
SELECT MAX(camp1) FROM tabel; afiseaza numarul cel mai mare din coloana "camp1"
SELECT MIN(camp1) FROM tabel; afiseaza numarul cel mai mic din coloana "camp1"
SELECT * FROM tabel LIMIT 0,5; afiseaza primele 6 inregistrari din tabel(0 = prima inregistrare, 1 = a doua etc)
SELECT * FROM tabel LIMIT 6,4; afiseaza incepand de la inregistrarea 6, inca 4


 SARCINA DE LUCRU:
1. Fie relaţia (tabelul) Angajat cu următoarele atribute: NumeAngajat, PrenumeAngajat, DataNasterii, CNP, Adresă, DataAngajarii, Functie. 
Executarea comenzii:
SELECT NumeAngajat, PrenumeAngajat, Funcţia
FROM Angajat
WHERE Salariu = 1000;
are drept rezultat?
2. Dată fiind relaţia Angajat cu atributele: Nume, Prenume, Funcţie, Salariu. Comanda:
SELECT Nume, Prenume, Funcţia

FROM Angajat

ORDER BY Nume  ASC;

Are drept rezultat listarea tuturor angajaţilor cu toate atributele existente în relaţia Angajat ordonaţi alfabetic după nume.


Adevărat

Fals


3. Identificaţi corespondenţele corecte care se pot stabili între elementele coloanei A şi cele ale coloanei B.

Coloana A
Coloana B
  1. Reguli de integritate
  2. Cheia primară
  3. Supercheie
  4. Domeniul

  1. Este obligatorie şi este unică
  2. Integritatea entităţilor, integritatea referenţială
  3. Numărul de rânduri ale unei relaţii.
  4. Poate conţine şi atribute care nusunt necesare pentru identificarea unică.
  5. Mulţime de valori permisă pentru unul sau mai multe atribute.

Niciun comentariu:

Trimiteți un comentariu