You are on page 1of 4

Crearea, tergerea i selectarea bazelor de date

Crearea bazelor de date


mysql> CREATE DATABASE Liceul_Info;

tergerea bazelor de date


mysql> DROP DATABASE Liceul_Info;

Selectarea unei baze de date


mysql> USE Liceul_Info;

Crearea, modificarea i tergerea tabelelor


CREATE TABLE nume_ta el !nume_cam" ti"_#ata $%OT %ULL & %ULL' $DE(AULT #efault_)alue' $AUTO_I%CRE*E%T' $U%I+UE $,E-'&$PRI*AR$CO**E%T .comenta/iu.'0 1112 mysql> mysql> mysql> '> USE Liceul_Info; CREATE TABLE Profesori(Nume VARC AR(!"#$ Prenume VARC AR(!"#$ Vec%ime INT#; CREATE TABLE Ele&i(Nume VARC AR(!"#$ Prenume VARC AR(!"#$ V(rs)( INT$ Cl(s( INT#; ,E-'

Vizualizare tabel
mysql> *ESCRIBE nume_ta el;

Sintaxa modificare tabel


ALTER TABLE nume_ta el ADD $CA*P' nume_cam" ti"_#ata $%OT %ULL & %ULL' $DE(AULT #efault_)alue' $AUTO_I%CRE*E%T' $U%I+UE $,E-'&$PRI*AR-' ,E-' $CO**E%T .comenta/iu.' $(IRST & A(TER nume_cam"' & *ODI(- $CA*P' nume_cam" ti"_#ata $%OT %ULL & %ULL' $DE(AULT #efault_)alue' $AUTO_I%CRE*E%T' $U%I+UE $,E-'&$PRI*AR-' ,E-' $CO**E%T .comenta/iu.' $(IRST & A(TER nume_cam"' & DROP $CA*P' nume_cam" mysql> 7> mysql> mysql> ALTER A(TER ALTER ALTER TABLE Ele)i ADD A#/esa 3ARC4AR!562 %OT %ULL P/enume; TABLE Ele)i *ODI(- A#/esa 3ARC4AR!862 (IRST; TABLE Ele)i DROP A#/esa;

Sintaxa tergere tabel


DROP TABLE nume_ta el

Inserarea datelor ntr-un tabel. Instruciunea INSERT


I%SERT $I%TO' nume_ta el $!nume_cam"01112' 3ALUES !9e:"/esie & DE(AULT;011120!11120111 mysql> I%SERT I%TO P/ofeso/i 3ALUES!.Po".0 .Raul.0 562;

Selectarea datelor dintr-un tabel. Instruciunea SE ECT


SELECT $ALL & DISTI%CT ' e:"/esie0 111 $(RO* nume_ta el $<4ERE con#itie' $=ROUP B- 9nume_cam" & e:"/esie; $ASC & DESC'0 111 ' $ORDER B- 9nume_cam" & e:"/esie; $ASC & DESC'0 111'

Selectarea tuturor cmpurilor dintr-un tabel se face astfel:


SELECT > (RO* nume_ta el;

Clauza WHERE
Comenzii SELECTi seadaug clauza + ERE urmat de condiia necesar.
mysql> SELECT > (RO* P/ofeso/i <4ERE %ume?.R. A%D 3ec@ime>A6; mysql> SELECT %ume0 P/enume (RO* P/ofeso/i;

Clauza ORDER BY
Comenzii SELECTi seadaug clauza ORDER B- nume_col_B0 nume_col_A0
1110nume_col_n $ASCCDESC';

Valoarea implicit este SC


mysql> SELECT > (RO* P/ofeso/i ORDER B- %ume; mysql> SELECT > (RO* P/ofeso/i ORDER B- 3ec@ime DESC;

Clauza !"E
se folose!te "-# pentru $nlocuirea unui singur caracter "%# pentru $nlocuirea unui !ir de caractere de lungime minim zero & pentru un anumit numr de caractere 'cte & sunt(
> (RO* P/ofeso/i <4ERE %ume LI,E .PD.; > (RO* P/ofeso/i <4ERE %ume LI,E .DoD. OR LI,E .DoD.; > (RO* P/ofeso/i <4ERE %ume LI,E .____.;

mysql> SELECT mysql> SELECT 7>P/enume mysql> SELECT

Clauza #RO$% BY
SELECT colB0 colA0 111 coln0 functie_aE/eEat !e:"/esie2 (RO* ta el <4ERE con#itie =ROUP B- col0 colA0 111 coln;

&unc'ii CO$()*S$+* ,-#* )R$(C,)E* +!(* +,.


mysql> SELECT COU%T!>2 (RO* P/ofeso/i;

flarea numrului tuturor $nregistrrilor se face cu a)utorul funciei C,UNT(-#.

mysql> SELECT %ume0 COU%T!>2 (RO* P/ofeso/i =ROUP B- %ume;

mysql> SELECT Clasa0 TRU%CATE!A3=!*_info20A2 (RO* Ele)i =ROUP B- Clasa; mysql> SELECT clasa0 TRU%CATE !SU*!*_info2CCOU%T!>20 A2 (RO* Ele)i =ROUP Bclasa; mysql> SELECT Clasa *I%!*_*ate20 *AF!*_*ate20 7>*I%!*_Info20 *AF!*_Info2 (RO* Ele)i =ROUP B- Clasa;

Clauza ,S
mysql> SELECT %ume0P/enume0 7> TRU%CATE!SU*!3ec@ime2CCOU%T!>2062 7> AS *e#ie (RO* P/ofeso/i =ROUP B- %ume;

!odificarea datelor dintr-un tabel. Instruciunea "#$%TE


UPDATE nume_ta el SET nume_cam"BGe:"/B $0 nume_cam"AGe:"/A 111' $<4ERE con#itie' $ORDER B- 111' $LI*IT numa/_linii' mysql> UPDATE P/ofeso/i SET 3ec@imeG3ec@imeHB; mysql> UPDATE P/ofeso/i SET 3ec@imeG3ec@imeHB0 =/a#G=/a#7B 7> <4ERE =/a#?>B;

Clauza !+!)
Clauza esteutil $n care se dore!te modificarea doar a primelor "num(r_linii# $nregistrri.
mysql> UPDATE P/ofeso/i SET =/a#G=/a#7B <4ERE =/a#?>B 7> ORDER B- %ume0 P/enume ASC LI*IT A;

&tergerea datelor dintr-un tabel. Instruciunea $E ETE


DELETE (RO* nume_ta el $<4ERE con#itie' $ORDER B- 111' $LI*IT numa/_linii' mysql> DELETE (RO* P/ofeso/i <4ERE %umeG.Po".; mysql> DELETE (RO* P/ofeso/i;

MySQL, sistem de baze de date relaional


Selectarea datelor din mai multe tabele
mysql> SELECT e1%ume0 e1P/enume0 e1Clasa0 c1*_Rom0 c1*_*ate0 7> c1*_Info (RO* Ele)i as e0 CataloE as c <4ERE 7> e1%umeGc1%ume A%D e1P/enumeGc1P/enume;

Relaionarea tabelelor
CREATE nume_ta el !nume_cam" ti"_#ata $%OT %ULL & %ULL' $DE(AULT #efault_)alue' $AUTO_I%CRE*E%T' $U%I+UE $,E-'&$PRI*AR,E-' $CO**E%T .comenta/iu.'0 1112

C'eie e(tern)
(OREI=% ,E- $i#' !in#e:_nume_cam"0 1112 RE(ERE%CES nume_ta el !in#e:_nume_cam"0 1112 $O% DELETE 9RESTRICT & CASCADE & SET %ULL & %O ACTIO%;' $O% UPDATE 9RESTRICT & CASCADE & SET %ULL & %O ACTIO%;' mysql> ALTER TABLE CataloE ADD (OREI=% ,E- !I#2 RE(ERE%CES 7> Ele)i !I#2 O% DELETE CASCADE O% UPDATE CASCADE;

*tergerea unei constrngeri +a face dup urmtoare sinta,:


ALTER TABLE nume_ta el DROP (OREI=% ,E- sym ol_c@eie;

Clauza *+IN
nume_ta elB $I%%ER & LE(T & RI=4T' IOI% nume_ta elA O% con#itie

INNER - realizeaz produsul cartezian $ntre $nregistrrile din nume_)(.el/ !i nume_)(.el!0 Cu alte cu+inte. fiecrei $nregistrri din primul tabel i se +or ata!a toate $nregistrrile aferente din al doilea tabel conform condiiei de dup clauza ,N LE1T 2 selecteaz doar acele $nregistrri din primul tabel care nu au nici o $nregistrare corespondent $n al doilea tabel RI3 T 2 analog cu LE1T
mysql> SELECT e1%ume0 e1 P/enume0 c1*_Rom0 c1*_*ate0 c1*_Info 7> (RO* Ele)i as e I%%ER IOI% CataloE as c O% e1I#Gc1I#;