CATEGORII DOCUMENTE |
Baze de date. Prezentare. Interogari SQL.
Bazele de date au aparut si s-au dezvoltat datorita necesitatii lucrului cu un volum din ce in ce mai mare de informatii.
Intr-o baza de date, informatia este organizata sub forma tabelara, in care coloanele se numesc campuri iar liniile se numesc inregistrari. Capul de tabel este denumit structura.
Un sistem de gestionare a bazelor de date (SGBD) este un program care permite utilizatorilor interactiunea cu baza de date. Un SGBD asigura:
crearea bazei de date
introducerea informatiilor in baza de date
actualizarea informatiilor
extragerea datelor
controlul accesului la date
Obiectivul esential al unui SGBD este furnizarea unui mediu eficient, adaptat utilizatorilor care doresc sa consulte sau sa actualizeze informatiile continute in baza de date.
O baza de date poate contine mai multe tabele, ce pot fi legate intre ele.
Un camp se caracterizeaza prin:
numele campului (reprezinta un nume simbolic prin care campul se poate identifica)
tipul campului (pentru identificarea tipului de date care pot fi stocate in campul respectiv)
lungimea campului (numarul maxim de caractere care pot fi stocate in campul respectiv)
MySQL a fost creat in anul 1996 de catre compania suedeza TcX, este un SGBD foarte rapid care poate lucra cu baze de date de mari dimensiuni.
MySQL permite trei tipuri de campuri: numerice, data si sir.
Unul dintre cele mai utilizate tipuri de campuri in MySQL este Int (integer), care poate stoca valori cuprinse intre -2.147.483.648 si 2.147.483.647. Acest tip de camp poate fi folosit cu optiunea auto_increment, pentru a defini cheia primara a unei tabele.
Cheia primara este un camp care face posibila identificarea unica a fiecarei inregistrari. De obicei este vorba de un camp numeric, care va fi incrementat la fiecare operatie de adaugare.
Decimal (L,Z) ex. abc(5,2) -> 23.88 (lungime 5 plus 2 zecimale)
Tipuri de campuri data/ora
Exista in MySQL cinci tipuri de campuri folosite pentru stocarea datei calendaristice si a orei:
Date
Datetime
Timestamp
Time
Year
Campul de tip date stocheaza valori in format AAAA-LL-ZZ si permite introducerea valorilor cuprinse intre 1000-01-01 si 9999-12-31.
Campul de tip datetime stocheaza valori in format AAAA-LL-ZZ HH:MM:SS, cuprinse intre 1000-01-01 00:00:00 si 9999-12-31 23:59:59.
Campul de tip timestamp stocheaza automat timpul atunci cand se modifica valoarea unei inregistrari (printr-o operatie de introducere sau actualizare).
Campul de tip time stocheaza timpul in format HH:MM:SS.
Campul de tip year poate stoca date cuprinse intre 1901 si 2155.
Campuri de tip sir
MySQL foloseste mai multe tipuri de campuri pentru stocarea sirurilor de caractere:
Char
Varchar
Text
Enum
Campul de tip char are lungimea maxima de 255 caractere; este de lungime fixa (atunci cand introducem o valoare cu lungimea mai mica decat lungimea maxima a campului, campul va fi completat in partea dreapta cu spatii).
Campul de tip varchar are lungimea maxima de 255 caractere, dar este de lungime variabila (campurile nu vor mai fi completate cu spatii ca la tipul char).
Campurile de tip text pot stoca o cantitate variabila de date.
Campurile de tip enum permit stocarea unei valori dintr-o multime de valori specificata. De exemplu, pentru crearea unei tabele in care vor fi stocate impresiile vizitatorilor despre un site vom folosi comanda:
create table pareri(id int auto_increment primary key, nume varchar(20), prenume varchar(20), email varchar(25), parere enum('buna', 'acceptabila', 'dezastruoasa'));
Comenzi MySQL
Crearea unei baze de date se face cu comanda:
CREATE DATABASE nume_baza;
De exemplu, crearea bazei de date numita joburi se face cu comanda
CREATE DATABASE angajare;
Caracterul ; este obligatoriu la sfarsitul oricarei comenzi, iar apoi se va apasa tasta Enter.
Afisarea bazelor de date existente pe server se face cu comanda:
SHOW DATABASES
Accesarea (deschiderea) unei baze de date pentru a putea fi folosita se face cu comanda:
USE nume_baza;
Crearea unei tabele intr-o baza de date presupune mai intai deschiderea bazei de date si apoi crearea propriu-zisa a tabelei:
USE joburi;
CREATE TABLE posturi (id_post INT (5) not null AUTO_INCREMENT, firma VARCHAR (30) not null , oras VARCHAR (20) not null , domeniu VARCHAR (20) not null , telefon VARCHAR (15) not null , email VARCHAR (30) not null , url VARCHAR (30) not null , postul VARCHAR (50) not null , contract VARCHAR (15) not null , debut DATE not null , competente VARCHAR (100) not null , descriere VARCHAR (255) not null , PRIMARY KEY (id_post));
Afisarea tabelelor continute de o baza de date presupune deschiderea bazei de date si apoi folosirea comenzii
SHOW TABLES;
Afisarea structurii unei tabele se face cu comanda
DESC nume_tabela;
In acest caz vor fi afisate numele campurilor, tipul si lungimea lor.
Pentru a modifica structura unei tabele se foloseste comanda ALTER TABLE.
De exemplu, pentru a modifica lungimea campului firma de la 30 la 40 caractere, comanda este:
ALTER TABLE posturi MODIFY firma varchar(40);
Pentru a adauga un nou camp numit preferinte, comanda este:
ALTER TABLE posturi ADD preferinte varchar(50);
Pentru a schimba denumirea campului preferinte in amanunte, comanda este:
ALTER TABLE posturi CHANGE preferinte amanunte varchar(50);
Stergerea unei tabele se face cu comanda DROP TABLE.
De exemplu, stergerea tabelei numita diverse, vom folosi comanda
DROP TABLE diverse;
Comanda DROP TABLE trebuie folosita cu mare grija, intrucat, in urma executarii ei, atat structura sa cat si datele continute sunt sterse, acest lucru fiind ireversibil.
Comanda INSERT introduce inregistrari intr-o tabela existenta.
Forma generala a comenzii este:
INSERT INTO nume_tabela [(camp1,camp2,.,camp n)]
VALUES (valoare1,valoare2,., valoare n);
Un exemplu simplu: pentru a introduce date in tabela posturi daca dorim sa completam numai doua din campurile tabelei, comanda se scrie:
INSERT INTO posturi (firma, oras) VALUES ('Softwin', 'Bucuresti');
Daca insa dorim sa completam toate campurile, nu este obligatoriu sa scriem si numele campurilor, insa valorile trebuie introduse in ordinea campurilor in tabela.
10. Comanda SELECT este utilizata pentru a extrage inregistrarile din una sau mai multe tabele. Sintaxa generala este:
SELECT [DISTINCT] camp1, camp2,., camp n
FROM nume_tabela
WHERE conditie
GROUP BY nume_camp
ORDER BY nume_camp [ASC | DESC
LIMIT [numarul_primei_inregistrari_dorite, numarul_de_inregistrari_returnat]
De exemplu, pentru tabela posturi vom extrage toate posturile din domeniul Informatica, ordonate descrescator dupa data introducerii lor:
select * from posturi where domeniu='Informatica' order by data desc;
Daca dorim sa afisam primele zece posturi, comanda va fi:
select * from posturi limit 10;
Daca dorim afisarea anumitor campuri, acestea vor fi separate prin virgula:
select firma, oras, domeniu, postul, debut from posturi;
In MySQL se pot folosi caracterele % (care inlocuieste orice sir de caractere) si _ (underscore) pentru inlocuirea unui singur caracter, in combinatie cu operatorul LIKE. De exemplu, pentru a afisa posturile in a caror descriere se intalneste sirul de caractere "web", comanda este:
select * from posturi where descriere like '%web%';
Pentru a afisa numarul de inregistrari se foloseste functia COUNT:
select count (*) from posturi where domeniu='Informatica';
NOTA: la insertul datei - se poate folosi functia mysql now() direct in query si se va completa data curenta dupa modelul campului din DB.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1807
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved