Sunteți pe pagina 1din 32

50 Partea l Utilizarea general a sistemului MySQL

mysql> SHOW TABLS!


Ta"les#in#sam$#%"
mem"ru $re&e%inte
'a( nu reu&i)i ni(i m(ar s * reaminti)i numele "azei %e %ate+ in*,(a)i mysql -r. s$e(i-i(a un nume al "azei
%e %ate .n linia %e (,man%! a$,i emite)i , inter,gare SH/ 'ATABASS0
mysql> SHOW 'ATABASS!
'ata"ase
mena1erie mysql sam$#%" test
Lista (u "aze %e %ate *ariaz %e la un ser*er la altul+ %ar tre"uie (a .n list s a$ar / $u)in sam$#%" &i mysql!
ultima (,n)ine ta"elele %e a(,r%are+ (are (,ntr,leaz $ri*ilegi %e a((es MySQL2
3nter,grile 'S453B &i SHOW au e(6i*alente .n linie %e (,man% $e (are le $ute)i -,l( %in inter$reter0
A-i&eaz t,ate "azele %e %ate+ (a SHOW 'ATABAS
A-i&eaz ta"elele %in "aza %e %ate %at+ (a SH TABLS
A-i&eaz (,l,anele %in ta"elul %at+ (a 'S453 nume ta"el
7 mysqls6,8
7 mysqls6,8 nume#%"
7 mysqls6,8 nume#%" nume#ta"el
Ta"ele $entru $r,ie(tul %e e*i%en) a rezultatel,r &(,lare
Pentru a *e%ea (are sunt ta"elele %e (are a*em ne*,ie $entru $r,ie(tul %e e*i%en) a rez )a)el,r &(,lare+ s
e9aminm m,%ul .n (are se $,t s(rie $un(ta1ele atun(i (:n% -,l,si)i (atal,g $e 6:rtie2 ;igura <2= $rezint ,
$agin %in (atal,gul %umnea*,astr2 4,n)inu $rin(i$al al a(estei $agini este , matri(e $entru .nregistrarea
$un(ta1el,r2 'e asemenea+ mai a-l &i alte in-,rma)ii ne(esare $entru .n)elegerea $un(ta1el,r2 >umele ele*il,r
numerele %e i%enti-i(are sunt $rezentate .n $artea %e 1,s a matri(ei2 /Pentru sim$litate+ -,st $rezentate numai
n,tele a $atru ele*i2? 'e@a lungul $r)ii %e sus a matri(ei+ ser %atele (6esti,narel,r &i ale testel,r2 ;igura arat (
a)i %at (6esti,nare $e A+ B+<B &i =A si tem"rie+ res$e(ti* teste $e C se$tem"rie+ res$e(ti* l ,(t,m"rie2
Pentru a $stra e*i%en)a a(est,r ti$uri %e in-,rma)ii -,l,sin% , "az %e %ate+ a* ne*,ie %e un ta"el $un(te2 4e
tre"uie s (,n)in .nregistrrile %in a(est ta"elD Sim$ Pentru -ie(are r:n%+ a*em ne*,ie %e numele ele*ului+ %ata
(6esti,narului sau a testu si $un(ta1ul ,")inut2 ;igura <2A $rezint as$e(tul un,r n,te %in (atal,g atun(i (:n% siE
re$rezentate .ntr@un ta"el (a a(esta2 /'atele sunt s(rise .n m,%ul .n (are le re$rez6 MySQL+ res$e(ti* FAAAA@
LL@GGF2?
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
5<
le*i Pun(te
4 4 T 4 4 T
3' >ume CHA CHB CHC CH<B CH=A <0H< 222
< Billy <I <0 JA <I <5 BJ
= Missy <J <0 BK <J <I JA
A L,6nny <5 <0 JK <= <J K=
I Lenny <I <A K5 <A <C JC
;igura <2= 9em$lu %e (atal,g2 Ta"elul $un(te
>ume 'ata Pun(te
Billy <CCC@0C@=A <5
Missy <CCC@0C@=A <I
L,6nny <CCC@0C@=A <J
Lenny <CCC@0C@=A <C
Billy <CCC@<0@0< BJ
Missy <CCC@<0@0< JA
L,6nny <CCC@<0@0< K=
Lenny <CCC@<0@0< JC
;igura <2A As$e(tul initial al ta"elului $un(te2
T,tu&i+ la (,n-igurarea ta"elului .n a(est m,% a$are , $r,"lem2 Se $are ( ta"elul ,mite i unele in-,rma)ii2 'e
e9em$lu+ %a( e9aminm .nregistrrile %in -igura <2A+ nu ne $utem %a seama %a( $un(ta1ele au -,st ,")inute la
un (6esti,nar sau la un test2 ste im$,rtant s &tim ti$urile %e $un(ta1e la %eterminarea n,tel,r -inale+ %a(
(6esti,narele &i testele au $,n%eri %i-erite2 Putem .n(er(a s %e%u(em ti$ul e9aminrii %in $la1a %e rezultate %e la
, anumit %at /%e regul+ la (6esti,nare se ,")in mai $u)ine $un(te %e(:t la teste?+ %ar nu este (,n*ena"il+
%e,are(e ne "azm $e %e%u()ie si nu $e %ate e9$li(ite2
Se $,ate -a(e %e,se"ire .ntre $un(ta1e men)i,n:n% ti$ul a(est,ra .n -ie(are .nregistrare+ %e e9em$lu $rin
a%ugarea unei (,l,ane .n ta"elul $un(te (are (,n)ine literele T sau 4 .n -ie(are r:n%+ $entru a in%i(a MtestF sau
M(6esti,narF+ a&a (um se $,ate *e%ea .n -igura <2I2 A(est $r,(e%eu are a*anta1ul ( ti$ul $un(ta1ului %e*ine
e9$li(it .n (a%rul %atel,r2 'eza*anta1ul este ( a(este in-,rma)ii sunt ,are(um re%un%ante2 5emar(a)i (+ $entru
t,ate .nregistrrile (u , anumit %at+ (,l,ana (u ti$ul $un(ta1ului are .nt,t%eauna a(eea&i *al,are2 Pun(ta1ele
$entru =A se$tem"rie au t,ate ti$ul 4+ iar rezultatele $entru l ,(t,m"rie sunt t,ate %e ti$ul T2 >e$l(ut2 'a(
.nregistrm un set %e $un(ta1e $entru un (6esti,nar sau $entru un test .n a(est m,%+ nu numai ( *,m s(rie
a(eea&i %at $entru -ie(are .nregistrare n,u %in set+ %ar *,m s(rie mereu si mereu a(ela&i ti$ %e $un(ta12 U-222
4ine s s(rie t,ate a(este in-,rma)ii re%un%anteD
S .n(er(m , re$rezentare alternati*+ .n l,( %e a .nregistra ti$urile %e $un(ta1e .n ta"elul $un(te+ le *,m %e%u(e
%in %atele (alen%aristi(e2 Putem $stra , list (u %ate (alen%aristi(e si , $utem -,l,si $entru a $stra e*i%en)a
ti$ului %e Me9aminareF /(6esti,nar sau test? (are a a*ut l,( la -ie(are %at2 A$,i+ $utem %etermina %a( un anumit
$un(ta1 a -,st ,")inut la un (6esti,nar sau la un test $rin (,m"inarea a(estuia (u in-,rma)iile %in Fsta n,astr (u
e*enimente0 se sta"ile&te , e(6i*alen) .ntre %ata %in ta"elul $un(te (u
NOPO@Q
5= Partea l Utilizarea general a sistemului MySQL
%ata %in ta"elul e*eniment $entru a %etermina ti$ul %e $un(ta12 ;igura <25 $rezii a(east ma(6et %e ta"el si
%em,nstreaz m,%ul .n (are a(east as,(iere -un(ti,ne! $entru , .nregistrare %in ta"elul $un(te (are $,art %ata
%e =A se$tem"rie2 Prin (,r,6 rrea .nregistrrii (u .nregistrarea e(6i*alent %in ta"elul e*eniment+ *e%em (
$un(ta a -,st ,")inut la un (6esti,nar2
Ta"elul $un(te
>ume 'ata Pun(te Ti$
Billy <CCC@0C@=A <5 4
Missy <CCC@0C@=A <I 4
L,6nny <CCC@0C@=A <J 4
Lenny <CCC@0C@=A <C 4
Billy <CCC@<0@0< BJ T
Missy <CCC@<0@0< JA T
L,6nny <CCC@<0@0< K= T
Lenny <CCC@<0@0< JC T
;igura <2I Ma(6eta ta"elului $un(te+ re*izuit $entru a in(lu%e ti$urile %e $un(ta1e2
Ta"elul $un(te
Ta"elul e*eniment
>ume 'ata Pun(te
Billy <CCC@0C@=A <5
Missy <I
L,6nny
Lenny Billy
Missy
L,6nny
Lenny
<CCC@0C@=A
<CCC@0C@=A
<CCC@<0@0<
<CCC@<0@0<
<CCC@<0@0<
<CCC@<0@0<
<J <C BJ
JA K= JC
'ata
<CCC@0C@0A <CCC@0CIB <CCC@0C@0C
<CCC@<0@0<
THP
4 4
T LL
;igura <25 Ta"elele $un(te &i e*eniment+ legate $rin %at2
ste mult mai "ine %e(:t s .n(er(a)i a %e%u(e ti$ul $un(ta1ului M$e g6i(iteF! .n s(6ir ,")inem ti$ul %ire(t %in
%atele .nregistrate .n m,% e9$li(it .n "aza n,astr %e %ate2 asemenea+ este , ,$)iune %e $re-erat -a) %e
.nregistrarea ti$uril,r %e $un(ta1e .n ta"e $un(te+ %e,are(e tre"uie s .nregistrm -ie(are ti$ , singur %at2
T,tu&i+ %a( sunte)i (a mine+ (:n% auzi)i $entru $rima %at %e a(est lu(ru /(,m"ir in-,rma)iil,r %in mai multe
ta"ele?+ * g:n%i)i0 MM%a+ "un i%ee+ %ar e mult mun( -a(i mereu t,ate (utrile alea! nu (,m$li(m lu(rurileDF
.ntr@un -el+ a*e)i %re$tate2 ;,l,sirea a %,u liste (u .nregistrri este mai (,m$li(at i -,l,sirea unei singure liste2
'ar s mai $ri*im , %at la (atal,g /*ezi -igura l 2=?2 >u aii %e1a %,u seturi %e .nregistrriD Rine)i (,nt %e
urmt,arele as$e(te0
O Pstra)i e*i%en)a $un(ta1el,r -,l,sin% (elulele %in matri(ea ta"elului $un(te+ ui -ie(are (elul este in%e9at %e
numele ele*ului &i %at /.n 1,s $e lateral &i %e@a lur $r)ii su$eri,are a matri(ei?2 A(esta re$rezint un set %e
.nregistrri! este anal,g (,n)inutul ta"elului $un(ta12
O 4um $r,(e%a)i $entru a &ti ti$ul %e e*eniment $e (are .l re$rezint -ie(are %atD i s(ris un T sau un 4 mi(
%easu$ra -ie(rei %ateN Ast-el+ $stra)i &i e*i%en)a as,(ierii .i %at si ti$ul $un(ta1ului+ %e@a lungul $r)ii %e sus a
matri(ei2 A(esta re$rezint %,ilea set %e .nregistrri! este anal,g (u (,n)inutul ta"elului e*eniment2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
5A
i 4u alte (u*inte+ (6iar %a( nu (,n&tientiza)i a(est lu(ru+ .n realitate utiliza)i (atal,gul S .ntr@un m,% a"s,lut
similar (u (el $r,$us %e mine+ %e $strare a in-,rma)iil,r .n %,u ta"ele2 Singura %i-eren) real este ( a(ele
%,u (ateg,rii %e in-,rma)ii nu sunt se$arate .n m,% at:t %e e9$li(it .n (atal,g2
Pagina %in (atal,g ilustreaz .ntr@un -el m,%ul .n (are n,i g:n%im in-,rma)iile+ $re(um &i %i-i(ultatea
%eterminrii m,%ului %e a $lasa in-,rma)iile .ntr@, "az %e %ate0 n,i tin%em s integrm %i-eritele (ateg,rii %e
in-,rma)ii &i s le inter$retm (a $e un .ntreg2 Bazele %e %ate $r,(e%eaz alt-el+ m,ti* $entru (are $ar une,ri
arti-i(iale &i nenaturale2 Ten%in)a n,astr natural %e a uni-i(a in-,rma)iile .ngreuneaz une,ri $:n si sesizarea
-a$tului (a a*em mai multe ti$uri %e %ate+ nu %,ar unul singur2 'in a(east (auz+ .n(er(area %e a Mg:n%i (a ,
"az %e %ateF .n (eea (e $ri*e&te m,%ul %e re$rezentare a %atel,r $,ate -i , mare $r,"lem2
O (erin) im$us ta"elului e*eniment %e ma(6eta $rezentat .n -igura <25 este a(eea (a %atele s -ie uni(e+
%e,are(e %ata este -,l,sit $entru a (,rela .nregistrrile %in ta"elele $un(te si e*eniment2 4u alte (u*inte+ nu
$ute)i %a %,u (6esti,nare .n a(eea&i zi+ res$e(ti* un (6esti,nar &i un test2 'a( , -a(e)i+ *e)i a*ea %,u seturi %e
.nregistrri .n ta"elul $un(te si %,u .nregistrri .n ta"elul e*eniment+ t,ate (u a(eea&i %at+ si nu *e)i mai $utea
sta"ili , (,res$,n%en) .ntre .nregistrrile %in (ele %,u ta"ele2
A(easta este , $r,"lem (are nu *a a$rea ni(i,%at %a( .ntr@, zi sur*ine , singur e9aminare+ %ar $utem
$resu$une .n m,% (,re(t ( a(est lu(ru nu se *a .nt:m$laD .n a$aren) rs$unsul este a-irmati*! la urma urmel,r+
nu sunte)i at:t %e sa%i( .n(:t s %a)i un (6esti,nar &i un test .n a(eea&i zi2 'ar s$er ( m *e)i ierta %a( sunt
s(e$ti(2 Am auzit %ese,ri ,ameni (are s$un %es$re %atele l,r0 MA(est (az (iu%at nu se *a .nt:m$la ni(i,%at2F
A$,i+ se %,*e%e&te ( a(el (az (iu%at (6iar se $r,%u(e (u , anumit ,(azie si %e regul este ne(esar s * re@
$r,ie(ta)i ta"elele $entru a reme%ia $r,"lema $e (are a (auzat@, a(el (az (iu%at2
ste mai "ine s anti(i$a)i $,si"ilele $r,"leme &i m,%ul %e a le rez,l*a2 'e(i+ s $resu$unem ( une,ri sunte)i .n
situa)ia %e a .nregistra %,u seturi %e $un(ta1e $entru a(eea&i zi2 4um ne $utem %es(ur(aD A&a (um se *a *e%ea+
nu este , $r,"lem (6iar at:t %e %i-i(il2 4u , mi( m,%i-i(are .n m,%ul %e %is$unere a %atel,r+ a$ari)ia mai
mult,r e*enimente la , anumit %at nu *a $r,*,(a ne(azuri0
l@ A%uga)i , (,l,an la ta"elul e*eniment si -,l,si)i@, $entru a@i atri"ui un numr uni( -ie(rei .nregistrri %in
ta"el2 Ast-el+ -ie(are e*eniment *a a*ea $r,$riul su numr %e i%enti-i(are+ %e(i (,l,ana *a a*ea numele
e*eniment#i%2 /'a( $are (iu%at+ (atal,gul %in -igura <2= are %e1a a(east $r,$rietate0 i%enti-i(at,rul %e
e*eniment este similar numrului (,l,anei %in matri(ea (u $un(ta1e %in (atal,g2 Se $,ate (a numrul s nu ne
s(ris .n m,% e9$li(it &i %enumit Mi%enti-i(at,r %e e*enimentF+ %ar este (6iar un i%enti-i(at,r %e e*enimente2?
=2 4:n% insera)i $un(ta1e .n ta"elul $un(te+ .nregistra)i i%enti-i(at,rul %e e*eniment .n l,(ul %atei2
5ezultatul a(est,r m,%i-i(ri este $rezentat .n -igura <2B2 A(um+ (,r,",ra)i ta"elele $un(te &i e*eniment -,l,sin%
i%enti-i(at,rul %e e*eniment .n l,(ul %atei &i utiliza)i ta"elul e*eniment $entru a %etermina nu numai ti$ul
-ie(rui $un(ta1+ %ar si %ata la (are a P,st ,")inut a(esta2 'e asemenea+ elementul uni( %in ta"elul e*eniment nu
mai tre"uie
5I
Partea l Utilizarea general a sistemului MySQL
s -ie %ata+ (i i%enti-i(at,rul %e e*eniment2 A(easta .nseamn ( $ute)i a*ea ze(e teste &i (6esti,nare .n a(eea&i
zi! $ute)i $stra e*i%en)a l,r (,re(t .n s(ri$tele %umnea*,astr2 /3n%is(uta"il+ ele*ii %umnea*,astr *,r -i e9trem
%e .n(:nta)i s a-le a(est lu(ru2? 'in $(ate+ %in $un(t %e *e%ere al ,$erat,rului uman+ ma(6eta %e ta"el %in
-igura <2B $are mai $u)in satis-(t,are %e(:t (ele anteri,are2 Ta"elul $un(te este mai a"stra(t+ %e,are(e (,n)ine
mai $u)ine (,l,ane (u , semni-i(a)ie e*i%ent2 Ma(6eta %e ta"el $rezentat anteri,r .n -igura <2I era u&,r %e
e9aminat si %e .n)eles+ %e,are(e ta"elul $un(te a*ea (,l,ane at:t $entru %ate+ (:t &i $entru ti$urile %e $un(ta12
Ta"elul $un(te a(tual+ $rezentat .n -igura <2B+ nu are (,l,ane $entru ni(i una %in a(este in-,rma)ii+ (eea (e $are
seri,s %e$lasat -a) %e n,rmal2 4ine *rea s (iteas( un ta"el $un(te (are (,n)ine Mi%enti-i(at,are %e e*enimentFD
Pentru n,i+ a(east in-,rma)ie nu are , semni-i(a)ie $rea im$,rtant2
Ta"elul $un(te
Ta"elul e*eniment
>ume e*eniment i% Pun(te
Billy 5 <5
Missy 05 Q <I
L,6nny
Lenny
Billy
Missy
L,6nny
Lenny
5 5 B B B B <J <C
BJ JA
K= JC
e*eniment i% 'ata Ti$
< = A
I
<CCC@0C@
0A <CCC@
0C@0B
<CCC@0C@
0C <CCC@
0C@<5
4 4
T 4
5 <CCC@0C@
=A
4
B <CCC@<0@
0<
T
;igura <2B Ta"elele $un(te &i e*eniment+ legate %u$ i%enti-i(at,rul %e e*eniment2
A(um a)i a1uns la , rs(ru(e2 Sunte)i interesat %e $,si"ilitatea %e a $utea $stra e*i%en)a ele(tr,ni( a
rezultatel,r &(,lare &i %e a nu tre"ui s e-e(tua)i t,t -elul %e (al(ule manuale ,",sit,are atun(i (:n% atri"ui)i
n,tele2 'ar+ %u$ (e * g:n%i)i la m,%ul .n (are *e)i re$rezenta in-,rma)iile %es$re $un(ta1e .ntr@, "az %e %ate+
sunte)i %es(ura1at %e as$e(tul a"stra(t &i %is(,ntinuu al in-,rma)iei re$rezentate .n a(el m,%2
>atural+ a(easta %u(e la , .ntre"are0 M>@ar -i "ine s nu -,l,ses( %el,( , "az %e %ateD P,ate ( MySQL nu este
$entru mine2F A&a (um $ute)i intui+ *,i rs$un%e negati* la a(east .ntre"are+ %e,are(e alt-el (artea %e -a) ar
a1unge ra$i% la -inal2 'ar+ atun(i (:n% * g:n%i)i (um s -a(e)i un lu(ru anume+ este "ine s a*e)i .n *e%ere
%i-erite alternati*e &i s * .ntre"a)i %a( n@ar -i mai "ine s -,l,si)i un sistem %e "aze %e %ate+ (um este SQL+ sau
alt(e*a+ (um ar -i un $r,gram %e (al(ul ta"elar0
O 4atal,gul are r:n%uri &i (,l,ane+ (a &i , -,aie %e (al(ul ta"elar2 'e a(eea+ , -,aie %e (al(ul ta"elar &i un (atal,g
sunt -,arte asemnt,are at:t *izual+ (:t &i (,n(e$tual2
O 3ntr@, -,aie %e (al(ul ta"elar se $,t e-e(tua (al(ule+ %e(i $ute)i .nsuma $un(ta1ele -ie(rui ele* -,l,sin% un (:m$
%e (al(ul2 ste $u)in mai greu s a(,r%a)i , $,n%ere %i-erit (6esti,narel,r si testel,r+ %ar nu im$,si"il2
Pe %e alt $arte+ %a( %,ri)i s e9amina)i numai , $arte a %atel,r %umnea*,astr /numai (6esti,narele sau numai
testele+ %e e9em$lu?+ s -a(e)i (,m$ara)ii /.ntre n,tele "ie)il,r &i (ele ale -etel,r? sau s a-i&a)i in-,rma)ii %e
sumar .ntr@un m,% -le9i"il+ %atele $r,"lemei se s(6im"2 O -,aie %e (al(ul ta"elar nu -un()i,neaz at:t %e "ine+
.n tim$ (e sistemele %e "aze %e %ate rela)i,nale e9e(ut (u u&urin) a(este ,$era)ii2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
55
LLn alt element (are tre"uie a*ut .n *e%ere este a(eea ( natura a"stra(t &i %is(,ntinu a %atel,r re$rezentate
.ntr@, "az %e %ate rela)i,nal nu este+ la urma urmel,r+ , $r,"lem at:t %e mare2 Tre"uie s * g:n%i)i la a(ea
re$rezentare atun(i (:n% (,n-igura)i "aza %e %ate+ ast-el .n(:t s nu * %is$une)i %atele .ntr@un m,% li$sit %e sens
.n ra$,rt (u -elul .n (are %,ri)i s le utiliza)i2 T,tu&i+ %u$ (e a)i %eterminat m,%ul %e re$rezentare+ *e)i (,nta $e
m,t,rul %e "aze %e %ate $entru a%unarea &i re$rezentarea %atel,r %umnea*,astr .ntr@un m,% semni-i(ati*2 >u
*e)i mai $ri*i %atele (a $e , a%untur %e (,m$,nente -r legtur .ntre ele2
'e e9em$lu+ (:n% regsi)i $un(ta1e %in ta"elul $un(te+ nu %,ri)i s *e%e)i i%enti-i(at,are %e e*eniment! %,ri)i s
*e%e)i %ate2 A(easta nu este , $r,"lem2 Baza %e %ate *a (uta %atele %in ta"elul e*eniment .n -un()ie %e
i%enti-i(at,rul %e e*eniment si *i le *a $rezenta2 'e asemenea+ $ute)i %,n s *e%e)i %a( $un(ta1ele au -,st
,")inute la (6esti,nare sau teste2 >i(i a(easta nu este , $r,"lem2 Baza %e %ate *a (uta ti$urile %e $un(ta1e .n
a(ela&i m,%0 -,l,sin% i%enti-i(at,rul %e e*eniment2 >u uita)i+ a(esta este M$un(tul -,rteF al unui sistem %e "aze
%e %ate rela)i,nale (a MySQL0 (,relarea unui lu(ru (u altul $entru a e9trage in-,rma)ii %in mai multe surse si %e
a * $rezenta %atele $e (are %,ri)i s le *e%e)i2 3n (azul %atel,r n,astre %e e*i%en) a rezultatel,r &(,lare+ MySQL
este (el (are a%un in-,rma)iile la un l,( -,l,sin% i%enti-i(at,rii %e e*eniment+ $entru (a %umnea*,astr s nu
mai e-e(tua)i a(east ,$era)ie2
A(um+ $entru a %a , mi( i%ee M.n a*ansF (u $ri*ire la m,%ul .n (are (ere)i sistemului MySQL s e9e(ute a(east
(,rela)ie .ntre lu(ruri+ s $resu$unem ( %,ri)i s *e%e)i $un(ta1ele ,")inute la %ata %e =A se$tem"rie <CCC2
3nter,garea $entru e9tragerea $un(ta1el,r a-erente unui e*eniment $r,%us la , anumit %at se $rezint ast-el0
SL4T $un(te2nume+ e*eniment2%ata+ $un(te2$un(te+ e*eniment2ti$
;5OM $un(te+ e*eniment
WH5 e*eniment2%ata T F<CCC@0C@=AF
A>' $un(te2e*eniment#i% T e*eniment2e*eniment#i%
4am %e s$eriat+ esteD A(east inter,gare regse&te numele ele*ului+ %ata+ $un(ta1ul &i ti$ul $un(ta1ului $rin
alturarea /(,relarea? .nregistrril,r %in ta"elul $un(te (u .nregistrrile %in ta"elul e*eniment2 5ezultatul arat
ast-el0
>ume 'ata Pun(te Ti$
Billy <CCC@0C@=A<5 <5 4
Missy <CCC@0C@=A<I <I 4
L,6nny <CCC@0C@=A<J <J 4
Lenny <CCC@0C@=A<C <C (
;,rmatul a(est,r in-,rma)ii * MsunF (un,s(utD Ar -i &i (azul! este a(ela&i (u ma(6eta ta"elului $rezentat .n
-igura <2IN >u tre"uie s (un,a&te)i i%enti-i(at,rul %e e*eniment $entru a ,")ine a(est rezultat2 S$e(i-i(a)i %ata
(are * intereseaz si lsa)i sistemul MySQL s %etermine .nregistrrile %in ta"elul $un(te (are (,res$un% %atel,r
res$e(ti*e2 'a( *@a)i .ntre"at .n (e msur %in (auza as$e(tului a"stra(t &i %is(,ntinuu se M$ier%eF (e*a .n (eea
(e $ri*e&te $reluarea in-,rma)iil,r %intr@, "az %e %ate .ntr@, -,rm semni-i(ati* $entru n,i+ rs$unsul este0 nu
se $ier%e nimi(2
5B Partea l Utilizarea general a sistemului MySQL
'esigur+ %u$ (e a)i e9aminat a(east inter,gare+ * mai $ute)i $une &i alt .ntre"are2 3nstru()iunea $are (am
lung &i (,m$li(at! nu $are , (antitate (am mare %e mun( numai $entru regsirea $un(ta1el,r ,")inute la ,
anumit %atD Ba %a+ este2 T,tu&i+ e9ist met,%e %e a e*ita tastarea mai mult,r r:n%uri %e instru()iuni SQL %e
-ie(are %at (:n% %,ri)i s emite)i , inter,gare+ .n general+ %etermina)i , singur %at m,%ul %e a e9e(uta ,
inter,gare (a a(eea &i a$,i , st,(a)i+ $entru a , $utea re$eta (u u&urin) atun(i (:n% este ne(esar2 U,m *e%ea (um
se $r,(e%eaz .n se()iunea MSugestii $entru intera()iunea (u MySQLF2
.n realitate+ am (am e9agerat $un:n% $e ta$et a(ea inter,gare2 Si t,tu&i inter,garea res$e(ti* este+ (re%e)i sau
nu+ (e*a mai sim$l %e(:t (ea $e (are , *,m -,l,si e-e(ti* $entru e9tragerea $un(ta1el,r2 M,ti*ul este ( tre"uie
s mai -a(em , m,%i-i(are .n stru(tura ta"elului+ .n l,( %e a .nregistra numele ele*ului .n ta"elul $un(te+ *,m
-,l,si un i%enti-i(at,r %e ele* uni(2 /A%i( *,m -,l,si *al,area %in (,l,ana 3' a (atal,gului .n l,(ul *al,rii %in
(,l,ana >ume2? A$,i *,m (rea un alt ta"el+ %enumit ele*+ (are (,n)ine (,l,anele nume si ele*#i% /;igura <2J?2
Ta"elul ele* Ta"elul $un(te
Ta"elul e*eniment
>ume Se9 ele*#i% ele*#i% e*eniment#i% Pun(te
Billy M < < 5 <5
Missy ; = H = VysLS1SiSBN
B
<I L

F
L,6nny
Lenny
M
;
A
I
A I 5 B J
K
5 5 B B B B <J <C
BJ JA
K= JC


e*eniment i%
'ata
<CCC@0C@0A <CCC@0C@0B <CCC@0C@0C <CCC@0C@<B
<CCC@0C@=A
<CCC@<0@0<
Ti$
4 4
T 4
;igura <2J Ta"elele ele*+ $un(te &i e*eniment+ legate $rin i%enti-i(at,rul %e ele* &i i%enti-i(at,rul %e e*eniment2
'e (e s -a(em a(east m,%i-i(areD .n $rimul r:n% $entru ( $,t -i %,i ele*i (u a(ela&i nume2 Utilizarea unui
numr uni( %e i%enti-i(are a ele*ului * a1ut s -a(e)i %i-eren)a %intre $un(ta1ele ele*il,r2 /ste e9a(t a(ela&i
lu(ru (a &i %i-eren)ierea .ntre $un(ta1ele ,")inute la un test &i la un (6esti,nar %ate .n a(eea&i zi $rin utilizarea .n
l,(ul %atei a unui i%enti-i(at,r uni( %e e*eniment2?
'u$ a(east m,%i-i(are a ma(6etei ta"elului+ inter,garea $e (are , *,m -,l,si e-e(ti* $entru e9tragerea
$un(ta1el,r a-erente unei anumite %ate %e*ine $u)in mai (,m$le90
SL4T ele*2nume+ e*eniment2%ata+ $un(te2$un(te+ e*eniment2ti$
;5OM e*eniment+ $un(te+ ele*
WH5 e*eniment2%ata T F<CCC@0C@=AF
A>' e*eniment2e*eniment#i% T $un(te2e*eniment#i%
A>' $un(te2ele*#i% T ele*2ele*#i%
'a( * .ngri1,reaz -a$tul ( nu $ute)i %etermina ime%iat semni-i(a)ia a(elei inter,gri+ lini&ti)i@*2 Ma1,ritatea
,amenil,r nu sunt .n stare %e a&a (e*a2 U,m re*e%ea inter,garea %u$ (e *,m (,ntinua $ar(urgerea a(estui
manual+ %ar %i-eren)a .ntre a(um &i mai t:rziu este ( mai t:rziu , *e)i .n)elege2 >u+ nu m )in %e "an(uri2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
5J
'in -igura <2J+ *e)i ,"ser*a ( am a%ugat (e*a la ta"elul ele* (are nu e9ista .n (atal,g0 , (,l,an $entru se92
A(easta *a $ermite e-e(tuarea un,r ,$era)ii sim$le+ $re(um numrarea "ie)il,r &i a -etel,r %in (las+ res$e(ti*
mai (,m$le9e+ $re(um (,m$ararea $un(ta1el,r "ie)il,r (u (ele ale -etel,r2
Suntem a$r,a$e gata (u ta"elele $entru $r,ie(tul %e e*i%en) a rezultatel,r &(,lare2 Mai a*em ne*,ie %e un
singur ta"el+ $entru .nregistrarea a"sen)el,r .n *e%erea %eterminrii $rezen)ei la (urs2 4,n)inutul a(estuia este
relati* sim$lu0 un i%enti-i(at,r numeri( al ele*ului &i , %at /*ezi -igura <2K?2 ;ie(are r:n% %in ta"el arat (
ele*ul res$e(ti* a -,st a"sent la a(ea %at2 La s-:r&itul $eri,a%ei %e n,tare+ *,m a$ela la (ara(teristi(ile %e
numrare ale sistemului MySQL $entru a rezuma (,n)inutul ta"elului+ ast-el .n(:t s &tim %e (:te ,ri a -,st
a"sent -ie(are ele*2
Ta"elul a"sente
ele*#i% 'ata
F= I = <CCC@0C@0=
<CCC@0C@<5
<CCC@0C@=0
;igura <2K Ta"elul a"sente2
Suntem gata %e a (rea ta"elele n,astre %e e*i%en) a rezultatel,r &(,lare+ a(um (:n% &tim (um *,r arta a(estea2
3nstru()iunea 45AT TABL $entru ta"elul ele* arat ast-el0 45AT TABL ele*
nume UA54HA5/=0? >OT >ULL+ se9 >UM4;UM<? >OT >ULL+
ele*#i% 3>T U>S3W>' >OT >ULL AUTO#3>45M>T P53MA5X YX ? Tasta)i a(east instru()iune
.n mysql sau e9e(uta)i urmt,area (,man% %e inter$reter0
7 mysql sam$#%" V (reat e#stu%ent2sql
3nstru()iunea 45AT TABL (reeaz un ta"el %enumit ele* (u trei (,l,ane0 nume+ se9 &i ele*#i%2
nume este , (,l,an &ir %e lungime *aria"il+ (are $,ate (,n)ine ma9imum =0 %e (ara(tere2 A(east re$rezentare
a numel,r este mai sim$l %e(:t (ea -,l,sit $entru ta"elele Ligii ist,ri(e+ -,l,sin% , singur (,l,an .n l,(ul
un,r (,l,ane se$arate $entru nume &i $renume2 A(easta %e,are(e &tiu %inainte ( ni(i un e9em$lu %e inter,gare
$ri*in% e*i%en)a rezultatel,r &(,lare nu *a tre"ui s e-e(tueze *re, ,$era)ie (are s@ar $reta mai "ine la %,u
(,l,ane2 /'a+ tri&ez2 5e(un,s(2?
se9 %etermin %a( un ele* este "iat sau -ata2 ste , (,l,an %e ti$ >UM /enumerare?+ (eea (e .nseamn (
$,ate lua numai una %in *al,rile enumerate e9$li(it .n s$e(i-i(a)ia (,l,anei+ .n s$e) M sau ;+ a%i( %e se9
mas(ulin sau -eminin2 >UM este util (:n% a*e)i un set limitat %e *al,ri $e (are le $,ate (,n)ine , (,l,an2 Am
-i $utut -,l,si .n s(6im" 4HA5/< ?+ %ar >UM s$e(i-i( mai e9a(t (are $,t -i *al,rile %in (,l,an2 'a( emite)i
, instru()iune 'S453B nume1ta"el $entru un ta"el (are (,n)ine , (,l,an >UM+ MySQL * *a in%i(a e9a(t
(are sunt *al,rile $,si"ile2
5K
Partea l Utilizarea general a sistemului MySQL
A$r,$,+ *al,rile %intr@, (,l,an >UM nu tre"uie s -ie nea$rat (,m$use %intr@un singur (ara(ter2 4,l,ana ti$
ar -i $utut -i %e(larat ast-el0 >UM /Q -emininQ+ Q mas(ulinQ?2
ele*#i% este , (,l,an %e ti$ .ntreg (are *a (,n)ine numere uni(e %e i%enti-i(are a ele*il,r+ .n m,% n,rmal+ *e)i
$rimi numerele %e i%enti-i(are a ele*il,r %e la , surs (entral+ (um ar -i se(retariatul s(,lii+ %ar n,i *,m -,l,si
*al,ri in*entate2 'e(lara)ia (,l,anei ele*#i% are numer,ase $r)i+ (6iar %a( nu (,n)ine %e(:t numere0
O 3 >T arat ( .n (,l,an sunt in(luse numere .ntregi /*al,ri -r $arte -ra()i,nar?
O U>S3W>' interzi(e utilizarea numerel,r negati*e2
O >OT >ULL .nseamn ( *al,area (,l,anei tre"uie (,m$letat2 />i(i un ele* nu $,ate -i li$sit %e un numr %e
i%enti-i(are2?
O AUTO#3>45M>T este un atri"ut s$e(ial .n MySQL si -un()i,neaz ast-el0 %a( *al,area %in (,l,ana
ele*#i% li$se&te /sau este >ULL?+ atun(i (:n% (rea)i , n,u .nregistrare .n ta"elul ele*+ MySQL genereaz
aut,mat un numr uni( (u , unitate mai mare %e(:t *al,area ma9im (are se a-l .n (,l,an la m,mentul
res$e(ti*2 U,m -,l,si a(est -a$t la .n(r(area ta"elului ele*+ s$e(i-i(:n% *al,ri numai $entru (,l,anele nume &i
se9 si $ermi):n% sistemului MySQL s genereze aut,mat *al,area (,l,anei ele*#i%2
O P53MA5X YX arat ( a(ea (,l,an este in%e9at $entru (utri ra$i%e &i ( -ie(are *al,are %in (,l,an
tre"uie s -ie uni(2 A(easta ne .m$ie%i( s -,l,sim %in gre&eal a(ela&i i%enti-i(at,r %e %,u ,ri+ (eea (e este ,
$r,$rietate ne(esar a numerel,r %e i%enti-i(are a ele*il,r2 />u numai at:t! MySQL im$une (a -ie(are (,l,an
AUTO#3>45M>T s ai" un in%i(e uni(2?
'a( nu .n)elege)i t,ate (6estiile astea %es$re AUTO#3>45M>T si P53MA5X#YX+ g:n%i)i@* ( ele
re$rezint , m,%alitate magi( %e a genera numere %e i%enti-i(are $entru -ie(are ele*2 >u (,nteaz *al,rile .n
sine+ at:ta *reme (:t sunt uni(e2
>,t0 'a( a*ea)i %e g:n% s lua)i i%enti-i(at,arele numeri(e ale ele*il,r %e la se(retariat /-r s le genera)i
aut,mat?+ $ute)i %e(lara (,l,ana ele*#i% .n a(ela&i m,%+ (u %e,se"irea ( *e)i ,mite atri"utul
AUTO#3>45M>T2
Ta"elul e*eniment se $rezint ast-el0 45AT TABL e*eniment
%ata 'AT >OT >ULL
ti$ >UM/QTQ+Q4<? >OT >ULL+
e*eniment#i% 3>T U>S3W>' >OT >ULL AUTO#3>45M>T P53MA5X YX
Tasta)i instru()iunea %e mai sus .n mysql sau e9e(uta)i urmt,area (,man% %e inter$reter0
7 mysql sam$#%" V (reate#e*ent2sql
T,ate (,l,anele sunt %e(larate (a >OT >ULL+ %e,are(e nu $,ate li$si *al,area ni(i uneia %intre ele2
4,l,ana %ata (,n)ine , *al,are 'AT stan%ar% MySQL+ .n -,rmat FAAAA@LL@GGF /(u anul s(ris $rimul?2
ti$ re$rezint ti$ul $un(ta1ului2 4a si se9 %in ta"elul ele*+ ti$ este , (,l,an %e ti$ enumerare2 Ual,rile $ermise
sunt T si 4+ re$rezent:n% MtestF+ res$e(ti* M(6esti,narF2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
5C
e*eniment#i% este , (,l,an AUTO#3>45M>T+ similar (,l,anei ele*#i% %in ta"elul ele*2 Utilizarea ,$)iunii
AUTO#3>45M>T ne $ermite s generm (u u&urin) *al,ri uni(e ale i%enti-i(at,ril,r %e e*eniment2 4a .n
(azul (,l,anei ele*#i% %in ta"elul ele*+ *al,rile $arti(ulare sunt mai $u)in im$,rtante %e(:t uni(itatea l,r2
Ta"elul $un(te arat ast-el0 45AT TABL $un(te /
ele*#i% 3>T U>S3W>' >OT >ULL+ e*eniment#i% 3>T U>S3W>' >OT >ULL+ $un(ta1 3>T >OT
>ULL+ P53MA5X YX /e*eniment#i%+ ele*#i%? ? Tasta)i a(ea instru()iune .n mysql sau e9e(uta)i urmt,area
(,man% %e inter$reter0
7 mysql sam$#%" V (reat e#s(,re2sql
$un(te este , (,l,an 3>T /.ntreg?2 4u alte (u*inte+ se $resu$une ( *al,rile $un(ta1el,r sunt .nt,t%eauna .ntregi2
'a( %,ri)i s $ermite)i in(lu%erea un,r $un(ta1e $re(um 5K + 5+ (are (,n)in , $ane -ra()i,nar+ *e)i -,l,si unul
%in ti$urile %e (,l,an (u *irgul m,"il+ $re(um ;LOAT sau '43MAL2
4,l,anele ele*#i% &i e*eniment#i% sunt .ntregi (are re$rezint ele*ul &i e*enimentul $entru (are a -,st a(,r%at
-ie(are $un(ta12 ;,l,sin%u@le $entru a sta"ili legturi .ntre ta"elele ele* si e*eniment+ *,m $utea %etermina
numele ele*ului si %ata e*enimentului2 'e asemenea+ am trans-,rmat (,m"ina)ia %intre (ele %,u (,l,ane .ntr@,
(6eie $rimar /P53MA5X YX?2 Ast-el+ ne asigurm ( nu *,m a*ea $un(ta1e re$etate $entru un ele* la un test
sau (6esti,nar %at2 'e asemenea+ m,%i-i(area ulteri,ar a unui $un(ta1 este mai sim$l2 'e e9em$lu+ (:n% un
$un(ta1 a -,st intr,%us in(,re(t+ $utem elimina .nregistrarea *e(6e atun(i (:n% inserm .nregistrrile n,i+
-,l,sin% instru()iunea MySQL 5PLA42 >u este ne(esar s -,l,sim , instru()iune 'LT (,m"inat (u
3>S5T! MySQL e9e(ut aut,mat a(east ,$era)ie2
5e)ine)i uni(itatea (,m"ina)iei .ntre (,l,anele e*eniment#i% si ele*#i%2 .n ta"elul $un(te+ ni(i , *al,are nu este
intrinse( uni(2 U,r e9ista mai multe .nregistrri %e $un(ta1e $entru -ie(are *al,are e*eniment#i% /(:te una
$entru -ie(are ele*?+ res$e(ti* mai multe .nregistrri $entru -ie(are *al,are ele*#i% /(:te una $entru -ie(are
(6esti,nar &i test?2
Ta"elul a"sente $entru %eterminarea $rezen)ei la (urs se $rezint ast-el0 45AT TABL a"sente
ele*#i% 3>T U>S3W>' >OT >ULL+ %ata 'AT >OT >ULL+ P53MA5X YX /ele*#i%+ %ata? ?
Tasta)i instru()iunea res$e(ti* .n mysql sau e9e(uta)i urmt,area (,man% %e inter$reter0 7 mysql sara$#%" V
(reate#a"sen(e2sql
B0
Partea l Utilizarea general a sistemului MySQL
4,l,anele ele*#i% &i %ata sunt am"ele %e(larate >OT >ULL $entru a interzi(e a"sen)a *al,ril,r2 U,m trans-,rma
(,m"ina)ia %intre (ele %,u (,l,ane .ntr@, (6eie $rimar+ ast-el .n(:t s nu (rem %in gre&eal .nregistrri
%u"late2 La urma urmel,r+ nu@i -rum,s s $ui a"sen) unui ele* %e %,u ,ri .ntr@, ziN
A%ugarea %e n,i .nregistrri
.n a(est m,ment+ "aza n,astr %e %ate si ta"elele au -,st (reate+ iar .n se()iunea urmt,are+ M5egsirea
in-,rma)iil,rF+ *e)i a-la (um se $,t e9trage %atele %in "aza %e %ate2 Mai .nt:i .ns+ tre"uie s inserm unele
.nregistrri .n ta"ele2
9ist numer,ase m,%alit)i %e a a%uga %ate .ntr@, "az %e %ate2 Pute)i insera manual .nregistrri .ntr@un ta"el
emi):n% instru()iuni 3>S5T2 'e asemenea+ $ute)i a%uga .nregistrri (itin%u@le %intr@un -i&ier+ -ie su" -,rm %e
*al,ri %e %ate "rute $e (are le .n(r(a)i -,l,sin% instru()iunea LOA' 'ATA sau utilitarul mysqlim$,rt+ -ie .n
-,rm %e instru()iuni 3>S5T re%a(tate anteri,r+ $e (are le intr,%u(e)i .n mysql2
A(east se()iune ilustreaz -ie(are met,% %e inser)ie a .nregistrril,r .n ta"elele %umnea*,astr2 4e a*e)i
%umnea*,astr %e -(ut este s * 1u(a)i (u %i-eritele met,%e+ $entru a *e%ea (um -un()i,neaz2 A$,i+ %e$lasa)i@
* la s-:r&itul se()iunii &i rula)i (,menzile $e (are le gsi)i a(,l, $entru a &terge (,n)inutul ta"elel,r si $entru a le
re.n(r(a2 Ast-el+ * *e)i asigura ( ta"elele (,n)in a(elea&i .nregistrri la (are am lu(rat (:n% am s(ris se()iunea
urmt,are+ iar %umnea*,astr *e)i ,")ine a(elea&i rezultate2
S .n(e$em s a%ugm rezultate -,l,sin% 3>S5T+ , instru()iune SQL $entru (are s$e(i-i(a)i ta"elul .n (are
%,ri)i s insera)i un r:n% %e %ate &i *al,rile (are *,r -i $lasate .n r:n%ul res$e(ti*2
3nstru()iunea 3>S5T are mai multe -,rme0
O Pute)i s$e(i-i(a *al,ri $entru t,ate (,l,anele0
3>S5T 3>TO nume#ta"el UALUS/*al,are<+*al,are=+222? 'e e9em$lu0
mysql> 3>S5T 3>TO ele* UALUS/QMinai<+QM<+>ULL?!
mysql> 3>S5T 3>TO e*eniment UALUS4<<CCC@C@AF+F4F+>ULL?! 4u*:ntul 3>TO este ,$)i,nal .n(e$:n% %e
la MySQL A2==252 /A(est lu(ru este *ala"il si $entru (elelalte -,rme ale instru()iunii 3>S5T2? Lista UALUS
tre"uie s (,n)in , *al,are $entru -ie(are (,l,an %in ta"el+ .n ,r%inea .n (are sunt st,(ate (,l,anele .n ta"el+ /.n
m,% n,rmal+ a(easta este ,r%inea .n (are au -,st s$e(i-i(ate (,l,anele la (rearea ta"elului2 ;,l,si)i 'S453B
nume#ta"el $entru a a-la ,r%inea+ %a( nu , (un,a&te)i (u e9a(titate2?
Pute)i .n(a%ra .ntre g6ilimele *al,rile %e ti$ &ir &i %at .n MySQL+ -,l,sin% g6ilimele sim$le sau %u"le2 Ual,rile
>ULL %in e9em$lul $re(e%ent sunt %estinate (,l,anel,r AUTO#3>45M>T %in ta"elele ele* si e*eniment2
/3nser)ia unei M*al,ri li$sF %etermin generarea urmt,rului numr ele*#i% sau e*eniment#i%2?
Uersiunile MySQL .n(e$:n% %e la A2==25 * $ermit s insera)i mai multe r:n%uri .ntr@un ta"el (u , singur
instru()iune 3>S5T+ $rin s$e(i-i(area mai mult,r liste %e *al,ri0 3>S5T 3>TO nume#ta"el UALUS/222?+
/222?+222
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
B<
'e e9em$lu0 mysql> 3>S5T 3>TO ele* UALUS/QAna<+Q;<+>ULL?+/FMi6aiQ+FMF+>ULL?!
A(est $r,(e%eu ne(esit intr,%u(erea %e la tastatur a unei (antit)i mai re%use %e te9t %e(:t (ea im$us %e mai
multe instru()iuni 3>S5T+ iar e9e(u)ia sa %e (tre ser*er este mai e-i(ient2
O Pute)i %enumi (,l,anele (r,ra %,ri)i s le atri"ui)i *al,ri+ a$,i enumera)i *al,rile2 A(est $r,(e%eu este util
(:n% %,ri)i s (rea)i , .nregistrare $entru (are numai (:te*a (,l,ane tre"uie (,n-igurate ini)ial2
3>S5T 3>TO nume#ta"el /nume#(,l< +nume#(,l=+222? UALUS/*al,areJ+*al,are=+222? 'e e9em$lu0
mysql> 3>S5T 3>TO mem"ru /nume+$renume? UALUS/QTa(6eQ+QZte-anQ?! 'e la MySQL A2==25+ a(east
-,rm a instru()iunii 3>S5T $ermite %e asemenea mai multe liste (u *al,ri0
mysql> 3>S5T 3>TO ele* /nume+se9? UALUS/QAna<+Q;Q?+/FMi6aiF+FMF?! 4,l,anele (are nu sunt s$e(i-i(ate
.n lista %e (,l,ane $rimes( , *al,are $resta"ilit2
O 'e la MySQL A2==2<0+ $ute)i %enumi (,l,anele &i *al,rile su" -,rma nume#(,l,anaT*al,are2
3>S5T 3>TO nume#ta"el ST nume#(,l<T*al,are<+ nume#(,N=T*al,are=+222 'e e9em$lu0
mysql> 3>S5T 3>TO mem"ru ST numeTQTa(6eQ+$renumeTQZte-anQ! T,ate (,l,anele (are nu sunt s$e(i-i(ate .n
(lauza ST $rimes( , *al,are $resta"ilit2 >u $ute)i insera mai multe r:n%uri -,l,sin% a(east -,rm a
instru()iunii 3>S5T2
O alt met,% $entru .n(r(area .nregistrril,r .ntr@un ta"el este (itirea *al,ril,r %atel,r %ire(t %intr@un -i&ier2
Pute)i .n(r(a .nregistrri .n a(est m,% (u a1ut,rul instru()iunii LOA' 'ATA sau (u utilitarul mysqlim$,rt2
3nstru()iunea LOA' 'ATA se (,m$,rt (a un .n(r(t,r %e mare (a$a(itate+ (are (ite&te %ate %intr@un -i&ier2
;,l,si)i a(east instru()iune %in interi,rul $r,gramului mysql0
mysql> LOA' 'ATA LO4AL 3>;3L Fmem"ru2t9tF 3>TO TABL mem"ru! A(east instru()iune (ite&te
(,n)inutul -i&ierului %e %ate mem"ru2 t9t l,(alizat .n (atal,gul %umnea*,astr (urent %in gaz%a $r,gramului
(lient &i , trimite ser*erului+ $entru a -i .n(r(at .n ta"elul mem"ru2
LOA' 'ATA LO4AL nu *a a*ea e-e(t %a( *ersiunea %umnea*,astr %e MySQL este anteri,ar *ersiunii
A2==2<5+ %e,are(e $,si"ilitatea %e (itire a -i&ierel,r %e la (lient a -,st a%ugat la instru()iunea LOA' 'ATA
.n(e$:n% %e la *ersiunea res$e(ti*2 /;r (u*:ntul (6eie LO4AL+ -i&ierul tre"uie l,(alizat $e gaz%a ser*erului si
%umnea*,astr a*e)i ne*,ie %e un $ri*ilegiu %e a((es la ser*er+ %e (are ma1,ritatea utilizat,ril,r MySQL nu
%is$un2?
.n m,% $resta"ilit+ instru()iunea LOA' 'ATA $resu$une ( *al,rile (,l,anel,r sunt se$arate $rin ta"ulat,rN &i (
r:n%urile se .n(6eie (u un (ara(ter linie n,u2 'e asemenea+ $resu$une ( *al,rile e9ist .n ,r%inea .n (are
(,l,anele sunt st,(ate .n ta"el2 ste $,si"il (itirea -i&ierel,r .n alte -,rmate sau s$e(i-i(area unei alte ,r%ini a
(,l,anel,r2 Uezi ru"ri(a a-erent (,menzii LOA' 'ATA %in Ane9a '+ M5e-erin) %e sinta9 SQLF+ $entru mai
multe %etalii2
B= Partea l Utilizarea general a sistemului MySQL
Utilitarul mysqlim$,rt este , inter-a) .n linie %e (,man% $entru instru()iunea LOA' 'ATA2 A(est utilitar se
in*,( %in inter$ret,r &i genereaz aut,mat , instru()iune LOA' 'ATA0
7 mysqlim$,rt @@l,(al sara$#%" nem"ru2t9t
mysqlim$,rt genereaz aut,mat , instru()iune LOA' 'ATA+ (are %etermin .n(r(area -i&ierului mem"ru2 t9t .n
ta"elul mem"ru2 A(est lu(ru nu este $,si"il %a( $r,gramul %umnea*,astr MySQL este anteri,r *ersiunii
A2==2<5+ %e,are(e ,$)iunea @@l,(al ne(esit LOA' 'ATA LO4AL2 4a si .n (azul $r,gramului mysql+ %a(
tre"uie s s$e(i-i(a)i $arametri %e (,ne9iune+ in%i(a)i@i .n linia %e (,man%+ anteri,r numelui "azei %e %ate2
mysqlim$,rt e9trage numele ta"elului %in numele -i&ierului %e %ate2 /4a nume al ta"elului+ se -,l,ses( t,ate
(ara(terele+ $:n la $rimul $un(t %in numele -i&ierului2? 'e e9em$lu+ mem"ru2t9t *a -i .n(r(at .n ta"elul
mem"ru+ iar $rese%inte2t9t *a -i .n(r(at .n ta"elul $re&e%inte2 'a( a*e)i mai multe -i&iere %e .n(r(at .ntr@un
singur ta"el+ alege)i numele -i&ierel,r (u aten)ie! .n (az (,ntrar+ mysqlim$,rt nu *a -,l,si numele (,re(t %e ta"el2
4u nume (a mem"rul 2t9t sau mem"ru=2t9t+ mysqlim$,rt *a $resu$une ( numele ta"elel,r sunt mem"rul+
res$e(ti* mem"ru=2 T,tu&i+ $ute)i -,l,si nume $re(um mem"ru2 < 2t9t &i mem"ru2=2t9t+ res$e(ti* mem"ru2t9tN &i
mem"ru2t9t=2
'u$ (e a)i testat a(este met,%e %e a%ugare a .nregistrril,r+ tre"uie s &terge)i (,n)inutul ta"elel,r &i a$,i s le
re.n(r(a)i+ ast-el .n(:t (,n)inutul l,r s -ie (el $resu$us .n se()iunea urmt,are2
'in inter$ret,rul %umnea*,astr+ e9e(uta)i urmt,arele (,menzi0
7 ntysql sara$#%" V insert#$resi%ent2sql
7 mysql sam$#%" V insert1nem"er2sql
7 mysql sam$#%" V insert#stu%ent2sql
7 mysql sam$#%" V insert#s(,re2sql
7 mysql sam$#%" V insert#e*ent2sql
7 mysql sam$#%" V insert#a"sen(e2sql
;ie(are -i&ier (,n)ine , instru()iune 'LT $entru &tergerea tutur,r .nregistrril,r $e (are le@a)i inserat .n ta"el+
urmat %e un set %e (,menzi 3>S5T $entru reini)ializarea (,n)inutului ta"elului2 'a( nu %,ri)i s s(rie)i
-ie(are %in a(este (,menzi .n $arte+ .n(er(a)i urmt,area (,man%0
7 (at insert#P2sql S mysql sam$#%"
5egsirea in-,rma)iil,r
A(um+ ta"elele n,astre au -,st (reate &i .n(r(ate (u %ate+ %e(i 6ai%e)i s *e%em (e $utem -a(e (u a(ele %ate2
3nstru()iunea SL4T * $ermite s regsi)i si s a-i&a)i in-,rma)ii %in ta"elele %umnea*,astr+ .ntr@, manier
,ri(:t %e general sau %e s$e(i-i( %,ri)i2 Pute)i a-i&a .ntregul (,n)inut al unui ta"el0
SL4T P ;5OM $re&e%inte Sau $ute)i sele(ta , singur (,l,an a unui singur r:n%0
SL4T %ata#nastere ;5OM $re&e%inte WH5 nume T Fisen6,8erF
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
BA
3nstru()iunea SL4T are numer,ase (lauze /$r)i? $e (are le (,m"ina)i (,n-,rm ne(esit)il,r $entru a regsi
in-,rma)ia (are * intereseaz2 ;ie(are %intre a(este (lauze $,ate -i sim$l sau (,m$le9+ %e(i instru()iunile
SL4T .n t,talitatea l,r $,t -i sim$le sau (,m$le9e2 T,tu&i+ $ute)i sta lini&tit! nu *e)i gsi .n a(east (arte
inter,gri lungi %e , $agin+ $entru (are a*e)i ne*,ie %e , ,r $entru a le $ri(e$e2 /4:n% gses( .ntr@un material
inter,gri lungi %e@un (,t+ .n general le ,mit -r mustrri %e (,n&tiin) si "nuies( ( si %umnea*,astr
$r,(e%a)i la -el2?
;,rma general a instru()iunii SL4T este0
SL4T (e se sele(teaz
;5OM ta"el sau ta"ele
WH5 (,n%i)ii $e (are tre"uie sa le satis-a( %atele
>u uita)i ( SQL este un lim"a1 (u F-,rmat li"er! %e(i+ (:n% * s(rie)i $r,$riile %umnea*,astr inter,gri
SL4T+ nu este ne(esar s insera)i salturile la linie n,u a(,l, un%e le@am inserat eu2
Pentru a s(rie , instru()iune SL4T+ s$e(i-i(a)i (e anume %,ri)i s regsi)i &i a$,i unele (lauze ,$)i,nale2
4lauzele $rezentate mai sus /;5OM+ WH5? sunt (el mai -re(*ent -,l,site+ %e&i mai $,t -i s$e(i-i(ate si altele+
(um sunt W5OUP BX+ O5'5 BX si L3M3T2
4lauza ;5OM este %e regul $rezent+ %ar a(est lu(ru nu este ne(esar %a( nu sele(ta)i %ate %in ta"ele2 'e
e9em$lu+ inter,garea urmt,are a-i&eaz $ur si sim$lu *al,rile un,r e9$resii (are $,t -i (al(ulate -r re-erire la
*reun ta"el+ %e(i nu este ne(esar ni(i , (lauz ;5OM0
mysql> SL4T =[=+ FSalut+ lumeQ+ U5S3O>/?!
=[= i Salut+ lume 1 U5S3O>/?
I 1 Salut+ lume i A2=A20Q@al$6a@l,g
4:n% -,l,si)i , (lauz ;5OM $entru a s$e(i-i(a un ta"el %e un%e *,r -i regsite %atele+ -,rma (ea mai Mgeneri(F
a instru()iunii SL4T este a(eea $rin (are se regses( t,ate %atele2 Pentru a(easta+ -,l,si)i (ara(terul P+ (are
este , a"re*iere %e la Mt,ate (,l,aneleF2 3nter,garea urmt,are regse&te t,ate r:n%urile %in ta"elul ele* si le
a-i&eaz0 mysql> SL4T P ;5OM ele*!
nume se9 ele*#i%
Megan ; <
L,se$6 M =
Yyle M A
Yatie $ I
4,l,anele sunt returnate .n ,r%inea .n (are MySQL le@a st,(at .n ta"el2 A(easta este ,r%inea .n (are (,l,anele
sunt a-i&ate atun(i (:n% se emite , instru()iune 'S453B ele*2 Pun(tele %e sus$ensie %e la s-:r&itul e9em$lului
arat ( inter,garea returneaz mai multe r:n%uri %e(:t (ele $rezentate2
Pute)i %enumi .n m,% e9$li(it (,l,ana sau (,l,anele $e (are %,ri)i s le *e%e)i2 Pentru a sele(ta numai numele
ele*il,r+ $r,(e%a)i ast-el0
BI Partea l Utilizarea general a sistemului MySQL
mysql> SL4T nume ;5OM ele*!
nume
Megan L,se$6 Yyle Yatie
'a( $re(iza)i mai mult %e , (,l,an+ se$ara)i numele (,l,anel,r $rin *irgule2 3nstru()iunea urmt,are este
e(6i*alent (u SL4T P ;5OM ele*+ %ar -ie(are (,l,an este s$e(i-i(at .n m,% e9$li(it0
mysql> SL4T nume+se9+ele*#i% ;5OM ele*!
nume se9 ele*#i%
Megan ; <
L,se$6 M =
Yyle M A
Yatie ; I
Pute)i %enumi (,l,anele .n ,ri(e ,r%ine0
SL4T nume+ele*#i% ;5OM ele*
SL4T ele*#i%+nume ;5OM ele*
Pute)i (6iar s$e(i-i(a , (,l,an %e mai multe ,ri+ %a( %,ri)i+ %e&i a(est lu(ru este+ .n general+ inutil2
>umele (,l,anel,r nu sesizeaz %i-eren)a .ntre ma1us(ule si minus(ule .n MySQL2 Urmt,arele inter,gri sunt
e(6i*alente0
SL4T nume+ele*#i% ;5OM ele*
SL4T >UM+LU#3' ;5OM ele*
SL4T nUin+ eLeU#i' ;5OM ele*
>umele "azel,r %e %ate &i ale ta"elel,r $,t sesiza %i-eren)a .ntre ma1us(ule &i minus(ule! %e$in%e %e sistemul %e
-i&iere -,l,sit $e gaz%a ser*erului2 Un ser*er (are ruleaz .n U>3\ trateaz numele ta"elel,r &i ale "azel,r %e
%ate (a sensi"ile la %i-eren)a .ntre ma1us(ule &i minus(ule+ %e,are(e numele %e -i&iere U>3\ sunt sensi"ile la
a(east %i-eren)2 >umele %e -i&iere Win%,8s nu sesizeaz a(east %i-eren)+ %e(i un ser*er (are ruleaz .n
Win%,8s nu *a trata numele ta"elel,r &i ale "azel,r %e %ate (a sensi"ile la %i-eren)a %intre ma1us(ule &i
minus(ule2
MySQL *a $ermite s sele(ta)i (,l,ane %in mai multe ta"ele simultan2 U,m %is(uta %es$re a(easta .n se()iunea
M5egsirea in-,rma)iil,r %in mai multe ta"eleF2
S$e(i-i(area (riteriil,r %e regsire
Pentru a limita setul %e .nregistrri regsite %e instru()iunea SL4T+ -,l,si)i , (lauz WH5 (are s$e(i-i(
(riteriile $entru sele(tarea r:n%uril,r2 Pute)i sele(ta r:n%uri e9amin:n% a(ele *al,ri %in (,l,ane (are satis-a(
%i*erse (riterii2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
B5
Pute)i (uta *al,ri numeri(e0
mysql> SL4T P ;5OM $un(te WH5 $un(te > C5!
ele*#i% e*eniment#i% $un(te
5 A CJ
<K A CB
< B <00
5 B CJ
<< B CK
<B B CK
Alternati*+ $ute)i (uta *al,ri &ir2 /5e)ine)i0 (,m$ara)iile .ntre &iruri nu sunt+ .n m,% n,rmal+ sensi"ile la %i-eren)a
.ntre ma1us(ule si minus(ule2? mysql> SL4T nune+ $renume ;5OM $re&e%inte @> WH5
numeTF5OOSULTF!
$renume nume
5,,se*elt T6e,%,re 5,,se*elt ;ran]lin '2
mysql> SL4T nume+ $renume ;5OM $re&e%inte @> WH5 numeTFr,,se*eltF!
$renume nume
5,,se*elt T6e,%,re 5,,se*elt ;ran]lin '2
Sau $ute)i (uta *al,ri ale un,r %ate (alen%aristi(e0
mysql> SL4T nume+ $renume+ %ata#nastere ;5OM $re&e%inte @> WH5 %ata#nastere V F<J50@<@<F!
nume $renume %ata#nastere
Was6ingt,n We,rge <JA=@0=@== A%ams L,6n <JA5@<0@A0
Le--ers,n T6,mas <JIA@0I@<A
Sau $ute)i (uta , (,m"ina)ie %e *al,ri0
mysql> SL4T nume+ $renume+ %ata#nastere+ stat ;5OM $re&e%inte
@> WH5 %ata#nastere V F<J50@<@<F A>' /statTFUAF O5 statTFM^F?!
nume $renume %ata#nastere stat
Was6ingt,n We,rge <JA=@0=@== UA
A%ams L,6n <JA5@<0@A0 M^
Le--ers,n T6,mas <JIA@0I@<A UA
9$resiile %in (lauzele WH5 $,t -,l,si ,$erat,ri aritmeti(i+ (a .n ta"elul <2<+ ,$erat,ri %e (,m$ara)ie+ (a .n
ta"elul <2=+ res$e(ti* ,$erat,ri l,gi(i+ (a .n ta"elul <2A2 'e asemenea+ $ute)i -,l,si $aranteze $entru a gru$a $r)i
ale unei e9$resii2 O$era)iile $,t -i e-e(tuate -,l,sin% (,nstante+ (,l,ane %e ta"el &i a$eluri la -un()ii2 U,m a*ea
,(azia %e a -,l,si numer,ase -un()ii MySQL .n inter,gri $e $ar(ursul a(estui manual+ %ar ele sunt
BB
Partea l Utilizarea general a sistemului MySQL
mult $rea numer,ase $entru a le $rezenta ai(i2 Uezi Ane9a 4+ M5e-erin) %e ,$erat,ri &i -un()iiF+ $entru , list
(,m$let2
Ta"elul <2< O$erat,ri aritmeti(i
O$erat,r
Semni-i(a)ie
A%unare S(%ere .nmul)ire .m$r)ire
Ta"elul <2= O$erat,ri %e (,m$ara)ie
O$erat,r
V
VT
NT sau V> >T
Semni-i(a)ie
Mai mi(
Mai mi( sau egal
gal
'i-erit
Mai mare sau egal
Mai mare
Ta"elul <2A O$erat,ri l,gi(i
O$erat,r
A>'
O5
>OT
Semni-i(a)ie
Zl l,gi( SAU l,gi( >ega)ie l,gi(
4:n% -,rmula)i , inter,gare (are ne(esit ,$erat,ri l,gi(i+ -i)i atent s nu (,n-un%a)i semni-i(a)ia ,$erat,rului
l,gi( A>' (u m,%ul .n (are -,l,sim (u*:ntul MsiF .n *,r"irea zilni(2 S $resu$unem ( %,ri)i s gsi)i
M$re&e%in)ii ns(u)i .n statul Uirginia &i $re&e%in)ii ns(u)i .n statul Massa(6usettsF2 O"ser*a)i m,%ul %e utilizare
a lui MsiF! .nseamn a(easta ( *e)i s(rie inter,garea %u$ (um urmeazD0
SL4T nume+ $renume+ stat ;5OM $re&e%inte
WH5 StatTFUAF A>' StatTFMAF
>u+ %e,are(e a(east inter,gare .nseamn Msele(teaz $re&e%in)ii ns(u)i at:t .n Uirginia+ (:t si .n
Massa(6usettsF+ (eea este li$sit %e sens2 .n lim"a1ul uzual $ute)i e9$rima inter,garea -,l,sin% (u*:ntul M&iF+ %ar
.n SQL (ele %,u (,n%i)ii se leag -,l,sin% O5 /sau?0
mysql> SL4T nume+ $renume+ stat ;5OM $re&e%inte @> WH5 statTFUAF O5 statTFMAF!
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
BJ
nume $renume stat
Was6ingt,n We,rge UA
A%ams L,6n MA
Le--ers,n T6,mas UA
Ma%is,n Lames UA
M,nr,e Lames UA
A%ams L,6n Quin(y MA
Harris,n William H2 UA
Tyler L,6n UA
Tayl,r Ga(6ary UA
Wils,n W,,% r,8 UA
Yenne%y L,6n ; M^
Bus6 We,rge W2 M^
A(esta este un as$e(t la (are tre"uie s -i)i atent+ nu numai (:n% * -,rmula)i $r,$riile %umnea*,astr inter,gri+
%ar si (:n% s(rie)i inter,gri $entru alte $ers,ane2 4el mai "ine este s as(ulta)i (u aten)ie (e anume %,res( s
a-le a(estea+ %ar nu este ne(esar s le trans(rie)i %es(rierile .n SQL -,l,sin% a(eia&i ,$erat,ri l,gi(i2 Pentru
e9em$lul %es(ris anteri,r+ e(6i*alentul .n lim"a *,r"it al inter,grii este MSele(teaz $re&e%in)ii (are s@au ns(ut
.n Uirginia sau Massa(6usetts2F
Ual,area >ULL
Ual,area >ULL este s$e(ial! %e,are(e .nseamn M-r *al,areF+ nu , $ute)i (,m$ara (u *al,ri (un,s(ute .n
m,%ul .n (are (,m$ara)i una (u alta %,u *al,ri (un,s(ute2 'a( .n(er(a)i s -,l,si)i >ULL (u ,$erat,rii uzuali
%e (,m$ara)ie aritmeti(+ rezultatul este ne%e-init0
mysql> SL4T >ULL V O+ >ULL T O+ >ULL NT O+ >ULL > 0!
>UL
L
V 0 >UL
L
T 0 >UL
L
<T 0 >UL
L
> 0
>UL
L
>UL
L
>UL
L
>UL
L

'e -a$t+ nu $ute)i (,m$ara >ULL ni(i m(ar (u sine .nsu&i+ %e,are(e rezultatul (,m$ara)iei .ntre %,u *al,ri
ne(un,s(ute nu $,ate -i (un,s(ut0 mysql> SL4T >ULL T >ULL+ >ULLNT >ULL!
>ULL T >ULL >ULL NT >ULL >ULL >ULL
Pentru a e-e(tua (utri ale *al,ril,r >ULL+ tre"uie s -,l,si)i , sinta9 s$e(ial+ .n l,( %e a -,l,si T sau N T
$entru a testa egalitatea sau inegalitatea+ -,l,si)i 3S >ULL sau 3S >OT >ULL2
'e e9em$lu+ %e,are(e am re$rezentat %ata %e(esului $entru $re&e%in)ii a-la)i .n *ia) su" -,rma >ULL+ le $utem
gsi %u$ (um urmeaz0
mysql> SL4T nune+ $renune+ ;5OM $re&e%inte @> WH5 %ata#%e(es 3S >ULL!
BK Partea l Utilizarea general a sistemului MySQL
nume $renume
;,r% Weral% 5
4arter Lames 2
5eagan 5,nal% W2
Bus6 We,rge W2
4lint,n William L2
Pentru a gsi numele (are au un su-i9+ -,l,si)i 3S >OT >ULL0 mysql> SL4T nume+ $renume+ su-i9 ;5OM
$re&e%inte @> WH5 su-i9 3S >OT >ULL!
nume $renume i su-i9
4arter Lames 2 1 Lr2
MySQL A2=A &i *ersiunile su$eri,are au un ,$erat,r %e (,m$ara)ie s$e(ial+ s$e(i-i( $r,gramului MySQL+ si
anume VT>+ (are este a%e*rat (6iar si $entru (,m$ara)iile .ntre *al,ri >ULL2 4ele %,u inter,gri $re(e%ente
$,t -i re@s(rise -,l,sin% a(est ,$erat,r %u$ (um urmeaz0
mysql> SL4T nume+ $renume+ ;5OM $re&e%inte @> WH5 %ata#%e(es VT> >ULL!
nume $renume
;,r% Weral% 5
4arter Lames 2
5eagan 5,nal% W2
Bus6 We,rge W2
4lint,n William L2
mysql> SL4T nume+ $renume+ su-i9 ;5OM $re&e%inte @> WH5 >OT /su-i9 VT> >ULL?!
! nume i $renume su-i9 >22222222222222222222222O@O+222222222222222222222222222222222222222
i 4arter i Lames 2 Lr2
S,rtarea rezultatel,r unei inter,gri
Une,ri se ,"ser* (+ %a( se emite , inter,gare SL4T P ;5OM nume1ta"el asu$ra unui ta"el %u$
.n(r(area .n ta"el a unui set ini)ial %e %ate+ r:n%urile sunt regsite .n a(eea&i ,r%ine .n (are au -,st inserate2
A(est -a$t nu este .nt,t%eauna a%e*rat2 'a( &terge)i &i insera)i r:n%uri %u$ .n(r(area ini)ial a ta"elului+ se
,"ser* m,%i-i(area ,r%inii .n (are ser*erul returneaz r:n%urile ta"elului2 /Prin &tergerea .nregistrril,r+ .n ta"el
sunt inserate Mg,luriF %e s$a)iu ne-,l,sit+ g,luri $e (are MySQL .n(ear( s le um$le ulteri,r+ (:n% insera)i
.nregistrri n,i2?
.n m,% $resta"ilit+ (:n% insera)i r:n%uri+ ser*erul nu garanteaz ,r%inea .n (are *,r -i returnate r:n%urile2 Pentru
a s,rta r:n%urile+ -,l,si)i , (lauz O5'5 BX0 mysql> SL4T nume+ $renume ;5OM $re&e%inte @> O5'5
BX nume!
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
BC
nume $renume
A%ams L,6n
A%ams L,6n Quin(y
Art6ur 46ester A2
Bu(6anan Lames
Pute)i s$e(i-i(a %a( s,rtarea unei (,l,ane se *a -a(e .n ,r%ine as(en%ent sau %es(en%ent -,l,sin% (u*intele
(6eie ASW sau 'S4 %u$ numele (,l,anel,r %in (lauza O5'5 BX2 'e e9em$lu+ $entru a s,rta numele
$re&e%in)il,r .n ,r%ine in*ers /%es(res(t,are?+ -,l,si)i 'S4 ast-el0
mysql> SL4T nune+ $renume ;5OM $re&e%inte @> O5'5 BX nume 'S4!
nume $renume
Wils,n W,,% r,8
Was6ingt,n We,rge
Uan Buren Martin
Tyler L,6n
Or%inea as(en%ent este (ea $resta"ilit %a( nu s$e(i-i(a)i AS4 sau 'S4 $entru un nume %e (,l,an .ntr@,
(lauz O5'5 BX2
'a( s,rta)i , (,l,an (are $,ate (,n)ine *al,ri >ULL+ t,ate *al,rile >ULL a$ar la .n(e$utul (,l,anei+ res$e(ti*
la s-:r&it+ %a( s,rta)i .n ,r%ine %es(en%ent2
5ezultatele inter,grii $,t -i s,rtate $e mai multe (,l,ane+ iar -ie(are (,l,an $,ate -i s,rtat .n ,r%ine
as(en%ent sau %es(en%ent+ in%e$en%ent %e (elelalte (,l,ane2 3nter,garea urmt,are regse&te r:n%uri %in
ta"elul $re&e%inte+ le s,rteaz .n sens %es(en%ent .n -un()ie %e statul %e na&tere &i %u$ numele %e -amilie .n
(a%rul -ie(rui stat0 mysql> SL4T nume+ $renume+ stat ;5OM $re&e%inte @> O5'5 BX stat 'S4+ nume
AS4!
nume $renume stat
Art6ur 46ester A2 UT
4,,li%ge 4al*in UT
Harris,n William H2 UA
Le--ers,n T6,mas UA
Ma%is,n Lames UA
M,nr,e Lames UA
Tayl,r Ga(6ary UA
Tyler L,6n UA
Was6ingt,n We,rge UA
Wils,n W,,%r,8 UA
isen6,8er '8ig6t '2 T\
L,6ns,n Lyn%,n B2 T\
J0 Partea l Utilizarea general a sistemului MySQL
Limitarea rezultatel,r unei inter,gri
4:n% , inter,gare returneaz mai multe r:n%uri+ %ar %umnea*,astr %,ri)i s *e%e)i numai (:te*a+ (lauza L3M3T
este util+ mai ales .n (,n1un()ie (u O5'5 BX2 MySQL * $ermite s limita)i %atele %e ie&ire ale unei
inter,gri la $rimele n r:n%uri ale rezultatului returnat2 3nter,garea urmt,are sele(teaz $e $rimii (in(i ns(u)i
$re&e%in)i ameri(ani0 mysql> SL4T nume+ $renune+ %ata#nastere ;5OM $re&e%inte @> O5'5 BX
%ata#nastere L3M3T 5!
nume
Was6ingt,n
A%ams
Le--ers,n
Ma%is,n
M,nr,e
$renume
We,rge
L,6n
T6,mas
Lames
Lames
%ata na&tere
<JA=@0=@== <JA5@<0@A0 <JIA@0I@<A <J5<@0A@<B <J5K@0I@=K
'a( s,rta)i .n ,r%ine in*ers+ -,l,sin% O5'5 BX %ata1iastere 'S4+ *e)i ,")ine $e ultimii (in(i ns(u)i
$re&e%in)i ameri(ani2
'e asemenea+ L3M3T * $ermite s e9trageri , se()iune %e .nregistrri %in mi1l,(ul unui set %e rezultate2 Pentru
a(easta+ tre"uie s s$e(i-i(a)i %,u *al,ri2 Prima *al,are este numrul .nregistrrii ini)iale %in setul %e rezultate
$e (are %,ri)i s@< *e%e)i2 /Prima .nregistrare este numer,tat (u O+ nu <2? 4ea %e@a %,ua *al,are in%i( numrul
%e .nregistrri (are *,r -i returnate2 3nter,garea urmt,are este similar (u $re(e%enta+ %ar returneaz (in(i
.nregistrri+ .n(e$:n% %e la al uns$reze(elea r:n% al rezultatului0 mysql> SL4T nume+ $renune+ %ata#nastere
;5OM $re&e%inte @> O5'5 BX %ata#nastere L3M3T <0+5!
nume $renume %ata1iastere
Tyler L,6n <JC0@0A@=C
Bu(6anan Lames <JC<@0I@=A
P,l] Lames Y2 <JC5@<<@0=
;illm,re Miliar% <K00@0<@0J
Pier(e ;ran]lin <K0I@<<@=A
.n(e$:n% (u MySQL *ersiunea A2=A2=+ $ute)i ,r%,na rezultatele inter,gril,r .n -un()ie %e , -,rmul2 'e
e9em$lu+ $entru a e9trage , .nregistrare sele(tat aleat,r %in ta"elul $re&e%inte+ -,l,si)i O5'5 BX 5A>'/? .n
(,n1un()ie (u L3M3T0 mysql> SL4T nume+ $renume ;5OM $re&e%inte @> O5'5 BX 5A>'/? L3M3T
<!
nume $renume
M(Yinley William
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
J<
4al(ulul &i %enumirea *al,ril,r %in (,l,anele %e ie&ire
Ma1,ritatea inter,gril,r $re(e%ente au $r,%us %ate %e ie&ire $rin regsirea *al,ril,r %in ta"ele2 MySQL * mai
$ermite s (al(ula)i , *al,are %in (,l,ana %e ie&ire (a rezultat al unei e9$resii2 9$resiile $,t -i sim$le sau
(,m$le9e2 3nter,garea urmt,are e*alueaz , e9$resie sim$l /, (,nstant? &i , e9$resie mai (,m$le9+ (are
im$li( numer,ase ,$era)ii aritmeti(e si (:te*a a$eluri la -un()ii0
mysql> SL4T <J+ ;O5MAT/SO5T/APA[IPI?+0?!
<J ;O5MAT/SQ5T/APA[IPI?+0? <J 5
'e asemenea+ e9$resiile se $,t re-eri la (,l,anele %in ta"ele0 mysql> SL4T 4O>4AT/$renume+F
F+nume?+4O>4AT/,ras+ @> ;5OM $re&e%inte!
Q+stat?
4O>4AT / $renume +
F F
+ nume? i 4O>4AT /,ra&+F + F+stat?
We,rge Was6ingt,n
L,6n A%ams T6,mas
Le--ers,n Lames
Ma%is,n
i8a]e-iel%+ UA iBraintree+ M^
iAl"emarle 4,unty+ UA 1 P,rt
4,n8ay+ UA
A(east inter,gare -,rmateaz numele $re&e%in)il,r su" -,rma unui singur &ir+ $rin (,n(atenarea numelui si a
$renumelui se$arate $rintr@un s$a)iu &i -,rmateaz l,(ul na&terii su" -,rma ,ra&el,r &i statel,r se$arate $rin
*irgul2
4:n% -,l,si)i , e9$resie $entru a (al(ula *al,area unei (,l,ane+ e9$resia este -,l,sit $entru antetul (,l,anei2
A(easta $,ate %u(e la , (,l,an -,arte lat+ %a( e9$resia este lung /a&a (um , arat inter,garea $re(e%ent?2
Pentru a rez,l*a $r,"lema+ (a$ului %e (,l,an i se $,ate atri"ui un nume+ -,l,sin% (,nstru()ia AS nume2
Asemenea nume se numes( aliasuri %e (,l,an2 5ezultatul inter,grii anteri,are $,ate %e*eni ast-el mai
semni-i(ati*0
mysql> SL4T 4O>4AT/$renume+F F+nuBe?+ AS >ume+
@> 4O>4AT/,ra&+Q+ F+stat? As L,(ulnasterii
@> ;5OM $re&e%inte!
>ume i L,(ulnasterii
We,rge Was6ingt,n L,6n
A%ams T6,mas Le--ers,n
Lames Ma%is,n
i8a]e-iel%+ UA LBraintree+
M^ iAl"emarle 4,unty+ i
P,rt 4,n8ay+ UA
UA
.n (azul .n (are aliasul (,l,anei (,n)ine s$a)ii+ a(estea *,r tre"ui inserate .ntre g6ilimele0 mysql> SL4T
4O>4AT/$renume+F P+nune?+ AS Q>unele $re&e%inteluiP @> 4O>4AT/,ras+F+ F+stat? As FL,(ul na&teriiF @>
;5OM $re&e%inte!
J= Partea < Utilizarea general a sistemului MySQL
>umele $re&e%intelui OL,(ul na&terii
We,rge Was6ingt,n L,6n
A%ams T6,mas Le--ers,n
Lames Ma%is,n
1Wa]e-iel%+ UA LBraintree+ M^
1Al"emarle 4,unty+ UA 1P,rt
4,n8ay+ UA
Lu(rul (u %ate (alen%aristi(e
Prin(i$alul as$e(t $e (are tre"uie s@< re)ine)i atun(i (:n% lu(ra)i (u %ate .n MySQL este ( a(estea sunt
.nt,t%eauna re$rezentate .n(e$:n% (u anul2 'ata %e =J iulie <CCC este re$rezentat su" -,rma Q<CCC@0J@=JF2
'atele nu se s(riu ni(i su" -,rma F0J@=J@<CCCF &i ni(i su" -,rma F=J@0J@<CCCF+ a&a (um $,ate ( era)i ,"i&nuit
s le s(rie)i2
MySQL ,-er numer,ase m,%uri %e e-e(tuare a ,$era)iil,r (u %ate2 Unele %intre a(estea sunt urmt,arele0
O S,rtare %u$ %at2 /'e1a am *zut a(east ,$era)ie %e mai multe ,ri2?
O 4utarea unei anumite %ate sau a unui %,meniu %e %ate2
O 9tragerea unei $r)i %intr@, *al,are %e ti$ %at+ $re(um anul+ luna sau ziua2
O 4al(ularea %i-eren)ei .ntre %ate2
O 4al(ularea unei %ate $rin a%unarea sau s(%erea unui inter*al %intr@, alt %at2 .n (,ntinuare sunt $rezentate
e9em$le (u a(este ,$era)ii2
Pentru a (uta anumite %ate+ -ie .n -un()ie %e *al,area e9a(t+ -ie $rin (,m$ara)ie (u , alt *al,are+ (,m$ara)i ,
(,l,an 'ATA (u *al,area (are * intereseaz0 mysql> SL4T P ;5OM e*eniment WH5 %ataTF<CCC@<0@
0<F!
%ata ti$ e*eniment#i%
<CCC@<0@0< T B
mysql> SL4T nume+ $renume+ %ata#%e(es @> ;5OM $re&e%inte @> WH5 %ata#%e(es >T Q<CJ0@0<@0<Q
AM' %ata#%e(es V Q<CK0@0<@0<Q!
nume $renume %ata#%e(es
Truman
L,6ns,n
Harry S2
Lyn%,n B2
<CJ=@<=@=B
<CJA@0<@==
Pentru a testa sau $entru a regsi $r)i ale %atel,r (alen%aristi(e+ $ute)i -,l,si -un()ii $re(um XA5 /? /an?+
MO>TH /? /lun? sau 'AXO;MO>TH/? /ziua %in lun?2 'e e9em$lu+ $,t gsi $re&e%in)ii (are s@au ns(ut .n
a(eea&i lun (a mine /martie? (ut:n% %atele a (r,r *al,are a lunii este egal (u A0
mysql> SL4T nume+ $renume+ %ata#nastere
@> ;5OM $re&e%inte WH5 MO>TH/%ata#nastere? T A!
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
JA
nume $renume %ata#nastere
Ma%is,n Lames <J5<@0A@<B
La(]s,n An%re8 <JBJ@0A@<5
Tyler L,6n <JC0@0A@=C
4le*elan% Wr,*er <KAJ@0A@<K
'e asemenea+ inter,garea $,ate -i s(ris &i .n -un()ie %e numele lunii0 mysql> SL4T nune+ $renume+
%ata#nastere @> ;5OM $re&e%inte @> WH5 MO>TH>AM/%ata#nastere? T FMar(6F!
2222222222222222222222222222222222O2222222220222222222222222222222222222OO
nume $renume %ata#nastere
Ma%is,n Lames <J5<@0A@<B
La(]s,n An%re8 <JBJ@0A@<5
Tyler L,6n <JC0@0A@=C
4le*elan% Wr,*er <KAJ@0A@<K
Pentru a -i mai e9a(t @ s$e(i-i(:n% (6iar ziua na&terii @ $,t (,m"ina inter,grile $entru MO>TH /? &i
'AXO;MO>TH /? $entru a gsi $re&e%in)ii ns(u)i .n ziua mea %e na&tere0 mysql> SL4T nune+ $renume+
%ata#nastere
@> ;5OM $re&e%inte WH5 MOHTH/%ata#nastere? T A
@> A>' 'AXO;MO>TH/%ata#nastere? T =C!
l nume N $renume ! %ata#nastere
1 Tyler 1 L,6n i <JC0@0A@=C
A(esta este ti$ul %e inter,gare $e (are .l -,l,si)i $entru a genera liste (u $ers,anele ns(ute .ntr@, anumit zi+
list $e (are , *e%e)i .n se()iunea %e %i*ertisment a ziarel,r2 T,tu&i+ nu tre"uie s s(rie)i , anumit zi+ a&a (um s@a
$r,(e%at .n inter,garea anteri,ar2 Pentru a (uta $re&e%in)ii ns(u)i astzi+ in%i-erent %e ziua %in an .n (are ne
gsim+ (,m$ara)i %ata na&terii l,r (u *al,area 4U55>T#'AT /%at (urent?0
SL4T nume+ $renume+ %ata#nastere
;5OM $re&e%inte WH5 MO>TH/%ata#nastere? T MO>TH/4U55>T#'AT?
A>O 'AXO;MO>TH/%ata#nastere? T 'AXO;MO>TH/4U55>T#'AT?
Pute)i s(%ea , %at %intr@, alt %at2 A(easta * $ermite s gsi)i inter*alul %intre %ate+ (are este util $entru
%eterminarea *:rstel,r2 'e e9em$lu+ $entru a %etermina $re&e%intele (are a trit (el mai mult+ se s(a%e %ata
na&terii %in %ata %e(esului2 Pentru a(easta+ (,n*erti)i %ata#nastere si %ata#%e(es .n zile -,l,sin% -un()ia
TO#'AXS/?+ lua)i %i-eren)a si , .m$r)i)i la AB5 $entru a ,")ine *:rsta a$r,9imati*+ .n ani0
mysql> SL4T nume+ $renume+ %ata#nastere+ %ata#%e(es+
@> ;LOO5//TO#'AXS/%ata#%e(es? @ TO#'AXS/%ata#nastere??HAB5 @> AS *:rsta ;5OM $re&e%inte WH5
%ata#%e(es 3S >OT >ULL @> O5'5 BX *:rsta 'S4 L3M3T 5!
JI Partea l Utilizarea general a sistemului MySQL
nume $renume %ata#nastere %ata#%e(es *:rsta
A%ams L,6n <JA5@<0@A0 <K=B@0J@0I C0
H,,*er Her"ert 42 <KJI@0K@<0 <CBI@<0@=0 C0
Truman Harry S2 <KKI@05@0K <CJ=@<=@=B KK
Ma%is,n Lames <J5<@0A@<B <KAB@0B@=K K5
Le--ers,n T6,mas <JIA@0I@<A <K=B@0J@0I KA
;un()ia ;LOO5 /? -,l,sit .n a(east inter,gare elimin t,ate $r)ile -ra()i,nare %in *al,area *:rstei+ $entru a
genera un .ntreg2
Sta"ilirea %i-eren)ei .ntre %ate este %e asemenea util $entru %eterminarea %istan)ei .n ra$,rt (u , anumit %at %e
re-erin)2 Ast-el+ * $ute)i %a seama (are sunt mem"rii Ligii ist,ri(e (are tre"uie s@&i $lteas( .n (ur:n%
(,tiza)ia2 4al(ula)i %i-eren)a .ntre %atele %e e9$irare &i %ata (urent+ iar %a( a(easta este mai mi( %e(:t ,
anumit *al,are %e $rag+ .nseamn ( $lata (,tiza)iei *a -i .n (ur:n% ne(esar2 Urmt,area inter,gare .i gse&te
$e mem"rii (are tre"uie s@&i a(6ite (,tiza)ia .n termen %e B0 %e zile0 SL4T nume 1 $renume+ %ata#e9$irare
;5OM mem"ru WH5 /TO#'AXS/%ata#e9$irare? @ TO#'AXS/4U55>T#'AT?? V B0 .n(e$:n% %e la
MySQL A2==+ $ute)i -,l,si 'AT#A''/? sau 'AT#SUB/? $entru a (al(ula , %at $,rnin% %e la alta2 A(este
-un()ii $reiau , %at si un inter*al si $r,%u( , %at n,u2 'e e9em$lu0
mysql> SL4T 'AT#A''/F<CJ0@<@<F+ 3>T5UAL <0 XA5?!
'AT#A''/F<CJ0@<@<F+ 3>T5UAL <0 XA5? <CK0@0<@0<
mysql> SL4T 'AT#SUB/F<CJ0@<@<F+ 3>T5UAL <0 XA5?!
'AT#SUB/F<CJ0@<@<F+ 3>T5UAL <0 XA5?
<CB0@0<@0<
O inter,gare $rezentat anteri,r .n a(east se()iune sele(ta $re&e%in)ii (are au %e(e%at .n tim$ul anil,r QJ0+
-,l,sin% %ate literale $entru e9tremit)ile %,meniului %e sele()ie2 A(ea inter,gare $,ate -i re-,rmulat -,l,sin% ,
%at %e $,rnire literal &i , %at -inal (al(ulat $e "aza %atei %e $,rnire &i a unui inter*al0 mysql> SL4T
nume+ $renume+ %ata#%e(es
@> ;5OM $re&e%inte
@> WH5 %ata#%e(es >T F<CJ0@<@<F
@> A>' %ata#%e(es V 'AT#A''/F<CJ0@<@<F+ 3>T5UAL <0 XA5?
nume $renume %ata#%e(es
Truman
L,6ns,n
Harry S2
Lyn%,n B2
<CJ=@<=@=B
<CJA@0<@==
3nter,garea $entru $lata (,tiza)iei mem"ril,r $,ate -i s(ris -,l,sin% 'AT#A''/?0 SL4T nume+ $renume+
%ata#e9$irare ;5OM mem"ru WH5 %ata#e9$irare V 'AT#A''/4U55>T#'AT+ 3>T5UAL B0
'AX?
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
J5
Anteri,r .n a(est (a$it,l+ a -,st $rezentat , inter,gare $entru %eterminarea $a(ien)il,r unui me%i( st,mat,l,g
(are nu s@au mai $rezentat la (,ntr,l .n ultimul tim$0 SL4T nume+ $renume+ ultima#*izita ;5OM $a(ient
WH5 ultima#*izita V 'AT#SUB/4U55>T#'AT+ 3>T5UAL B MO>TH? .n a(el m,ment+
inter,garea res$e(ti* nu era $rea semni-i(ati*2 A(um esteD
Sta"ilirea (,res$,n%en)ei (u un m,%el
MySQL * $ermite s (uta)i *al,ri (are (,res$un% unui anumit m,%el2 Ast-el+ $ute)i sele(ta .nregistrri -r a
-urniza , *al,are e9a(t2 Pentru a e9e(uta , ,$era)ie %e sta"ilire a (,res$,n%en)ei (u un m,%el+ -,l,si)i ,$erat,ri
s$e(iali /L3Y si >OT L3Y? &i s$e(i-i(a)i un &ir (are (,n)ine (ara(tere %e .nl,(uire2 4ara(terul # (,res$un%e
,ri(rui (ara(ter+ iar 7 (,res$un%e ,ri(rei se(*en)e %e (ara(tere /in(lusi* , se(*en) *i%?2 Sta"ilirea
(,res$,n%en)ei (u un m,%el -,l,sin% L3Y &i >OT L3Y nu -a(e %i-eren)a .ntre ma1us(ule &i minus(ule2
A(est m,%el gse&te numele (are .n(e$ (u W /sau (u 8+ %a( ar e9ista?0 mysql> SL4T nume+ $renume
;5OM $re&e%inte @> WH5 nume L3Y FWU!
nume $renume
Was6ingt,n
Wils,n
We,rge
W,,%r,8
A(east (,res$,n%en) (u un m,%el este er,nat0
mysql> SL4T nume+ $renume ;5OM $re&e%inte @> WH5 nune T FWU!
m$ty set /0200 se(?
3nter,garea ilustreaz , er,are (,mun+ &i anume -,l,sirea unui m,%el (u un ,$erat,r aritmeti( %e (,m$ara)ie2
Uni(a $,si"ilitate (a a(east ,$era)ie s reu&eas( este (a .n (,l,an s se a-le (6iar &irul FWU sau F8U2
A(est m,%el (,res$un%e numel,r %e -amilie (are (,n)in litera W sau 8 ,riun%e .n interi,rul numelui0
mysql> SL4T nume+ $renume ;5OM $re&e%inte @> WH5 nume L3Y F7WU!
nume $renume
Was6ingt,n
Wils,n
isen6,8er
We,rge
W,,%r,8
'8ig6t '2
A(est m,%el (,res$un%e numel,r %e -amilie (are (,n)in e9a(t $atru (ara(tere0 mysql> SL4T nume+ $renume
;5OM $re&e%inte @> WH5 nume L3Y Q####F!
nume $renume
P,l] Ta-t ;,r%
Bus6
Lames Y2
William H2
Weral% 52
We,rge W2
JB Partea l Utilizarea general a sistemului MySQL
'e asemenea+ MySQL -urnizeaz , alt met,% %e sta"ilire a (,res$,n%en)ei (u un m,%el+ .n -un()ie %e
e9$resiile regulate e9tinse2 9$resiile regulate sunt $rezentate .n %es(rierea ,$erat,rului 5W\P %in Ane9a 42
Wenerarea %e sumare
Una %intre (ele mai utile ,$era)ii $e (are MySQL le $,ate -a(e $entru %umnea*,astr este s rezume mari
(antit)i %e %ate "rute &i s realizeze sumarul a(est,ra2 MySQL %e*ine un aliat $uterni( atun(i (:n% *e)i .n*)a
s@< -,l,si)i $entru a genera sumare+ %e,are(e a(easta este , a(ti*itate e9trem %e ,",sit,are+ (,nsumat,are %e
tim$ si su$usa la er,ri atun(i (:n% este e-e(tuat manual2
O -,rm sim$l %e (reare a unui sumar (,nst .n a %etermina *al,rile uni(e $rezente .ntr@un set %e *al,ri2 ;,l,si)i
(u*:ntul (6eie '3ST3>4T $entru a elimina r:n%urile (are se re$et %intr@un rezultat2 'e e9em$lu+ statele
%istin(te .n (are s@au ns(ut $re&e%in)ii ameri(ani se $,t gsi ast-el0
mysql> SL4T '3ST3>4T stat ;5OM $re&e%inte O5'5 BX stat! stat
A5 4A WA 3A _L YX M^ MO >4 > >H >L >X OH PA S4 T\ UA UT
O alt -,rm %e realizare a unui sumar este numrarea+ -,l,sin% -un()ia 4OU>T /?2 'a( -,l,si)i 4OU>T/P?+
a(easta * in%i( numrul %e r:n%uri sele(tat %e inter,garea %umnea*,astr2 'a( inter,garea nu are ni(i ,
(lauz WH5+ 4OU>T/P? * in%i( numrul r:n%uril,r %in ta"elul %umnea*,astr2
3nter,garea urmt,are * in%i( numrul tutur,r $re&e%in)il,r ameri(ani0 mysql> SL4T 4OU>T/P? ;5OM
$re&e%inte!
4OU>T/P?i I< i
'a( , inter,gare are , (lauz WH5+ 4OU>T/P? in%i( numrul %e r:n%uri $e (are .l sele(teaz (lauza2
A(east inter,gare * arat numrul %e (6esti,nare $e (are le@a)i %at ele*il,r %umnea*,astr $:n a(um0
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
JJ
mysql> SL4T 4OU>T/P? ;5OM e*eniment WH5 ty$e T Q4Q!
4OU>T/P? I
;un()ia 4OU>T/P? numr -ie(are r:n% sele(tat2 Prin (,ntrast+ 4OU>T/nume#(,l,ana? numr numai *al,rile
%i-erite %e >ULL2 Urmt,area inter,gare %em,nstreaz a(este %i-eren)e0
mysql> SL4T 4OU>T/P?+4OU>T/su-i9?+4OU>T/%ata#%e(es? @> ;5OM $re&e%inte!
4OU>T/P? i 4OU>T/su-i9? 4OU>T/%ata1Le(es? i I< i < AB 1
A(east inter,gare arat ( .n t,tal au -,st I< %e $re&e%in)i+ ( numele unui singur $re&e%inte are un su-i9+
$re(um si ( ma1,ritatea $re&e%in)il,r nu mai sunt .n *ia)2
.n(e$:n% %e la MySQL A2=A2=+ $ute)i (,m"ina 4OU>T/P? (u '3ST3>4T $entru a %etermina numrul %e *al,ri
%istin(te %intr@un rezultat2 'e e9em$lu+ $entru a numra statele %istin(te .n (are s@au ns(ut $re&e%in)ii
ameri(ani+ $r,(e%a)i ast-el0 mysql> SL4T 4OU>T/'3ST3>4T stat? ;5OM $re&e%inte!
4OU>T/'3ST3>4T stat?N <C 1
Pute)i .m$r)i numrt,rile .n *al,ri in%i*i%uale .n (,l,ana %e sumar2 'e e9em$lu+ $ute)i (un,a&te numrul t,tal
%e ele*i %e la (ursul %umnea*,astr (a rezultat al rulrii urmt,arei inter,gri0
mysql> SL4T 4OU>T/P? ;5OM ele*!
1 4OU>T/P?
i A<
'ar (:)i %intre ele*i sunt "ie)i si (:te sunt -eteD O m,%alitate %e a a-la a(east in-,rma)ie este %e a (ere ,
numrare se$arat $entru -ie(are se90 mysql> SL4T 4OU>T/P? ;5OM ele* WH5 se9TQ-!
4OU>T/P?S <5_ mysql> SL4T 4OU>T/P? ;5OM ele* WH5 se9T<n<!
4OU>T /P?N <B0
222222222222222222i
T,tu&i+ %e&i a(east met,% -un()i,neaz+ este ,",sit,are &i nu -,arte "ine a%a$tat $entru (,l,anele (are $,t
(,n)ine numer,ase *al,ri %istin(te2 S ne g:n%im (um $utem %etermina .n a(est m,% numrul $re&e%in)il,r
ns(u)i .n -ie(are stat2 Ua tre"ui s a-la)i (areQsunt statele re$rezentate+ $entru a nu ,mite ni(i unul /instru()iunea
SL4T '3S@
JK Partea l Utilizarea general a sistemului MySQL
T3>4T stat ;5OM $re&e%inte?+ a$,i rula)i , inter,gare SL4T 4OU>T/P? $entru -ie(are stat2 4ateg,ri(+ nu
%,ri)i s -a(e)i a(est lu(ru2
'in -eri(ire+ MySQL $,ate numra+ -,l,sin% , singur inter,gare+ %e (:te ,ri a$are -ie(are *al,are %istin(t .ntr@
, (,l,an2 Pentru lista n,astr (u ele*i+ $utem numra "ie)ii &i -etele ast-el0
mysql> SL4T se9+ 4OU>T/P? ;5OM ele* W5OUP BX se9!
se9 4OU>T/P?
; M <5 <B
A(eea&i -,rm %e inter,gare in%i( numrul %e $re&e%in)i ns(u)i .n -ie(are stat0 mysql> SL4T stat+
4OU>T/P? ;5OM $re&e%inte W5OUP BX stat!
i stat 4OU>T/P?
i A5 <
i 4A <
i WA <
!3A <
O_L <
NYX <
i M^ I
i MO <
i >4 =
3> <
!>H <
3> 1 <
i>X I
i OH J
i PA <
1s( <
!T\ =
i UA K
iUT =
4:n% numrau *al,rile .n a(est m,%+ (lauza W5OUP BX este ne(esar+ %e,are(e in%i( $r,gramului MySQL
m,%ul %e gru$are a *al,ril,r .nainte %e a le numra2 'a( ,mite)i a(east (lauz+ *e)i $rimi un mesa1 %e er,are2
Utilizarea -un()iei 4OU>T/P? (u W5OUP BX $entru numrarea *al,ril,r are un numr %e a*anta1e .n ra$,rt (u
numrarea in%i*i%ual a a$ari)iil,r -ie(rei *al,ri %istin(te %in (,l,an0
O >u tre"uie s &ti)i %inainte (are sunt *al,rile $rezente .n (,l,ana al (rei (,n)inut .l rezuma)i2
O A*e)i ne*,ie %e , singur inter,gare+ nu %e mai multe inter,gri2
O O")ine)i t,ate rezultatele .ntr@, singur inter,gare+ %e(i $ute)i s,rta %atele %e ie&ire2
Primele %,u a*anta1e sunt im$,rtante $entru e9$rimarea (u mai mare u&urin) a inter,gril,r2 4el %e@al treilea
a*anta1 este im$,rtant %e,are(e * $ermite , -le9i"ilitate .n a-i&area rezultatel,r2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
JC
4:n% -,l,si)i , (lauza W5OUP BX+ rezultatele sunt s,rtate .n (,l,anele .n -un()ie %e (are realiza)i gru$area+ %ar
$ute)i -,l,si O5'5 BX $entru a s,rta .ntr@, alt ,r%ine2 'e e9em$lu+ %a( %,ri)i (a numerele %e $re&e%in)i s
-ie gru$ate .n -un()ie %e statul %e na&tere+ %ar s -ie &i s,rtate .n ,r%inea %es(res(t,are a (el,r mai "ine
re$rezentate state+ $ute)i -,l,si , (lauz O5'5 BX %u$ (um urmeaz0
mysql> SL4T stat+ 4OU>T/P? AS numr ;5OM $re&e%inte @> W5OUP BX stat O5'5 BX numr 'S4!
istat numr
NUA K
!OH J
) M^ I
!>X I
3>4 =
iUT O
!T\ n
is( <
!>H <
i PA <
!YX <
N>L <
i 3A <
i MO <
04A <
i > <
!WA <
!3L <
3A5 <
4:n% (,l,ana %u$ (are %,ri)i s s,rta)i este %eterminat $rin (al(ul+ $ute)i %a (,l,anei un alias &i $ute)i -a(e
re-erire la alias .n (lauza O5'5 BX2 3nter,garea anteri,ar %em,nstreaz a(est -a$t! (,l,ana 4OU>T/P? este
%enumit numr2 O alt m,%alitate %e a -a(e re-erire la , asemenea (,l,an este $rin $,zi)ia sa .n %atele %e ie&ire2
3nter,garea anteri,ar ar -i $utut -i s(ris si ast-el0
SL4T state+ 4OU>T/P? ;5OM $re&e%inte
W5OUP BX stat O5'5 BX = 'S4
>u (re% ( %esemnarea unei (,l,ane $rin $,zi)ia a(esteia este -,arte sugesti*2 'a( a%uga)i+ elimina)i sau re@
,r%,na)i (,l,anele (u %atele %e ie&ire+ tre"uie s * aminti)i s *eri-i(a)i (lauza O5'5 BX si s (,re(ta)i
numrul (,l,anei+ %a( a(esta s@a m,%i-i(at2 Aliasurile nu ri%i( a(east $r,"lem2
'a( %,ri)i s -,l,si)i W5OUP BX (u , (,l,an (are (,n)ine *al,ri (al(ulate+ tre"uie s -a(e)i re-erire la a(ea
(,l,an -,l,sin% un alias sau $,zi)ia (,l,anei+ a&a (um se $r,(e%eaz .n (azul (lauzei O5'5 BX2 Urmt,area
inter,gare %etermin numrul $re&e%in)il,r (are s@au ns(ut .n -ie(are lun a anului0
mysql> SL4T MO>TH/%ata#nastere? as Luna+
@> MO>TH>AM/%ata1iastere? AS >ume+ 4OU>T/P? AS numr @> ;5OM $re&e%inte W5OUP BX >ume
O5'5 BX Luna!
K0
Partea l Utilizarea general a sistemului MySQL
Luna >ume numr
< 3anuarie A
= ;e"ruarie I
A Martie I
I A$rilie I
5 Mai =
H) 3unie <
@R 3ulie A
B August I
C Se$tem"rie <
<0 O(t,m"rie B
<< >,iem"rie 5
<= 'e(em"rie A
;,l,sin% $,zi)iile (,l,anel,r+ inter,garea $,ate -i s(ris ast-el0
SL4T MO>TH/%ata#nastere?+ MO>TH>AM/%ata#nastere?+ 4OU>T/P? ;5OM $re&e%inte W5OUP BX =
O5'5 BX <!
4OU>TQ $,ate -i (,m"inat (u O5'5 BX &i L3M3T $entru a gsi+ %e e9em$lu+ (ele mai
"ine re$rezentate $atru state %in ta"elul $re&e%inte0
mysql> SL4T stat+ 4OU>T/P? AS nuiar ;5OM $re&e%inte @> W5OUP BX stat O5'5 BX numr 'S4
L3M3T I!
i stat numr
i UA i
OH
i M^
L>X
K
J I I
'a( nu %,ri)i s limita)i %atele %e ie&ire ale inter,grii -,l,sin% , (lauz L3M3T+ (i $rin (utarea anumit,r *al,ri
ale -un()iei 4OU>T/?+ utiliza)i , (lauz HAU3>W2 3nter,garea urmt,are * *a in%i(a numrul %e state
re$rezentate $rin %,i sau mai mul)i $re&e%in)i0 mysql> SL4T stat+ 4OU>T/P? AS miiar ;5OM $re&e%inte
@> W5OUP BX stat HAU3>W nunar > < O5'5 BX numr 'S4!
istat numr
i UA K
!OH J
!MA I
O>X I
!>4 =
iUT =
OT\ =
.n general+ a(esta este ti$ul %e inter,gare (are tre"uie e9e(utat atun(i (:n% %,ri)i s gsi)i .ntr@, (,l,an *al,ri
(are se re$et2
HAU3>W este similar (u WH5+ %ar se a$li( %u$ (e au -,st sele(tate rezultatele inter,grii si este -,l,sit
$entru a re%u(e %,meniul rezultatel,r trimise e-e(ti* %e ser*er (lientului2
9ist -un()ii %e sumar altele %e(:t 4OU>T /?2 ;un()iile M3> /?+ MA\ /?+ SUM /? si AUW /? sunt utile $entru
%eterminarea *al,rii minime+ ma9ime+ t,tale &i me%ii %intr@, (,l,an2 Le $ute)i (6iar
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
K<
-,l,si $e t,ate simultan2 Urmt,area inter,gare $rezint %i-erite (ara(teristi(i numeri(e $entru -ie(are (6esti,nar
&i test $e (are l@ati %at2 'e asemenea+ in%i( numrul %e $un(ta1e in(luse .n (al(ulul -ie(rei *al,ri2 /Unii ele*i au
-,st a"sen)i &i+ (a atare+ nu au -,st numra)i2? mysql> SL4T
@> e*eniment#i%+
@> M3>/$un(te? AS minim+
@> MA\/$un(te? AS ma9im+
@> MA\/$un(te?@M3>/$un(te?[< AS %,meniu+
@> SUM/$un(te? AS t,tal+
@> AUW/$un(te? AS me%ie+
@> 4OU>T/$un(te? AS numr+
@> ;5OM $un(te
@> W5OUP BX e*eniment#i%!
e*eniment#i% minim ma9im %,meniu t,tal me%ie numr
< C =0 <= IAC <52<AJC =C
= K <C <= I=5 <I2<BBJ A0
A B0 CJ AK =I=5 JK2==5K A<
I J =0 <I AJC <I20AJ0 =J
5 K =0 <A AKA <I2<K5= =J
B B= <00 AC =A=5 K02<J=I =C
A(este in-,rma)ii $,t %e*eni mai semni-i(ati*e %a( a)i &ti+ %esigur+ %a( *al,rile res$e(ti*e au -,st ,")inute la
$un(ta1e sau teste2 T,tu&i+ $entru a ,")ine a(ele in-,rma)ii+ tre"uie s (,nsultm &i ta"elul e*eniment! *,m re*eni
la a(east inter,gare .n se()iunea M5egsirea in-,rma)iil,r %in mai multe ta"eleF2
;un()iile %e sumar sunt %istra(ti*e+ %e,are(e sunt -,arte $uterni(e+ %ar * $ute)i lsa -,arte u&,r M%us %e *alF2
Pri*i)i a(east inter,gare0 mysql> SL4T
@> stat AS Stat+
@> AUW//TO#'AXS/%ata#%e(es?@TO#'AXS/%ata#nastere??HAB5? AS U:rsta
@> ;5OM $re&e%inte WH5 %ata#%e(es 3S >OT >ULL
@> W5OUP BX state O5'5 BX U:rsta!
i stat N *:rsta 1 ! stat i *:rsta i
iYX 1 5B2 =0K=< CN NT\ . J<2 IJBJ<=
1
!UT ! 5K2 K5=055N 0MA N J=2
BI=00C!
! >4 ! B02 <I<0CBN !UA N J=2
K==CI5!
!OH N B=2 KBB<
I5 0
NPA QO JJ2
<5KC0I!
!>H N BI2 C< JK0KN NS4 i JK2
=KICA=N
!>X i BC2 AI=IBBN !4A ! K<2
AABCKBN
0>L N J<2 A< 50BK! NMO 1 KK2 BCA<
5< N
N3A N C02
=5IJC5N
3nter,garea sele(teaz $re&e%in)ii (are au %e(e%at+ .i gru$eaz .n -un()ie %e %ata na&terii+ le (al(uleaz *:rsta la
%ata %e(esului+ (al(uleaz *:rsta me%ie /$er stat? &i a$,i s,rteaz rezultatele %u$ *:rsta me%ie2 4u al1te (u*inte+
inter,garea %etermin+ $entru $re&e%in)ii (are nu mai sunt .n *ia)+ *:rsta me%ie la %ata %e(esului .n -un()ie %e
statul %e na&tere2
K= Partea l Utilizarea general a sistemului MySQL
Zi (e .nseamn astaD .nseamn numai ( $ute)i s(rie inter,garea2 *i%ent+ nu .nseamn ( inter,garea merit
s(ris2 >u t,ate ,$era)iile $e (are le $ute)i a$li(a unei "aze %e %ate sunt la -el %e semni-i(ati*e! t,tu&i+ une,ri
,amenii %e*in e9trem %e -eri(i)i (:n% a-l (e anume $,t -a(e (u "aza l,r %e %ate2 Ast-el se $,ate e9$li(a a$ari)ia
unui numr t,t mai mare %e statisti(i %in (e .n (e mai ez,teri(e /&i mai li$site %e sens? (u ,(azia e*enimentel,r
s$,rti*e tele*izate %in Statele Unite .n ultimii ani2 Statisti(ienii s$,rti*i .&i $,t -,l,si "azele %e %ate $entru a
%etermina t,t (e %,ri)i s &ti)i %es$re , e(6i$+ %ar &i t,t (e nu %,ri)i s &ti)i2 46iar este at:t %e im$,rtant s &ti)i
(are -un%a& %in 'i*izia A /mutatis mutan%is $entru realitatea r,m:neas( @ >2T2? are la a(ti* (ele mai multe
inter(e$)ii .n (areul %e <B metri atun(i (:n% e(6i$a lui (,n%u(e (u mai mult %e %,u g,luri %i-eren)+ (:n% $:n
la s-:r&itul re$rizei a %,ua sunt mai $u)in %e <5 minute &i antren,rul .n( n@a -(ut (ele trei s(6im"ri
regulamentareD
5egsirea in-,rma)iil,r %in mai multe ta"ele
3nter,grile $e (are le@am s(ris $:n a(um au e9tras %ate %intr@un singur ta"el2 A(um a1ungem la $artea
interesant2 Am mai s$us ( $uterea unui SWB' rela)i,nal rezi% .n (a$a(itatea sa %e a (,rela un as$e(t (u altul+
%e,are(e a(est -a$t * $ermite s (,m"ina)i in-,rma)ii %in mai multe ta"ele $entru a gsi rs$unsul la .ntre"ri la
(are nu se $,ate rs$un%e (,nsult:n% un singur ta"el2 A(east se()iune * $rezint m,%ul %e s(riere a
inter,gril,r %e regsire a in-,rma)iil,r %in mai multe ta"ele2
4:n% sele(ta)i in-,rma)ii %in mai multe ta"ele+ e-e(tua)i , ,$era)ie %enumit unire2 A(easta %e,are(e $r,%u(e)i
un rezultat $rin unirea in-,rma)iil,r %intr@un ta"el (u in-,rma)iile %in (ellalt ta"el+ ,$era)ie (are are l,( $rin
(,r,",rarea .nregistrril,r %in mai multe ta"ele (are (,n)in *al,ri (,mune2
S $ar(urgem un e9em$lu2 Anteri,r+ .n se()iunea MTa"ele $entru $r,ie(tul %e e*i%en) a rezultatel,r &(,lareF+ a
-,st $rezentat+ -r ni(i , e9$li(a)ie+ , inter,gare $entru regsirea $un(ta1el,r %e la (6esti,nare sau teste %ate la
, anumit %at2 A(um este m,mentul s %m e9$li(a)ia2 'e -a$t+ inter,garea im$li( , unire $e trei (i+ %e(i ,
*,m %es(rie .n %,u eta$e2
.n $rima eta$+ (,nstruim , inter,gare $entru sele(tarea $un(ta1el,r ,")inute la , anumit %at+ %u$ (um se
$,ate *e%ea mai 1,s0 mysql> SL4T ele*#i%+ %ata+ $un(te+ ti$
@> ;5OM e*eniment+ $un(te
@> WH5 %ata T Q<CCC@0C@=AQ
@> A>' e*eniment2e*eniraent#i% T $un(te2e*eniment#i%!
ele*#i% %ata $un(te ti$
< <CCC@0C@=A <5 O (
-` <CCC@0C@=A <= 4
A <CCC@0C@=A << 4
5 <CCC@0C@=A <A (
B <CCC@0C@=A <K (
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
KA
A(east inter,gare -un()i,neaz $rin gsirea .nregistrrii e*enimentului (u %ata $re(izat si a$,i -,l,se&te
i%enti-i(at,rul %e e*eniment %in a(ea .nregistrare $entru a l,(aliza $un(ta1e (u a(ela&i i%enti-i(at,r %e e*eniment2
Pentru -ie(are (,m"ina)ie (,res$unzt,are %e .nregistrare %e e*eniment &i .nregistrare %e $un(ta1+ sunt a-i&ate
i%enti-i(at,rul ele*ului+ $un(ta1ul+ %ata &i ti$ul %e e*eniment2 3nter,garea %i-er %e (ele s(rise $:n a(um %in
%,u $un(te %e *e%ere im$,rtante0
O 4lauza ;5OM %enume&te mai multe ta"ele+ %e,are(e %atele sunt regsite %in mai multe ta"ele0
;5OM e*eniment+ $un(te
O 4lauza WH5 $re(izeaz ( ta"elele e*eniment si $un(te sunt unite $rin sta"ilirea unei e(6i*alen)e .ntre
*al,rile (,l,anei e*eniment#i% %in -ie(are ta"el0
WH5 222 e*eniment2e*eniment#i% T $un(te2e*eniment#i%
O"ser*a)i m,%ul .n (are se -a(e re-erire la (,l,ane+ -,l,sin%u@se sinta9a nume#ta@"el2nume#(,l,ana+ ast-el .n(:t
MySQL s &tie (are sunt ta"elele .n (6estiune2 /4,l,ana e*eniment#i% a$are .n am"ele ta"ele+ %e(i a$are ,
situa)ie e(6i*,( %a( , -,l,sim -r un nume %e ta"el $entru a , i%enti-i(a2?
4elelalte (,l,ane %in inter,gare /%ata+ $un(te+ ti$? $,t -i -,l,site -r un element %e (ali-i(are %e ti$ nume %e
ta"el+ %e,are(e a$ar .ntr@un singur ta"el &i+ (a atare+ sunt li$site %e e(6i*,(2 T,tu&i+ eu .n general $re-er s (ali-i(
-ie(are (,l,an %intr@, unire+ $entru a $re(iza mai (lar ta"elul %in (are -a(e $arte (,l,ana+ .ntr@, -,rm (,m$let
%eterminat+ inter,garea se $rezint ast-el0
SL4T $un(te2ele*#i%+ e*eniment2%ata+ $un(te2$un(te+ e*eniment2ti$
;5OM e*eniment+ $un(te
WH5 e*eniment2%ata T F<CCC@0C@=AF
A>' e*eniment2e*eniment#i% T $un(te2e*eniment#i% 'e a(um .n(,l,+ *,i -,l,si -,rma (,m$let %eterminat2
.n (ea %e@a %,ua eta$+ *,m -inaliza inter,garea -,l,sin% ta"elul ele* $entru a a-i&a numele ele*il,r2 /'atele %e
ie&ire ale inter,grii %in $rima eta$ ne $rezint (:m$ul ele*#i%+ %ar numele sunt mai semni-i(ati*e2? A-i&area
numel,r este realizat -,l,sin% -a$tul ( at:t ta"elul $un(te+ (:t &i ta"elul ele* (,n)in (,l,ana ele*#i%+ (eea (e
$ermite (,relarea .nregistrril,r %in a(este ta"ele2 3nter,garea rezultant se $rezint ast-el0 mysql> SL4T
ele*2nune+ e*eniment2%ata+ $un(te2$un(te+
@> e*eniment2ti$ ;5OM e*eniment+ $un(te+ ele*
@> WH5 e*eniment2%ata T F<CCC@0C@=AF
@> A>' e*eniment2e*eniment#i% T $un(te2e*eniment#i%
@> A>' $un(te2e*eniment#i% T ele*2ele*#i%!
i nume %ata $un(te ti$
! Megan <CCC@0C@=A <5 4
! L,se$6 <CCC@0C@=A <= 4
! Yyle <CCC@0C@=A << 4
i A""y <CCC@0C@=A <A 4
1 >at6an <CCC@0C@=A <K 4
KI Partea l Utilizarea general a sistemului MySQL
A(east inter,gare %i-er %e $re(e%enta %in urmt,arele $un(te %e *e%ere0
O Ta"elul ele* este a%ugat la (lauza ;5OM %e,are(e este -,l,sit alturi %e ta"elele e*eniment &i $un(te2
O 4,l,ana ele*#i% este a(um e(6i*,(+ %e(i tre"uie %eterminat su" -,rma $un(te2 ele*#i% sau ele*2 ele*#i%+
$entru : $re(iza (lar (are este ta"elul (e urmeaz a -i -,l,sit2 /A(est -a$t este *ala"il (6iar %a( $re-erri s
s(rie)i uniri (are nu $re(izeaz (,m$let -ie(are re-erin) la , (,l,an2? @
O 4lauza WH5 are un termen su$limentar+ (are arat ( .nregistrrile %in ta"elul $un(te sunt (,r,",rate (u
.nregistrrile %in ta"elul ele*+ .n -un()ie %e i%enti-i(at,rul -ie(rui ele*0
WH5 222 $un(te2ele*#i% T ele*2ele*#i% P
O 3nter,garea a-i&eaz numele ele*ului+ nu i%enti-i(at,rul su2 /Bine.n)eles ( le $ute)i a-i&a $e am"ele+ %a(
%,ri)i2? Q
4u a(east inter,gare+ $ute)i intr,%u(e ,ri(e %at &i ,")ine)i $un(ta1ele %e la %ata res$e(ti*+ alturi %e numele
eleyil"r si %tti$ul $un(ta1ului2 >u tre"uie s &ti)i nimi( %es$re i%enti-i(at,rii %e ele* sau %e e*eniment2 MySQL
se ,(u$ %e %eterminarea *al,ril,r rele*ante ale i%enti-i(at,ril,r si %e utilizarea l,r $entru (,r,",rarea aut,mat
a in-,rma)iil,r %in r:n%urile ta"elel,r2 >
O alt sar(in $e (are , in(um" $r,ie(tul %e e*i%en) a rezultatel,r &(,lare este t,tali@zarea a"sen)el,r ele*il,r2
A"sen)ele sunt .nregistrate .n ta"elul a"sente+ .n -un()ie %e i%enti-i(at,rul ele*ului &i %e %at2 Pentru a ,"tine
numele ele*il,r /nu %,ar i%enti-i(at,rii l,r? tre"uie s unim ta"elul a"sente (u ta"elul ele*+ .n -un()ie %e *al,area
%in (,l,ana ele*#i%2 3nter,garea urmt,are a-i&eaz numrul %e i%enti-i(are a ele*ului si numele a(estuia+ alturi
%e numrul a"sen)el,r0 mysql> SL4T ele*2ele*#i%+ ele*2num+
@> 4OU>T/a"sente2%ata? AS a"sente
@> ;5OM ele*+ a"sente
@> WH5 ele*2ele*#i% T a"sente2ele*#i%
@> W5OUP BX ele*2ele*#i%!
ele*#i% nume a"sente
A 5 <0 <J
=0
Yyle A""y
Peter Will
A*ery < = < <
>,t0 'e&i am -urnizat un (ali-i(at,r .n (lauza W5OUP BX+ nu este a"s,lut ne(esar $entru a(east inter,gare2
W5OUP BX se re-er la (,l,anele %in lista %e sele()ie /%in+$rimele %,u linii ale inter,grii?2 Ai(i e9ist ,
singur (,l,an %enumit ele*#i%+ %e(i MySQL (un,a&te (,l,ana la (are * re-eri)i2 A(est -a$t este %e asemenea
*ala"il $entru (,l,anele s$e(i-i(ate .n (lauzele O5'5 BX2
'atele %e ie&ire generate %e inter,gare sunt a((e$ta"ile %a( %,rim s &tim numai (are sunt ele*ii (u a"sen)e2
'ar+ %a( trimitem a(east list la se(retariatul &(,lii+ (ei %e a(,l, *,r s$une0 M'ar (eilal)i ele*iD Urem , *al,are
$entru -ie(are ele*2F A(easta este!, $r,"lem u&,r %i-erit+ .nseamn ( %,rim s (un,a&tem numrul a"sen)el,r+
(6iar &i $en@
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
K5
tru ele*ii (are nu au a*ut ni(i , a"sen)2 'e,are(e .ntre"area este %i-erit+ &i inter,garea este %i-erit2
U Q 2 O Q F OO@2 2 Q F
F/?22Q
Pentru a rs$un%e la .ntre"are+ $utem -,l,si L;T LO3> .n l,( %e a as,(ia i%enti-i(at,rul %e ele* .n (lauza
WH52 L;T LO3> in%i( $r,gramului MySQL !s genereze un r:n% %e %ate %e ie&ire $entru -ie(are r:n%
sele(tat %in ta"elul %enumit $rimul .n (a%rul unirii /a%i( ta"elul $re(izat .n st:nga (u*intel,r (6eie L;T LO3>?2
Pre(iz:n% mai .nt:i ta"elul ele*+ *,m $rimi %ate %e ie&ire $entru -ie(are ele*+ (6iar &i $entru (ei (are nu sunt
re$rezenta)i .n ta"elul a"sente2 3nter,garea se $rezint ast-el0 mysql> SL4T ele*2ele*#i%+ ele*2nuae+
@> 4OU>T/a"sente+%ate? Aa a"sente
@> ;5OM ele* L;T LO3> a"sente
@> O> ele*2ele*#i% T a"sente2ele*LL%
@> W5OUP BX ele*iele*bi%! /
ele*#i% nume a"sente
2
WA_2U2+2N@ 0
20222
< Megan 0
= L,se$6 0
A Yyle <
I Yatie 0
5 A""y <
B >at6an 0
J Liesl 0
Anteri,r+ .n se()iunea MWenerarea %e sumareP am rulat a inter,gare (are $r,%u(ea , (ara(terizare numeri(a a
%atel,r %in ta"elul $un(te2 'atele %e ie&ire ale a(elei inter,gri a-i&au i%enti-i(at,rul %e e*eniment+ %ar nu
in(lu%eau %ata la (are a -,st ,")inut $un(ta1ul sau ti$ul a(estuia+ %e,are(e atun(i nu &tiam (um s unim ta"elul
$un(te (u ta"elul e*eniment+ $entru 2a ,")ine %atele &i ti$urile $un(ta1el,r2 A(um &tim2 3nter,garea urmt,are
este similar (elei $e (are am e9e(utat@, anteri,r+ %ar $rezint %ata &i ti$ul $un(ta1el,r+ nu numai i%enti-i(at,rul
numeri( %e e*eniment0
mysql> SL4T 0
+ @> e*eninent2%ata+eyeniseat2ti$ 2
@> M3>/$un(te2$un(te? AS cinia+ @> MA\/$un(te2$un(te? AS M9iM+
@> MA\/$un(te2$un(te?@M3>/$un(te2$un(te?[< AS %,ieniu+ @> SQM/$un(te2$un(te? AS t,tal+
+
@> AUW/$un(te2$un(te? AS ce%ie++ @> 4OU>T/$un(te2$un(te? AS nimar+ @> ;5OM $un(te+ e*eniment
01+Q+! 2
@> cH5 $un(te2e*enicent#i% T e*eniPent2e*eniHent#<I O @> W5OUP BX e*enUent2%ata!
KB
Partea l Utilizarea general a2sistemului MySQL
%ata ti$ minim ma9im %,meniu t,tal me%ie numr
<CCC@0C@0A ( C =0 <= IAC <52<AJC =C
<CCC@0C@0B 4 K <C <= I=5 <I2<BBJ A0
<CCC@0C@0C T B0 CJ AK =I=5 JK2==5K A<
<CCC@0C@<B rP J =0 <I AJC <I20AJ0 =J
<CCC@0C@=A ( Q =0 <A AKA <I2<K5= =J
<CCC@<0@0< R B= <00 AC =A=5 K02<J=I =C
Pute)i -,l,si -un()ii $re(um 4OU>T /? sau AUW/? $entru a genera un sumar $e (,l,ane multi$le+ (6iar %a(
a(este (,l,ane $r,*in %e la ta"ele %i-erite2 3nter,garea urmt,are %etermin numrul %e $un(ta1e si $un(ta1ul
me%iu $entru -ie(are (,m"ina)ie .ntre %ata e*enimentului &i se9ul ele*ului0
mysql> SL4T e*eniment2%ata+ ele*2se9+
@> 4OU>T/$un(te? AS numr+ AUW/$un(te? AS me%ie
@> ;5OM e*eniment+ $un(te+ ele*
@> WH5 e*eniment2e*eninent#i% T $un(te2ele*#i%
@> A>' $un(te2ele*#i% T ele*2ele*#i%
@> W5OUP BX e*eniment2%ata+ ele*2se9!
%ata se9 numr me%ie
<CCC@0C@0A ; <I <I2BI=C
<CCC@0C@0A M <5 <52B000
<CCC@0C@0B ; <I <I2J<IA
<CCC@0C@0B M <B <A2BKJ5
<CCC@0C@0C ; <5 JJ2I000
<CCC@0C@0C M <B JC20000
<CCC@0C@<B ; <A <52A0JJ
<CCC@0C@<B M <I <=2K5J<
<CCC@0C@=A ; <= <I20KAA
<CCC@0C@=A M <5 <I2=BBJ
<CCC@<0@0< ; <I JJ2JK5J
<CCC@<0@0< M <5 K=2I000
Putem -,l,si , inter,gare similar $entru a e-e(tua una %intre sar(inile a-erente $r,ie(tului %e e*i%en) a
rezultatel,r &(,lare0 (al(ulul $un(ta1ului t,tal al -ie(rui ele* la s-:r&itul semestrului2 3nter,garea se $rezint
ast-el0
SL4T ele*2ele*#i%+ ele*2nume
SUM/$un(te2$un(te? AS t,tal+ 4OU>T/$un(te2$un(te? AS n
;5OM e*eniment+ $un(te+ ele*
WH5 e*eniment2e*eniment#i% T $un(te2e*eniment#i%
A>' $un(te2ele*#i% T ele*2ele*#i%
W5OUP BX $un(te2ele*#i%
O5'5 BX t,tal
>u e9ist ni(i , (erin) (,n-,rm (reia , unire tre"uie e-e(tuat -,l,sin%u@se %,u ta"ele %i-erite2 La .n(e$ut
$,ate $rea (iu%at+ %ar $ute)i uni un ta"el (u el .nsu&i2 'e e9em$lu+ $ute)i %etermina %a( au e9istat $re&e%in)i
ns(u)i .n a(ela&i ,ra& (,m$ar:n% l,(ul na&terii -ie(rui $re&e%inte (u l,(ul na&terii tutur,r (el,rlal)i $re&e%in)i0
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
KJ
mysql> SL4T $l2nume+ $<2$renume+ $l2,ras+ $l2stat @> ;5OM $re&e%inte AS $<+ $re&e%inte AS $= @>
WH5 $l2,ras T $=2,ras A>' $l2stat T $=2stat @> A>' /$l2nume NT $=2nume O5 $<2$renume NT $=2$renume?
@> O5'5 stat+ ,ra&+ nume!
nume $renume ,ra& stat
A%ams
A%ams
L,6n Quin(y L,6n Braintree
Braintree
M^
M^
9ist %,u as$e(te (iu%ate ale a(estei inter,gri0
O Tre"uie s -a(em re-erire la %,u instan)e ale a(eluia&i ta"el+ %e(i *,m (rea aliasuri ale ta"elului /$<+ $=? &i le
*,m -,l,si $entru a e9$li(ita re-eririle la (,l,anele ta"elului2
O .nregistrarea -ie(rui $re&e%inte este e(6i*alent (u ea .ns&i+ %ar nu %,rim s *e%em a(est lu(ru .n %atele %e
ie&ire2 4ea %e@a %,ua linie a (lauzei WH5 interzi(e (,res$,n%en)a unei .nregistrri (u ea .ns&i+ asigur:n%
-a$tul ( .nregistrrile (,m$arate a$ar)in un,r $re&e%in)i %i-eri)i2
O inter,gare similar gse&te $re&e%in)ii (are s@au ns(ut .n a(eea&i zi2 'atele %e na&tere nu $,t -i (,m$arate
%ire(t+ %e,are(e ast-el s@ar M$ier%eF $re&e%in)ii (are s@au ns(ut .n ani %i-eri)i+ .n s(6im"+ *,m -,l,si MO>TH /?
&i 'AXO;MO>TH/? $entru a (,m$ara ziua &i luna %atei %e na&tere0
mysql> SL4T $l2nume+ $<2$renume+ $<2%ata#nastere
@> ;5OM $re&e%inte AS $<+ $re&e%inte AS $=
@> WH5 MO>TH/$<2%ata#nastere? T MO>TH/$=2%ata#nastere?
@> A>' 'AXO;MO>TH/$<2%ata#nastere? T
@> 'AXO;MO>TH/$=2%ata#nastere?
@> A>' /$l2nume NT $=2nume O5 $<2$renume NT $=2$renume?
@> O5'5 BX $l2nume!
nume $renume %ata#nastere
Har%ing P,l] Warren W2
Lames Y2
<KB5@<<@0=
<JC5@<<@0=
;,l,sin% -un()ia 'AXO;XA5 /? .n l,(ul (,m"ina)iei .ntre -un()iile MO>TH /? &i 'AXO;MO>TH /? s@ar
,")ine , inter,gare mai sim$l+ %ar s@ar $r,%u(e rezultate in(,re(te atun(i (:n% se (,m$ar %atele %in anii "ise()i
(u %atele %in anii (u AB5 %e zile2
Unirile e-e(tuate $:n a(um au (,m"inat in-,rma)ii %in ta"ele .ntre (are e9ist , ,are(are rela)ie l,gi(
semni-i(ati*+ %ar numai %umnea*,astr (un,a&te)i semni-i(a)ia a(elei rela)ii2 MySQL nu &tie /sau nu@i $as?
%a( ta"elele unite au sau nu *re, legtur unul (u altul2 'e e9em$lu+ $ute)i uni ta"elul e*eniment (u ta"elul
$re&e%inte+ $entru a a-la %a( a)i %at sau nu (6esti,nare sau teste %e ziua %e na&tere a unui $re&e%inte0 mysql>
SL4T $re&e%inte2nume+ $re&e%inte2$renume+
@> $re&e%inte2%ata#nastere+ e*eniment2ti$
@> ;5OM $re&e%inte+ e*eniment
@> WH5 MO>TH/$rese%inte2%ata#nastere? T
KK Partea l Utilizarea general a sistemului MySQL
@> MO>TH/e*eniment2%ata?
@> A>O 'AXO;MO>TH/$re&e%inte2%ata#nastere?
@> OAXO;MO>TH/e*eniment2%ata?!
nume $renume %ata#nastere ti$
4arter Lames <C=I@<0@0< T
Se $are ( a)i %at un test %e ziua %e na&tere a unui $re&e%inte2 Zi (e %a(D A(easta .nseamn ( MySQL *a -i
-,arte "u(ur,s s s(,at la i*eal rezultate+ in%i-erent %a( ele sunt l,gi(e sau nu2 >umai $entru ( -,l,si)i un
(al(ulat,r nu .nseamn ,"ligat,riu ( rezultatele unei inter,gri sunt utile sau ( merit ,steneala2 'in -eri(ire
sau %in $(ate+ nu suntem s(uti)i %e a &ti (e tre"uie s -a(em2
Ztergerea sau a(tualizarea .nregistrril,r e9istente
Une,ri+ %,ri)i s * %es(,t,r,si)i %e .nregistrri sau %,ri)i s le m,%i-i(a)i (,n)inutul2 3nstru()iunile 'LT &i
tlP'AT * $ermit a(este ,$era)ii2
3nstru()iunea 'LT are urmt,area -,rm0
'LT ;5OM ta"el#nume WH5 .nregistrri (are tre"uie &terse 4lauza WH5 in%i( .nregistrrile (are
tre"uie &terse si este ,$)i,nal %ar+ %a( , ,mite)i+ *,r -i &terse t,ate .nregistrrile2 A(easta .nseamn (
instru()iunea 'LT (ea mai sim$l este &i (ea mai $eri(ul,as0
'LT ;5OM nume#ta"el
A(east inter,gare &terge .n t,talitate (,n)inutul ta"elului2 ;i)i atent la inter,garea res$e(ti*N
Pentru a &terge anumite .nregistrri+ -,l,si)i (lauza WH5 $entru a sele(ta .nregistrrile (are * intereseaz2
A(easta este similar (lauzei WH5 %intr@, instru()iune SL4T2 'e e9em$lu+ $entru a &terge %in ta"elul
$re&e%inte $e t,)i $re&e%in)ii ns(u)i .n statul O6i,+ -,l,si)i a(east inter,gare0
mysql> 'LT ;5OM $re&e%inte WH5 statTFOHF!
Query OY+ J r,8s a--e(te% /0200 se(?
Un %eza*anta1 al (lauzei WH5 $entru instru()iunea 'LT este a(ela ( $ute)i -a(e re-erire numai la
(,l,anele ta"elului %in (are &terge)i .nregistrrile2
.nainte %e a emite , instru()iune 'LT+ %ese,ri este "ine s testa)i (lauza WH5 -,l,sin%@, (u ,
instru()iune SL4T+ $entru a * asigura ( *e)i &terge .nregistrrile $e (are %,ri)i s le &terge)i /si numai a(ele
.nregistrri?2 S $resu$unem ( %,ri)i s &terge)i .nregistrarea $entru Te%%y 5,,se*elt2 Ar -i "un urmt,area
inter,gareD
'LT ;5OM $re&e%inte WH5 numeTF5,,se*eltF
'a+ .n sensul ( ar &terge .nregistrarea $e (are , a*e)i .n *e%ere2 >u+ .n sensul ( ar &terge &i .nregistrarea lui
;ran]lin 5,,se*elt2 4el mai "ine este s *eri-i(a)i .n $reala"il (lauza WH5+ ast-el0
mysql> SL4T nume+ $renume ;5OM $re&e%inte @> WH5 numeTF5,,se*eltF!
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
KC
$renume nume
5,,se*elt
5,,se*elt
T6e,%,re
;ran]lin '2
'in a(est e9em$lu se %e%u(e ne(esitatea %e a -i mai (,n(ret0 mysql> SL4T nume+ $renume ;5OM
$re&e%inte
@> WH5 nuraeTn5,,se*eltF A>' $renumeTFT6e,%,reF!
$renume nume
5,,se*elt T6e,%,re
A(um &tim (are este (lauza WH5 (,re(t $entru sele(tarea .nregistrrii %,rite+ %e(i inter,garea 'LT
$,ate -i (,nstruit (,re(t0 mysql> 'LT ;5OM $re&e%inte
@> WH5 numeTF5,,se*eltF A>' $renumeTFT6e,%,reF! 4am mult mun( $entru a &terge , .nregistrare+ nu@
i a&aD Paza "un tre(e $rime1%ia reaN
/A(easta este una %in situa)iile .n (are *e)i %,ri s re%u(e)i la minimum numrul (ara(terel,r intr,%use %e la
tastatur+ $rin utilizarea te6ni(il,r %e (,$iere si li$ire+ res$e(ti* %e e%itare a liniil,r %e intrare2 Uezi se()iunea
MSugestii $entru intera()iunea (u mysqlF $entru mai multe in-,rma)ii2?
Pentru m,%i-i(area .nregistrril,r e9istente+ -,l,si)i UP'AT+ (are are urmt,area -,rm0
UP'AT nume#ta"el ST (,l,ane %e m,%i-i(at
WH5 .nregistrri %e a(tualizat
4lauza WH5 se -,l,se&te (a .n (azul instru()iunii 'LT &i este ,$)i,nal %e(i+ %a( nu , s$e(i-i(a)i+ * ,r -i
a(tualizate t,ate .nregistrrile %in ta"el2 3nter,garea urmt,are trans-,rm numele tutur,r ele*il,r %umnea*,astr
.n MWe,rgeF0
mysql> UP'AT ele* ST numeTFWe,rged! *i%ent+ tre"uie s -i)i atent (u .nregistrri %e a(est gen2
'e ,"i(ei+ *e)i -i mai (,n(ret .n (eea (e $ri*e&te .nregistrrile $e (are le a(tualiza)i2 S $resu$unem ( a)i
a%ugat re(ent un mem"ru al Ligii ist,ri(e+ %ar a)i (,m$letat numai (:te*a (,l,ane %in ru"ri(a sa0
mysql> 3>S5T mem"ru /nume+$renume?
@> UALUS/Ql,nes(uQ2QUasileQ?!
A$,i+ * %a)i seama ( a)i uitat s men)i,na)i %ata $l)ii (,tiza)iei2 Pute)i reme%ia a(est nea1uns %u$ (um
urmeaz0 mysql> UP'AT mem"ru
@> ST %ata#e9$irareTQ=00<@J@=0Q
@> WH5 numeTQl,nes(uQ A>' $renumeTQUasileQ
Pute)i a(tualiza mai multe (,l,ane simultan2 3nstru()iunea urmt,are a(tualizeaz a%resa $,&tal &i %e e@mail a
lui Uasile0 mysql> UP'AT mem"ru
@> ST email TQi*asile%ya6,,2(,rnQ+
@> stra%aTQ<=A Str2 LungaQ+,rasTQ>i(ieriQ+
C0 Partea l Utilizarea general a sistemului MySQL
@> statTQ>XQ+(,%#$,stalTQ0<00Al
@> WH5 numeTQl,nes(uQ A>' $renumeTQUasileQ!
'e asemenea+ $ute)i ManulaF *al,area unei (,l,ane atri"uin%u@i a(esteia *al,area >ULL /$resu$un:n% ( a(ea
(,l,an a((e$t *al,ri >ULL?2 'a( la un anumit m,ment .n *iit,r Uasile se %e(i%e s $lteas( a(ea (,tiza)ie
mare (are .i $ermite s %e*in mem"ru M$e *ia)F+ .i $ute)i m,%i-i(a .nregistrarea .n m,% a%e(*at atri"uin% %atei
%e e9$irare *al,area >ULL /.n sensul ( Mnu e9$ir ni(i,%atF?0 mysql> UP'AT mem"ru
@> ST %ata#e9$irareT>ULL
@> WH5 numeTQl,nes(u< A>' $renuneTQUasileQ!
.n (azul instru()iunii UP'AT+ (a &i $entru 'LT+ este "ine s testa)i , (lauz WH5 -,l,sin% ,
instru()iune SL4T+ $entru a * asigura ( alege)i .nregistrrile (,re(te $entru a(tualizare+ .n (azul .n (are
(riteriile %umnea*,astr %e sele()ie sunt $rea .nguste sau $rea largi+ *e)i a(tualiza $rea $u)ine+ res$e(ti* $rea
multe .nregistrri2
'a( a)i .n(er(at inter,grile %in a(east se()iune+ *e)i -i &ters &i m,%i-i(at .nregistrri %in ta"elele "azei %e %ate
sam$#%"2 .nainte %e a tre(e la se()iunea urmt,are+ tre"uie s anula)i a(este m,%i-i(ri2 ;a(e)i a(easta $rin
re.n(r(area ta"elel,r -,l,sin% instru()iunile %e la s-:r&itul se()iunii MA%ugarea %e n,i .nregistrriF2
M,%i-i(area stru(turii ta"elel,r
U mai aminti)i (:n% am (reat ta"elul mem"ru al Ligii ist,ri(e -r , (,l,an a i%enti-i(at,rului numeri( al
mem"ril,r+ (a $rete9t $entru a -,l,si instru()iunea ALT5 TABLD ste m,mentul s -,l,sim a(east
instru()iune2 4u a1ut,rul instru()iunii ALT5 TABL+ $ute)i re%enumi ta"ele+ a%uga sau &terge (,l,ane+
m,%i-i(a ti$uri %e (,l,ane &i altele2 Singurul e9em$lu $e (are .l *,i $rezenta ai(i este m,%alitatea %e a a%uga ,
(,l,an n,u2 Uezi (a$it,lul A $entru mai multe %etalii %es$re $,si"ilit)ile instru()iunii ALT5 TABL2
4,nsi%erentul $rin(i$al la a%ugarea unei (,l,ane (u i%enti-i(at,rul numeri( al mem"ril,r la ta"elul mem"ru
este a(ela ( *al,rile tre"uie s -ie uni(e+ $entru a se e*ita (,n-uzia .ntre ru"ri(i2 Ai(i este util , (,l,an
AUTO#3>45M>T+ %e,are(e $utem $ermite $r,gramului MySQL s genereze aut,mat numere uni(e atun(i
(:n% a%ugm mem"ri n,i2 .ntr@, instru()iune 45AT TABL+ s$e(i-i(a)ia $entru , asemenea (,l,an ar arta
ast-el0
mem"ru#i% 3>T U>S3W>' >OT >ULL AUTO#3>45M>T P53MA5X YX Pentru instru()iunea ALT5
TABL+ sinta9a este similar2 5ula)i a(east inter,gare $entru a a%uga (,l,ana0
mysql> ALT5 TABL mem"ru
@> A'' mem"ru#i% 3>T U>S3W>' >OT >ULL AUTO#3>45M>T @> P53MA5X YX!
A(um+ (:n% a*em , n,u (,l,an $entru mem,rarea i%enti-i(at,ril,r numeri(i ai mem"ril,r+ (um re$artizm
numere .nregistrril,r e9istente %in ta"elul mem"ruD Sim$lu! MySQL s@a ,(u$at %e1a %e astaN 4:n% a%uga)i ,
(,l,an la un ta"el+ MySQL ini)ializeaz *al,rile (,l,anel,r (u *al,area $resta"ilit+ .n (azul unei (,l,ane
AUTO#3>45M>T+ a(easta %etermin generarea unui n,u numr %in se(*en) $entru -ie(are r:n%2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
C<
Sugestii $entru intera()iunea (u mysql
A(east se()iune %is(ut %es$re m,%ul %e a intera()i,na (u $r,gramul (lient mysql .ntr@, manier mai e-i(ient &i
(u mai $u)in te9t intr,%us %e la tastatur2 ste %es(ris un m,% mai sim$lu %e (,ne(tare la ser*er &i met,%e %e
intr,%u(ere a inter,gril,r -r a , tasta $e -ie(are %e la .n(e$ut $:n la s-:r&it2
Sim$li-i(area $r,(esului %e (,ne9iune
Pr,"a"il ( tre"uie s s$e(i-i(a)i $arametri %e (,ne9iune $re(um numele gaz%ei+ numele %e utilizat,r sau $ar,la
atun(i (:n% in*,(a)i mysql2 Pentru sim$la rulare a unui $r,gram tre"uie intr,%us , (antitate seri,as %e te9t+
lu(ru (are %e*ine -,arte re$e%e ,",sit,r2 9ist numer,ase met,%e $entru sim$li-i(area $r,(esului %e (,ne(tare+
$rin re%u(erea la minimum a te9tului intr,%us %e la tastatur0
O Utiliza)i un -i&ier (u ,$)iuni $entru st,(area $arametril,r %e (,ne(tare2
O 5e$eta)i (,menzile "ene-i(iin% %e (ara(teristi(ile inter$ret,rului %umnea*,astr %e mem,rare a (,menzil,r
/ist,ri(?2
O 'e-ini)i , s(urttur $entru linia %e (,man% mysql -,l,sin% un alias sau un s(ri$t %e inter$ret,r2
Utilizarea unui -i&ier (u ,$)iuni
.n(e$:n% %e la *ersiunea A2==+ MySQL * $ermite s st,(a)i $arametri %e (,ne9iune .ntr@un -i&ier (u ,$)iuni2
A$,i+ nu mai tre"uie s tasta)i $arametri %e -ie(are %at (:n% rula)i mysql! a(e&tia sunt -,l,si)i (a &i (um i@a)i -i
intr,%us .n linia %e (,man%2 Parametrii sunt %e asemenea -,l,si)i &i %e (tre alte $r,grame (lient MySQL+
$re(um mysqlim$,rt2 A(easta .nseamn ( un -i&ier (u ,$)iuni re%u(e (antitatea %e te9t intr,%us atun(i (:n%
-,l,si)i &i a(este $r,grame2
Pentru a -,l,si -i&ierul (u ,$)iuni .n *e%erea s$e(i-i(rii $arametril,r %e (,ne9iune+ (rea)i un -i&ier %enumit
@H2my2(n- /a%i( un -i&ier %enumit 2my2(n- .n (atal,gul %umnea*,astr %e "az?2 Un -i&ier (u ,$)iuni este un -i&ier
(u te9t sim$lu+ %e(i .l $ute)i (rea -,l,sin% ,ri(e e%it,r %e te9te2 4,n)inutul -i&ierului se $rezint ast-el0
e(lientE
6,stTgaz/Ha#ser*erului
userTnumele#%umnea*,astr
$ass8,r%T$ar,la#%umnea*,astr
Linia e(lientE in%i( .n(e$utul gru$ului (u ,$)iuni $entru $r,gramul (lient! t,ate liniile (are urmeaz %u$
a(easta sunt linii (itite %e (tre $r,gramele (lient MySQL $entru a ,")ine *al,rile ,$)iunil,r+ $:n la s-:r&itul
-i&ierului sau $:n la .n(e$utul unui gru$ %e $arametri %i-erit+ .nl,(ui)i gaz%a#ser*erului+ numele#%umnea*,astra
si $ar,la#%um@nea*,astra (u numele gaz%ei+ numele %e utilizat,r &i $ar,la $e (are le s$e(i-i(a)i (:n% * (,ne(ta)i
la ser*er2 Pentru mine+ -i&ierul 2 my2 (n- se $rezint ast-el
e(lientE
6,stT$it@*i$er2sna]e2net
userT$aul
$ass8,r%Tse(ret
C= Partea l Utilizarea general a sistemului MySQL
Singura linie ,"ligat,rie este e(lientE2 Liniile (are %e-ines( *al,rile $arametril,r sunt ,$)i,nale! le $ute)i s$e(i-i(a
numai $e (ele %,rite2 'e e9em$lu+ %a( numele %umnea*,astr %e utilizat,r MySQL este a(ela&i (u numele
U>3\ %e %es(6i%ere a sesiunii %e lu(ru+ atun(i nu tre"uie s in(lu%e)i , linie user2
'u$ (e a)i (reat -i&ierul 2my 2(n-+ sta"ili)i $entru m,%ul su %e a((es , *al,are restri(ti*+ $entru a * asigura (
nimeni alt(ine*a nu $,ate s@< (iteas(0
7 (6m,% B00 2ray+(n-
Su" Win%,8s+ (,n)inutul -i&ierului (u ,$)iuni este a(ela&i+ %e&i numele este %i-erit /40 `my2(n-?+ iar
%umnea*,astr nu in*,(a)i (,man%a (6m,%2
'e,are(e -i&ierele (u ,$)iuni au -,st a%ugate la MySQL %e(:t .n(e$:n% (u *ersiunea A2==+ nu le $ute)i -,l,si (u
*ersiunile anteri,are+ .n $arti(ular+ nu $ute)i -,l,si un -i&ier (u ,$)iuni su" Win%,8s la (lien)ii in(lu&i .n
%istri"u)ia s6are8are a sistemului MySQL+ %e,are(e a(eea se "azeaz $e MySQL A2=<2 ;i&ierele (u ,$)iuni sunt
(,m$ati"ile (u *ersiunea Win%,8s .nregistrat a sistemului MySQL+ sau * $ute)i $r,(ura $r,grame (lient mai
re(ente+ (,m$ati"ile (u -i&ierele (u ,$)iuni+ %in situl We" MySQL2
'es$re -i&ierele (u ,$)iuni se $,t ,")ine mai multe in-,rma)ii .n Ane9a + M5e-erin) %e $r,gram MySQLF2
Utilizarea ist,ri(ului %e (,menzi al inter$ret,rului
3nter$ret,are $re(um (s6+ t(s6 si "as6 re)in (,menzile %umnea*,astr .ntr@, list ist,ri( &i * $ermit sa re$eta)i
(,menzi %in lista res$e(ti*2 'a( -,l,si)i un asemenea inter$reter+ lista %umnea*,astr ist,ri( * $,ate a1uta s
e*ita)i tastarea un,r .ntregi (,menzi2 'e e9em$lu+ %a(a a)i in*,(at $r,gramul mysql re(ent+ .l $ute)i ree9e(uta
%u$ (um urmeaz0
7 l my
4ara(terul N in%i( inter$ret,rului s (aute .n ist,ri(ul %e (,menzi $entru a gsi (ea mai re(ent (,man% (are
.n(e$e (u my &i s , re@e9e(ute (a &i (um %umnea*,astr a)i -i rein@tr,%us@, %e la tastatur2 'e asemenea+ unele
inter$ret,are * $ermit s * %e$lasa)i .n sus si .n 1,s .n lista ist,ri( -,l,sin% tastele (u sge)i ,rientate .n sus+
res$e(ti* .n 1,s /sau $,ate (,m"ina)iile %e taste 4trl@P &i 4trl@>?2 Pute)i sele(ta .n a(est m,% (,man%a %,rit &i
a$,i a$sa)i $e nter $entru a , e9e(uta+ t(s6 &i "as6 au a(east (ara(teristi(+ $,si"il e9istent &i la alte
inter$ret,are2 9amina)i %,(umenta)ia inter$ret,rului %umnea*,astr $entru a a-la mai multe %etalii %es$re
utilizarea listei ist,ri(2
Utilizarea aliasuril,r &i a s(ri$turil,r %e inter$reter
'a( inter$ret,rul %umnea*,astr $ermite atri"uirea unui alias+ $ute)i (,n-igura s(urtturi %e (,menzi (are *
$ermit s in*,(a)i , (,man% lung $rin tastarea unui nume s(urt2 'e e9em$lu+ .n (s6 sau t(s6+ $ute)i -,l,si
(,man%a alias $entru a (,n-igura un alias %enumit sam$#%"+ (um este a(esta0
alias sam$#%" Qmysql @6 $it@*i$er2sna]e2net @u @$aul @$ sam$#%"Q Sinta9a $entru "as6 este u&,r %i-erit0
alias sam$#%"TQmysql @6 $it@*i$er2sna]e2net @u @$aul @$ sam$#%"Q 'e-inirea unui alias -a(e a(este %,u
(,menzi e(6i*alente0
sam$#%"
mysql @6 $it@*i$er2sna]e2net @u @$aul @$ sam$#%"
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL CA
*i%ent+ $rima (,man% este mai u&,r %e intr,%us %e(:t a %,ua2 Pentru (a aliasul s ai" e-e(t %e -ie(are %at
(:n% %es(6i%e)i sesiunea %e lu(ru+ $lasa)i (,man%a alias .ntr@unul %in -i&ierele %e $,rnire ale inter$ret,rului
%umnea*,astr /%e e9em$lu 2(s6r( $entru (s6 sau 2"as6#$r,-ile $entru "as6?2
Un alt ti$ %e s(urttur este (rearea unui s(ri$t %e inter$reter (are e9e(ut mysql aut,mat+ (u ,$)iunile a%e(*ate+
.n U>3\+ un -i&ier s(ri$t e(6i*alent (u aliasul sam$#%" $rezentat anteri,r arat ast-el0
fN H"inHs6
e9e( mysql @6 $it@*i$er2sna]e2net @u @$aul @$ sam$#%"
'a( %enumes( s(ri$tul sam$#%" &i .l trans-,rm .ntr@un e9e(uta"il /-,l,sin% (,man%a (6m,% [9 sam$#%"?+ $,t
tasta sam$#%" $entru a rula mysql &i $entru a m (,ne(ta la "aza mea %e %ate2
Su" Win%,8s+ .n a(elea&i s(,$uri se $,ate -,l,si un -i&ier "at(6+ a*:n% e9tensia 2"at si (,n)in:n% (,menzi
e9e(uta"ile -r inter*en)ia utilizat,rului2 'enumi)i -i&ierul sam$#%"2"at &i insera)i .n -i&ier , linie (a a(easta0
mysql @6 $it@*i$er2sna]e2net @u @$aul @$ sam$#%"
A(est -i&ier "at(6 $,ate -i rulat -ie tast:n% sam$#%" la $r,m$tul %intr@, (,ns,l 'OS+ -ie e9e(ut:n% %u"lu (li( $e
$i(t,grama sa %in Win%,8s2
'a( ,")ine)i a((es la mai multe "aze %e %ate sau * (,ne(ta)i la mai multe gaz%e+ $ute)i %e-ini mai multe
aliasuri sau s(ri$turi+ -ie(are %in a(estea in*,(:n% mysql (u ,$)iuni %i-erite2
miterea %e inter,gri (u , (antitate mai mi( %e te9t intr,%us %e la tastatur
mysql este un $r,gram e9trem %e util $entru intera()iunea (u "aza %umnea*,astr %e %ate+ %ar inter-a)a sa este
i%eal $entru inter,gri s(urte+ %e un r:n%2 mysql nu este interesat %a( , inter,gare se e9tin%e $e mai multe
r:n%uri+ %esigur+ %ar nu este $rea amuzant s tastezi inter,gri lungi2 3ntr,%u(erea unei inter,gri+ (6iar &i a uneia
s(urte+ nu este ni(i ea $rea %istra(ti*+ %a( %es(,$eri ( tre"uie s , tastezi %in n,u %at,rit unei er,ri %e
sinta92
9ist numer,ase te6ni(i $e (are le $ute)i utiliza $entru e*itarea un,r intr,%u(eri &i reintr,%u(eri inutile %e te9t0
O ;,l,si)i (ara(teristi(a %e e%itare a liniei %e intrare %in mysql2
O Utiliza)i (,$ierea &i li$irea2
O 5ula)i mysql .n m,% "at(62
O *ita)i s intr,%u(e)i instru()iuni 3>S5T+ $rin utilizarea %atel,r e9istente $entru (rearea %e n,i .nregistrri2
Utilizarea e%it,rului liniil,r %e intrare %in mysql
.n mysql este .n(,r$,rat "i"li,te(a W>U 5ea%line+ (are $ermite e%itarea liniil,r %e intrare2 Pute)i mani$ula linia
$e (are , intr,%u(e)i la un m,ment %at sau $ute)i relua liniile intr,%use anteri,r &i le $ute)i re@intr,%u(e+ -ie (a
atare+ -ie %u$ , m,%i-i(are ulteri,ar2 A(est lu(ru este (,n*ena"il (:n% intr,%u(e)i , linie si ,"ser*a)i , gre&eal
%e
CI
Partea l Utilizarea general a sistemului MySQL
intr,%u(ere a te9tului! $ute)i re*eni .n interi,rul liniei $entru a (,re(ta $r,"lema .nainte %e a a$sa $e tasta nter2
'a( intr,%u(e)i , inter,gare (are (,n)ine , gre&eal+ $ute)i relua inter,garea &i , $ute)i e%ita $entru a reme%ia
$r,"lema+ %u$ (are , retrimite)i2 /A(est lu(ru este (el mai u&,r %e -(ut %a( tasta)i .ntreaga inter,gare $e ,
singur linie2?
Unele %intre se(*en)ele %e e%itare $e (are le *e)i gsi utile sunt $rezentate .n ta"elul <2I+ %ar e9ist multe
(,menzi %e e%itare a liniei %e intrare .n a-ara (el,r $rezentate .n ta"el2 Pute)i gsi , *ersiune ele(tr,ni( a
manualului 5ea%line $rin (,nsultarea m,t,rului %umnea*,astr $re-erat %e (utare .n 3nternet2 Manualul este %e
asemenea in(lus .n %istri"u)ia 5ea%line+ %is$,ni"il .n situl We" al $r,ie(tului W>U+ la a%resa 6tt$0 H
H8882gnu 2,rgH2
Ta"elul <2I 4,menzi mysql %e e%itare a liniei %e intrare
Se(*en) %e taste
Sgeat sus+ 4trl@P
Sgeat 1,s+ 4trl@>
Sgeat st:nga+ 4trl@B
Sgeat %rea$ta+ 4trt@;
s( 4trl@B
s( 4trl@;
4trl@A
4trl@
4trl@'
'elete
s( '
s( Ba(]s$a(e
4trt@Y
4trl@
Semni-i(a)ie
5eluarea liniei anteri,are 5eluarea liniei ulteri,are 'e$lasarea (urs,rului la st:nga /.na$,i? 'e$lasarea
(urs,rului la %rea$ta /.nainte? 'e$lasare .na$,i (u un (u*:nt 'e$lasare .nainte (u un (u*:nt 'e$lasarea
(urs,rului la .n(e$utul liniei 'e$lasarea (urs,rului la s-:r&itul liniei Ztergerea (ara(terului a-lat su" (urs,r
Ztergerea (ara(terului %in st:nga (urs,rului Ztergerea (u*:ntului
Ztergerea (u*:ntului %in st:nga (urs,rului Zterge t,t+ %e la (urs,r la s-:r&itul liniei Anuleaz ultima m,%i-i(are!
se $,ate re$eta
9em$lul urmt,r %es(rie , utilizare sim$l $entru e%itarea liniei %e intrare2 S $resu$unem ( a)i intr,%us
a(east inter,gare .n tim$ (e utiliza)i mysql0
mysql> SHOW 4OLUM>S ;5OM $erse%inte!
'a( ,"ser*a)i ( .n l,( %e M$re&e%inteF a)i s(ris M$er&e%inteF+ .nainte %e a a$sa $e tasta nter+ a$sa)i tasta
sgeat st:nga sau (,m"ina)ia %e taste 4trl@B %e (:te*a ,ri $entru a %e$lasa (urs,rul la st:nga+ $:n (:n% a1unge
la litera s2 A$,i a$sa)i %e %,u ,ri $e tasta 'elete $entru a &terge (ara(terele e r+ tasta)i re $entru a reme%ia
er,area &i a$sa)i $e tasta nter $entru a emite inter,garea2 'a( a$sa)i $e tasta nter .nainte %e a sesiza
er,area+ nu este ni(i , $r,"lem2 'u$ (e mysql .&i a-i&eaz mesa1ul %e er,are+ a$sa)i $e tasta sgeat sus sau $e
(,m"ina)ia %e taste 4trl@P $entru a relua linia+ %u$ (are , e%ita)i a&a (um am artat mai sus2
%itarea liniil,r %e intrare nu este %is$,ni"il .n *ersiunea Win%,8s a $r,gramului mysql+ %ar * $ute)i $r,(ura
%istri"u)ia (lient gratuit (yg8in#A= %in situl We" MySQL2 Pr,gramul mysql( %in a(ea %istri"u)ie este similar (u
mysql+ %ar .n)elege (,menzile %e e%itare a liniei %e intrare2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
C5
Utilizarea (,$ierii &i a li$irii $entru emiterea %e inter,gri
'a( lu(ra)i .ntr@un me%iu (u -erestre+ $ute)i sal*a te9tul inter,gril,r (are *i se $ar utile .ntr@un -i&ier &i $ute)i
-,l,si ,$era)iile %e (,$iere &i li$ire $entru a emite (u u&urin) a(este inter,gri2 Pur si sim$lu res$e(ta)i
urmt,area $r,(e%ur0
<2 3n*,(a)i mysql .ntr@, -ereastr Telnet sau .ntr@, -ereastr %e (,ns,l 'OS2
=2 'es(6i%e)i -i&ierul (are (,n)ine inter,grile %umnea*,astr .ntr@, -ereastr %,(ument2 /'e e9em$lu+ eu
-,l,ses( BB%it su" Ma( OS+ res$e(ti* *i .ntr@, -ereastr 9term su" \ Win%,8 System .n U>3\2?
A2 Pentru a e9e(uta , inter,gare st,(at .n -i&ierul %umnea*,astr+ sele(ta)i@, &i (,$ia)i@,2 A$,i+ (,muta)i .n
-ereastra %umnea*,astr Telnet sau .n (,ns,la 'OS &i li$i)i inter,garea .n MySQL2
Pr,(e%ura $are (am st:nga(e %es(ris $e 6:rtie+ %ar este , m,%alitate ra$i% %e a intr,%u(e inter,gri ra$i% &i
-r a mai s(rie nimi( atun(i (:n% , -,l,si)i e-e(ti*2
'e asemenea+ a(east te6ni( * $ermite s * e%ita)i inter,grile .n -ereastra %,(ument+ $re(um &i s (,nstrui)i
inter,gri n,i $rin (,$ierea si li$irea (,m$,nentel,r inter,gril,r e9istente2 'e e9em$lu+ %a( sele(ta)i -re(*ent
r:n%uri %intr@un anumit ta"el+ %ar %,ri)i s *e%e)i %atele %e ie&ire s,rtate .n %i-erite m,%uri+ $ute)i -,l,si , list (u
%i-erite (lauze O5'5 BX .n -ereastra %umnea*,astr %,(ument+ %u$ (are , (,$ia)i &i , li$i)i $e a(eea $e (are
%,ri)i s , utiliza)i $entru ,ri(e inter,gare s$e(i-i(2
Pute)i -,l,si (,$ierea &i li$irea &i .n (ealalt %ire()ie /%e la Telnet (tre -i&ierul %umnea*,astr (u inter,gri?2
4:n% intr,%u(e)i linii .n mysql+ a(estea sunt sal*ate .ntr@un -i&ier %enumit 2mysql1iist,ry %in (atal,gul
%umnea*,astr %e "az2 'a( intr,%u(e)i manual , inter,gare $e (are %,ri)i s , sal*a)i $entru a , (,nsulta
ulteri,r+ $rsi)i $r,gramul mysql+ %es(6i%e)i 2 mysql#6ist,ry .ntr@un e%it,r+ a$,i (,$ia)i si li$i)i inter,garea %in
-i&ierul 2mysql#6ist,ry .n -i&ierul (are (,n)ine inter,garea2
5ularea $r,gramului mysql .n m,% "at(6
>u este ne(esar rularea intera(ti* a $r,gramului mysql! a(est $r,gram $,ate (iti un -i&ier .n m,% n,n@
intera(ti* /"at(6?2 A(est m,% este util $entru inter,gri $e (are le rula)i $eri,%i(+ %e,are(e nu %,ri)i+ e*i%ent+ s
reintr,%u(e)i %e la tastatur , asemenea inter,gare %e -ie(are %at (:n% , rula)i2 ste mai u&,r s insera)i , %at
inter,garea .ntr@un -i&ier+ %u$ (are s (ere)i $r,gramului mysql s e9e(ute (,n)inutul -i&ierului (,n-,rm
ne(esit)il,r2
S $resu$unem ( a*eri , inter,gare (are gse&te $e mem"rii Ligii ist,ri(e interesa)i %e , anumit $eri,a% %in
ist,ria Statel,r Unite+ (ut:n% .n (,l,ana interese a ta"elului mem"ru2 'e e9em$lu+ $entru a@i gsi $e mem"rii
interesa)i .n $eri,a%a %e (riz a anil,r QA0+ inter,garea tre"uie s(ris ast-el /re)ine)i (ara(terul $un(t si *irgul %e
la s-:r&itul instru()iunii+ $entru (a mysql s $,at sesiza l,(ul un%e se .n(6eie a(easta?0
SL4T nume+ $renume+ email+ interese ;5OM mem"ru
WH5 interese L3Y F7(riza7F
O5'5 BX nume+ $renume!
Plasa)i inter,garea .ntr@un -i&ier %enumit interese2 sql+ a$,i rula)i inter,garea -urniz:n% -i&ierul $r,gramului
mysql+ ast-el0
7 mysql sam$#%" V interese2sql
CB Partea l Utilizarea general a sistemului MySQL
.n m,% $resta"ilit+ mysql genereaz %ate %e ie&ire .ntr@un -,rmat %elimitat $rin ta"ula@t,ri atun(i (:n% este rulat
.n m,% gru$2 'a( %,ri)i s ,")ine)i a(ela&i -,rmat ta"ular atun(i (:n% rula)i mysql .n m,% intera(ti*+ -,l,si)i
,$)iunea @t0
7 mysql @t sam$#%" V interese2sql 'a( %,ri)i s sal*a)i %atele %e ie&ire+ re%ire()i,na)i@le s$re un -i&ier0
7 mysql @t sam$#%" V interese2sql > -isier#iesire
Pentru a -,l,si inter,garea .n s(,$ul %e a gsi mem"ri interesa)i %e $ers,nalitatea lui T6,mas Le--ers,n+ $ute)i
e%ita -i&ierul (u inter,garea $entru a .nl,(ui (riza (u Le--ers,n+ %u$ (are rula)i mysql %in n,u2 A(east met,%
-un()i,neaz at:ta tim$ (:t nu -,l,si)i inter,garea -,arte -re(*ent2 'a( , -,l,si)i -,arte -re(*ent+ atun(i este
ne(esar , alt met,%2 O m,%alitate %e a s$,ri -le9i"ilitatea inter,grii este %e a , insera .ntr@un s(ri$t %e
inter$reter (are $reia un argument %in linia %e (,man% a s(ri$tului &i , -,l,se&te $entru a m,%i-i(a te9tul
inter,grii2 Ast-el+ inter,garea %e*ine $arametrizat &i * $ermite s s$e(i-i(a)i (u*:ntul (6eie (are arat
%,meniul %e interes atun(i (:n% rula)i s(ri$tul2 Pentru a *e%ea m,%ul %e -un()i,nare al a(estei met,%e+ s(rie)i un
mi( s(ri$t %e inter$reter+ %enumit interese2s60
f< H"inHs6
i- e gf @ne < L! t6en e(6, F5,g s$e(i-i(a)i un (u*:nt (6eieF! e9it! -i
mysql @t sam$#%" cQU5X#3>PUT
SL4T nume+ $renume+ email+ interese ;5OM mem"ru
WH5 interese L3Y F7g<7F
O5'5 BX nume+ $renume!
QU5X#3>PUT
4ea %e@a %,ua linie se asigur ( e9ist un (u*:nt (6eie .n linia %e (,man%! a-i&eaz un s(urt mesa1 &i .n(6eie
e9e(u)ia $r,gramului .n (az (,ntrar+ .ntreg te9tul (u$rins .ntre cQU5X#3>PUT &i linia QU5X#3>PUT -inal
se trans-,rm .n %ate %e intrare $entru mysql2 .n (a%rul te9tului inter,grii+ inter$ret,rul .nl,(uie&te re-erin)a la
g< (u (u*:ntul (6eie %in linia %e (,man%2 /3n s(ri$turile %e inter$reter+ g<+ g=222 se re-er la argumentele
(,menzii2? A(est -a$t %etermin inter,garea s re-le(te (u*:ntul (6eie $e (are .l s$e(i-i(a)i .n linia %e (,man%
(:n% rula)i s(ri$tul2
.nainte %e a $utea rula s(ri$tul+ tre"uie s@< -a(e)i e9e(uta"il0
7 (6m,% [9 interese2s6
A(um+ nu mai tre"uie s e%ita)i s(ri$tul %e -ie(are %at (:n% .l rula)i2 Pur si sim$lu in%i(a)i %ire(t .n linia %e
(,man% (e anume (uta)i0
7 interese2s6 (riza
7 interese2s6 Le--ers,n
4rearea %e n,i .nregistrri -,l,sin% %ate e9istente
Se $,t a%uga n,i .nregistrri .ntr@un ta"el+ r:n% (u r:n%+ -,l,sin% instru()iunea 3>S5T %ar+ %u$ (rearea
(:t,r*a .nregistrri $rin tastarea manual a instru()iunil,r 3>S5T+ ma1,ritatea %intre n,i suntem (,n*in&i (
tre"uie s e9iste &i , met,% mai "un %e a e9e(uta a(east ,$era)ie2 O alternati* este utilizarea unui -i&ier (are
(,n)ine numai *al,ri %e %ate si a$,i .n(r(area %e .nregistrri %in a(el -i&ier -,l,sin% instru()iunea LOA' 'ATA
sau utilitarul my sql im$,rt2
4a$it,lul < 3ntr,%u(ere .n MySQL &i SQL
CJ
'ese,ri+ (rea)i -i&ierul %e %ate -,l,sin% %ate (are %e1a e9ist .ntr@un alt -,rmat2 3n-,rma)iile %umnea*,astr $,t -i
(,n)inut .ntr@un $r,gram %e (al(ul ta"elar sau $,ate ( se a-l .ntr@, alt "az %e %ate &i %,ri)i s le trans-era)i
(tre MySQL2 Pentru a nu (,m$li(a a(east %is(u)ie+ *,i $resu$une ( %atele %umnea*,astr se a-l .ntr@, -,aie
%e (al(ul ta"elar %in (al(ulat,rul %umnea*,astr %e "ir,u2
Pentru a trans-era %atele %in -,aia %e (al(ul %in (al(ulat,rul %umnea*,astr .ntr@un -i&ier %in (,ntul
%umnea*,astr U>3\+ $ute)i -,l,si te6ni(a %e (,$iere &i li$ire+ alturi %e Telnet2 3at (um $r,(e%a)i0
<2 'es(6i%e)i , (,ne9iune Telnet s$re (,ntul %umnea*,astr U>3\2 Su" Ma( OS+ $ute)i -,l,si , a$li(a)ie
$re(um BetterTelnet sau >4SA Telnet2 Su" Win%,8s+ $ute)i -,l,si $r,gramul Telnet stan%ar%2
=2 'es(6i%e)i -,aia %e (al(ul ta"elar+ sele(ta)i "l,(ul %e %ate $e (are %,ri)i s@< trans-era)i &i (,$ia)i@<2
A2 .n -ereastra Telnet+ tasta)i urmt,area (,man% $entru a .n(e$e (a$turarea %atel,r .n -isierul%ata2t9t0
7 (at > %ata2t9t
4,man%a (at a&tea$t %atele %e intrare2
I2 Li$i)i %atele $e (are le@a)i (,$iat %in -,aia %e (al(ul .n -ereastra Telnet2 Pr,gramul (at (re%e ( intr,%u(e)i
$ers,nal in-,rma)iile si le s(rie .n%at,rit,r .n -i&ierul %ata2t9t2
52 'u$ (e t,ate %atele li$ite au -,st s(rise .n -i&ier+ a$sa)i $e tasta nter .n (azul .n (are (urs,rul a1unge la
s-:r&itul unei linii %e %ate+ nu la .n(e$utul unei linii n,i2 A$,i+ a$sa)i $e (,m"ina)ia %e taste 4trl@' $entru a
in%i(a Ms-:r&itul -i&ieruluiF2 Pr,gramul (at .n(eteaz s mai a&te$te %ate %e intrare &i .n(6i%e -i&ierul2
.n a(est m,ment+ a*e)i un -i&ier %ata2t9t (are (,n)ine "l,(ul %e %ate $e (are <@a)i sele(tat .n -,aia %umnea*,astr
%e (al(ul ta"elar &i (are este gata %e a -i .n(r(at .n "aza %umnea*,astr %e %ate (u LOA' 'ATA sau
mysqlim$,rt2
4,$ierea &i li$irea re$rezint , met,% ra$i% si sim$l %e a trans-era %ate .ntr@un -i&ier U>3\+ %ar este mai
a%e(*at $entru seturi mai mi(i %e %ate2 4antit)ile mai mari %e %ate $,t %e$&i limitele "u--erului %e (,$iere al
sistemului %umnea*,astr+ .n asemenea (azuri+ se re(,man% sal*area -,ii %e (al(ul ta"elar .n -,rmat te9t sim$lu
/%elimitat $rin ta"ulat,rN?2 A$,i+ $ute)i trans-era -i&ierul %in (al(ulat,rul %umnea*,astr .n (,ntul U>3\ -,l,sin%
;TP2 Trans-era)i -i&ierul .n m,% te9t /nu .n m,% "inar sau imagine?+ ast-el .n(:t (ara(terele s-:r&it %e r:n% s -ie
(,n*ertite .n (ara(tere U>3\ %e s-:r&it %e r:n%2 /U>3\ -,l,se&te (ara(tere salt la linie n,u+ Ma( OS -,l,se&te
(ara(tere retur %e (ar+ iar Win%,8s -,l,se&te $ere(6ea %e (ara(tere retur %e (ar@salt la linie n,u2? Pute)i in%i(a
instru()iunii LOA' 'ATA sau $r,gramului mysqlim$,rt ti$ul (ara(terului s-:r&it %e r:n% $e (are s@< a&te$te+
%ar .n U>3\ este mai u&,r %e lu(rat (u -i&ierul %a( a(esta (,n)ine (ara(tere %e salt la linie n,u2
'u$ trans-erul -i&ierului+ este "ine s *eri-i(a)i %a( are sau nu r:n%uri *i%e la s-:r&it2 'a( are+ tre"uie s le
&terge)i+ %e,are(e alt-el se *,r trans-,rma .n .nregistrri *i%e sau %e-,rmate atun(i (:n% .n(r(a)i -i&ierul .n "aza
%e %ate2
CK Partea l Utilizarea general a sistemului MySQL
.n -i&ierele sal*ate .n -,rmat te9t sim$lu %intr@, -,aie %e (al(ul ta"elar+ *al,rile (are (,n)in s$a)ii $,t -i %elimitate
$rin g6ilimele2 Pentru a elimina g6ilimelele atun(i (:n% .n(r(a)i -i&ierul .n "aza %umnea*,astr %e %ate+ -,l,si)i
(lauza ;3L'S >4LOS' BX $entru instru()iunea LOA' 'ATA+ res$e(ti* ,$)iunea @@-iel%s@en(l,se%@"y
$entru mysqlim$,rt2 Uezi in-,rma)iile %es$re instru()iunea LOA' 'ATA %in Ane9a ' $entru a ,")ine mai multe
%etalii2
'e ai(i+ .n(,tr,D
A(um &ti)i %estule %es$re MySQL2 Pute)i (,n-igura , "az %e %ate si (rea ta"ele2 Pute)i insera .nregistrri .n
a(este ta"ele+ le $ute)i regsi .n %i*erse m,%uri+ le $ute)i m,%i-i(a sau &terge2 'ar mai a*e)i .n( multe %e .n*)at
%es$re MySQL! manualul %in a(est (a$it,l a re$rezentat numai , mi( intr,%u(ere2 Pute)i *e%ea a(est lu(ru
e9amin:n% starea "azei n,astre %e %ate e9em$lu2 Am (reat "aza %e %ate &i ta"elele sale &i am $,$ulat@, (u unele
%ate ini)iale2 Pe $ar(ursul a(estui $r,(es am *zut m,%ul %e s(riere al un,ra %intre inter,grile %e (are a*em
ne*,ie $entru a rs$un%e la .ntre"ri $ri*in% in-,rma)iile %in "aza %e %ate2 Mai sunt+ .ns+ multe %e -(ut222
'e e9em$lu+ nu %is$unem %e ni(i , m,%alitate intera(ti* (,n*ena"il %e a intr,%u(e n,i .nregistrri %e $un(ta1e
.n (a%rul $r,ie(tului %e e*i%en) a rezultatel,r &(,lare+ res$e(ti* .nregistrri (u n,ii mem"ri .n (atal,gul Ligii
ist,ri(e2 >u a*em ni(i , met,% (,n*ena"il %e a e%ita .nregistrrile e9istente2 Zi t,t nu $utem genera
-,rmularele ti$rite sau .n -,rmat ele(tr,ni( $entru (atal,gul Ligii2 A(este sar(ini+ $re(um &i altele+ *,r -i
a",r%ate %in n,u .n (a$it,lele urmt,are+ mai ales .n (a$it,lele J+ M3nter-a)a AP3 $entru Perl 'B3F+ res$e(ti* K+
M3nter-a)a AP3 $entru PHPF2
'rumul $e (are *e)i merge .n (,ntinuare $rintre $aginile a(estei (r)i %e$in%e %e %,meniul %umnea*,astr %e
interes2 'a( %,ri)i s *e%e)i m,%ul .n (are am -inalizat $r,ie(tele legate %e Liga ist,ri( &i %e e*i%en)a
rezultatel,r &(,lare+ Partea a 3l@a se re-er la $r,gramarea .n MySQL2 'a( *e)i .n%e$lini -un()ia %e
a%ministrat,r MySQL $entru situl %umnea*,astr+ Partea a 3l3@a a *,lumului %e -a) trateaz %es$re sar(inile
a%ministrati*e2 T,tu&i+ eu * re(,man% s a(umula)i mai .nt:i (un,&tin)e su$limentare %e ,r%in general %es$re
utilizarea sistemului MySQL+ (itin% (elelalte (a$it,le %in Partea 32 A(este (a$it,le %is(ut %es$re m,%ul %e
mani$ulare a %atel,r .n MySQL+ -urnizeaz in-,rma)ii su$limentare %es$re sinta9 &i %es$re utilizarea
instru()iunil,r %e inter,gare &i * $rezint m,%alit)i %e rulare mai ra$i% a inter,gril,r2 O "az s,li% %e
(un,&tin)e legate %e a(este su"ie(te * *a -i %e -,l,s in%i-erent %e (,nte9tul .n (are -,l,si)i MySQL0 rula)i
$r,gramul mysql+ * s(rie)i $r,$riile $r,grame sau .n%e$lini)i atri"u)iile unui a%mini&r trat,r %e "aze %e %ate2
4AP3TOLUL =
Lu(rul (u %ate .n MySQL &i SQL
Pra(ti(+ t,t (eea (e -a(e)i .n MySQL im$li(+ .ntr@un -el sau altul+ %ate+ %e,are(e r,stul unui sistem %e gestiune a
"azel,r %e %ate este+ $rin %e-ini)ie+ a(ela %e gestiune a %atel,r2 46iar si , sim$l instru()iune SL4T < im$li(
, e*aluare a unei e9$resii+ (u s(,$ul %e a $r,%u(e , *al,are a unei %ate .ntregi2
;ie(are *al,are a unei %ate %in MySQL are un ti$2 'e e9em$lu+ AJ2I este un numr+ iar Fa"(F este un &ir2 Une,ri+
ti$urile %e %ate sunt e9$li(ite+ (a atun(i (:n% emite)i , instru()iune 45AT TABL (are s$e(i-i( ti$ul -ie(rei
(,l,ane $e (are , %e(lara)i (a $arte a ta"elului0
45AT TABL ta"elul meu
int#(,l 3>T+ HF
sir#(,l 4HA5/=0?+ HQ %ata (,l 'AT HF
(,l,ana (u *al,ri .ntregi PH (,l,ana (u *al,ri &ir PH (,l,ana (u *al,ri %ate PH
.n alte situa)ii+ ti$urile %e %ate sunt im$li(ite+ (um este atun(i (:n% -a(e)i re-erire la *al,ri literale %intr@,
e9$resie+ (:n% trans-era)i *al,ri unei -un()ii sau (:n% -,l,si)i *al,area retur@nat %in a(ea -un()ie0
3>S5T 3>TO ta"elul1neu /int#(,l+sir#(,l+%ata#(,l?
UALUS/<I+4O>4AT/FaF+F"F?+<CCC0<<5?
A(east instru()iune 3>S5T e-e(tueaz urmt,arele ,$era)ii+ %in (are t,ate im$li( ti$uri %e %ate0
O Atri"uie *al,area <I (,l,anei .ntregi< int#(,l2
O Trans-er *al,rile &ir FaF si F"F -un()iei 4O>4AT/?2 A(east -un()ie returneaz *al,area &ir Fa"F+ (are este
re$artizat .n (,l,ana &ir sir#(,l2
O Atri"uie *al,area .ntreag <CCC0<<5 (,l,anei %e ti$ %at %ata#(,l2 Atri"uirea im$li( , ne(,n(,r%an) .ntre
ti$uri+ %e(i MySQL (,n*erte&te &irul <CCC0<<5 .n %ata F<CCC@0<@<5F! a(est -a$t arat ( MySQL e9e(ut
(,n*ersia aut,mat a ti$ului2
Pentru a -,l,si MySQL .n m,% e-i(ient+ este esen)ial s .n)elege)i m,%ul %e mani$ulare a %atel,r .n MySQL2
A(est (a$it,l %es(rie ti$urile %e %ate $e (are le $,ate mani$ula MySQL &i %is(ut $r,"lemele im$li(ate %e lu(rul
(u a(este ti$uri0
< Prin (,l,an .ntreag se *a .n)elege (,l,an (are (,n)ine *al,ri numere .ntregi2 S@a $re-erat .n tra%u(ere $rima
-,rm+ %in m,ti*e %e (,n(izie2 La -el %e *a $r,(e%a (u e9$resii gen (,l,an &ir &i altele2 @ >2T2

S-ar putea să vă placă și

  • Mysql 350
    Mysql 350
    Document28 pagini
    Mysql 350
    Lupu Adrian
    Încă nu există evaluări
  • Mysql 250
    Mysql 250
    Document29 pagini
    Mysql 250
    gabrielgabor22
    Încă nu există evaluări
  • Mysql 150
    Mysql 150
    Document30 pagini
    Mysql 150
    Lucian Musteata
    Încă nu există evaluări
  • Mysql 100
    Mysql 100
    Document32 pagini
    Mysql 100
    Виктор Которобай
    Încă nu există evaluări