introducere (sau mic ghid practic) în mysqlbusaco/teach/courses/net/docs/mysql-ro.pdf ·...

48
Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – [email protected] "#$%& #’()&*+ )%) (,*(-.$ * ).&,*/-#$,$ ). 01234 )./)#’./ 5*/’+)&’&$’ (,). #’,$ %$ (*’&$ #,$’6 ,$%($#&)7 -&)+)8’6 * 9’8’ %)5(+’ /$ /’&$ (,). (,*:,’5-+ 51%;+ < #+)$.&= 01%;+ >,$#-.*%#-& -.$*,) (,). ’%*#)$,$’ #- .*&)-.$’ /$ 5*.)&*, &$,5).’+? $%&$6 /$ @’(&6 -. (,*:,’5 ).&$,’#&)7 #’,$ ($,5)&$ -&)+)8’&*,-+-) #*.$#&’,$’ +’ -. 51%;+ %$,7$,6 ,-+’,$’ #*5$.8)+*, %) 7)8-’+)8’,$’ ,$8-+&’&$+*,= 01%;+ (*’&$ @) /$ ’%$5$.$’ @*+*%)& %) ). 7’,)’.&’ :,-(-,)+*, /$ #*5$.8) >9’&#A?B (+’%$8) #*5$.8)+$ ).&,C-. @)%)$, ).)&)’+ ($.&,- ’ %*+)#)&’ (,*:,’5-+-) %’ +$ $D$#-&$ -+&$,)*,= "59$+$ (*%)9)+)&’&) /$ ’#*($,),$ ’ (,*:,’5-+-) %-.& (,$8$.&’&$ ). #$$’ #$ -,5$’8’= E$.&,- ’ 7)8-’+)8’ #’&$7’ *(&)-.) ’%):-,’&$ /$ 51%;+ ’($+’&) -&)+)&’,-+ #- *(F)-.$’ GCCA$+(HB shell> mysql --help I’()&*+-+ (,$%-(-.$ * ).%&’+’,$ *(&)5J ’ (,*:,’5-+-) %) $D)%&$.&’ -.-) %$,7$, 51%;+ /)%(*.)9)+ +’ #’,$ 7’ (-&$&) #*.$#&’= K’#’ ’#$%& +-#,- .- 7’ ,$-%$%&$6 ’($+’&) +’ ’/5).)%&,’&*,-+ /$ (,*:,’5= K’#’ %$ ).&’5(+’ %’ @)&) #A)’, K7%= ).%)7’ ’#$+’6 ’&-.#) 7) %$ (,*(-.$ %) #*.%-+&’,$’ ’+&*, @,’:5$.&$ /$ %($#)’+)&’&$ /). ’#$%& 5’.-’+= L*& ’)#) $%&$ /$%#,)% ).&,$:-+ (,*#$% ’+ #*.%&,-),)) %) 5’.)(-+’,)) -.$) 9’8$ /$ /’&$= K’#’ %-.&$&) ).&$,$%’& /*’, ). ’##$%’,$’ -.$)’ /$M’ $D)%&$.&$6 ’7$&) (*%)9)+)&’&$’ /$ ’ *5)&$ ’#$+$ %-9#’()&*+$ #’,$ /$%#,)- ). ’5’.-.& #,$’,$’ 9’8$) /$ /’&$ %) ’ &’9$+$+*, )5(+)#)&$= 2)6 ($.&,- #’ ’#$%& #’()&*+ $%&$ &*&-%) -.-+ G$5).’5$.&$H /$%#,)(&)7 5-+&$ ’+&$ /$&’+)) (*& @) /$ ’%$5$.$’ ):.*,’&$= I*.%-+&’&) &*&-%) %$#7$.&$+$ ,$+$7’.&$ ’+$ 5’.-’+-+-) ($.&,- ’#-5-+’$’ 5’) 5-+&*, ).@*,5’&)) +$:’&$ /$ .*&)-.)+$ ).&’+.)&$= N=O I*.$#&’,$’ %) /$C#*.$#&’,$’ /$ +’ %$,7$,B E$.&,- ’ 7’ #*.$#&’ +’ %$,7$,6 &,$9-)$6 /$ ,$:-+’6 %’ @*+*%)&) -. .-5$ /$ -&)+)8’&*, 51%;+ ).%*&)& /$ #$+$ 5’) 5-+&$ *,) /$ * (’,*+’= K’#’ %$,7$,-+ ,-+$’8’ ($ -. ’+& #*5(-&$, /$#’& #$+ /$ ($ #’$ 7C’&) +*:’& #’ &,$9-) %($#)@)#’& %) .-5$+$ G:’8/$)H= "($+’&) ’/5).)%&,’&*,-+ ($.&,- ’ 7’ ).@*,5’ #’,$ %-.& (’,’5$&,) *(&)5) @*+*%)&) ($.&,- #*.$#&’,$ >#’,$ $%&$ G:’8/’H6 .-5$+$ /$ -&)+)8’&*,6 (’,*+’?= P/’&’ %&)-&)6 ’, &,$9-) %’ 7’ ,$-%$’%#’ #*.$#&’,$’ (,).B shell> mysql -h host -u user -p Enter password: ******** QQQQQQQQ ,$(,$8).&’ (’,*+’B ’#$’%&’ * ).&,*/-#$&) ). 5*5$.&-+ ). #’,$ (,*:,’5-+ ’@)%$’8’B

Upload: hoanganh

Post on 10-Apr-2018

240 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

!

Introducere (sau mic ghid practic) în MySQL

Traducere de Leonte Carmen – [email protected]

!

"#$%&!#'()&*+! )%)!(,*(-.$!*! ).&,*/-#$,$! ).!01234! )./)#'./!5*/'+)&'&$'!(,).!#',$! %$!(*'&$!#,$'6!

,$%($#&)7! -&)+)8'6! *! 9'8'! %)5(+'! /$! /'&$! (,).! (,*:,'5-+! 51%;+! <! #+)$.&=! 01%;+! >,$#-.*%#-&! -.$*,)! (,).!

'%*#)$,$'!#-!.*&)-.$'!/$!5*.)&*,!&$,5).'+?!$%&$6!/$!@'(&6!-.!(,*:,'5!).&$,'#&)7!#',$!($,5)&$!-&)+)8'&*,-+-)!

#*.$#&',$'!+'!-.!51%;+!%$,7$,6!,-+',$'!#*5$.8)+*,!%)!7)8-'+)8',$'!,$8-+&'&$+*,=!01%;+!(*'&$!@)!/$!'%$5$.$'!

@*+*%)&!%)!).!7',)'.&'!:,-(-,)+*,!/$!#*5$.8)!>9'&#A?B!(+'%$8)!#*5$.8)+$!).&,C-.!@)%)$,!).)&)'+!($.&,-!'!%*+)#)&'!

(,*:,'5-+-)!%'!+$!$D$#-&$!-+&$,)*,=!!

"59$+$!(*%)9)+)&'&)!/$!'#*($,),$!'!(,*:,'5-+-)!%-.&!(,$8$.&'&$!).!#$$'!#$!-,5$'8'=!!

E$.&,-!'!7)8-'+)8'!#'&$7'!*(&)-.)!'%):-,'&$!/$!51%;+!'($+'&)!-&)+)&',-+!#-!*(F)-.$'!GCCA$+(HB!

!

shell> mysql --help

!

! I'()&*+-+!(,$%-(-.$!*!).%&'+',$!*(&)5J!'!(,*:,'5-+-)!%)!$D)%&$.&'!-.-)!%$,7$,!51%;+!/)%(*.)9)+!+'!

#',$! 7'! (-&$&)! #*.$#&'=! K'#'! '#$%&! +-#,-! .-! 7'! ,$-%$%&$6! '($+'&)! +'! '/5).)%&,'&*,-+! /$! (,*:,'5=!K'#'! %$!

).&'5(+'!%'!@)&)!#A)',!K7%=!).%)7'!'#$+'6!'&-.#)!7)!%$!(,*(-.$!%)!#*.%-+&',$'!'+&*,!@,':5$.&$!/$!%($#)'+)&'&$!

/).!'#$%&!5'.-'+=!!

L*&!')#)!$%&$!/$%#,)%! ).&,$:-+!(,*#$%! '+!#*.%&,-),))! %)!5'.)(-+',))!-.$)!9'8$!/$!/'&$=!K'#'!%-.&$&)!

).&$,$%'&!/*',!).!'##$%',$'!-.$)'!/$M'!$D)%&$.&$6!'7$&)!(*%)9)+)&'&$'!/$!'!*5)&$!'#$+$!%-9#'()&*+$!#',$!/$%#,)-!

).!'5'.-.&!#,$',$'!9'8$)!/$!/'&$!%)!'!&'9$+$+*,!)5(+)#)&$=!

2)6! ($.&,-! #'! '#$%&! #'()&*+! $%&$! &*&-%)! -.-+! G$5).'5$.&$H! /$%#,)(&)7!5-+&$! '+&$! /$&'+))! (*&! @)! /$!

'%$5$.$'! ):.*,'&$=! I*.%-+&'&)! &*&-%)! %$#7$.&$+$! ,$+$7'.&$! '+$! 5'.-'+-+-)! ($.&,-! '#-5-+'$'! 5')! 5-+&*,!

).@*,5'&))!+$:'&$!/$!.*&)-.)+$!).&'+.)&$=!

!

N=O!I*.$#&',$'!%)!/$C#*.$#&',$'!/$!+'!%$,7$,B!

!

! E$.&,-!'!7'!#*.$#&'!+'!%$,7$,6!&,$9-)$6!/$!,$:-+'6!%'!@*+*%)&)!-.!.-5$!/$!-&)+)8'&*,!51%;+!).%*&)&!/$!

#$+$!5')!5-+&$!*,)!/$!*!(',*+'=!K'#'!%$,7$,-+!,-+$'8'!($!-.!'+&!#*5(-&$,!/$#'&!#$+!/$!($!#'$!7C'&)!+*:'&!#'!

&,$9-)!%($#)@)#'&!%)!.-5$+$!G:'8/$)H=!

! "($+'&)! '/5).)%&,'&*,-+! ($.&,-! '!7'! ).@*,5'!#',$! %-.&!(','5$&,)!*(&)5)! @*+*%)&)! ($.&,-! #*.$#&',$!

>#',$!$%&$!G:'8/'H6!.-5$+$!/$!-&)+)8'&*,6!(',*+'?=!P/'&'!%&)-&)6!',!&,$9-)!%'!7'!,$-%$'%#'!#*.$#&',$'!(,).B!

!

shell> mysql -h host -u user -p

Enter password: ********

!

QQQQQQQQ!,$(,$8).&'!(',*+'B!'#$'%&'!*!).&,*/-#$&)!).!5*5$.&-+!).!#',$!(,*:,'5-+!'@)%$'8'B!

Page 2: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! R

!

shell> mysql -h host -u user -p

Enter password: ********

!

K'#'! '#$%&! +-#,-! 7'! ,$-%)&! -,5$'8'! %'! 7)8-'+)8'&)! #'&$7'! ).@*,5'&))! ).&,*/-#&)7$! -,5'&$! /$! *!

G).7)&'&)$H!51%;+=!!

!

shell> mysql -h host -u user -p

Enter password: ********

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 459 to server version: 3.22.20a-log

Type 'help' for help.

mysql>

!

E,*5(&$,-+!&$!'.-.&'!#'!$%&$!:'&'!).!'#$%&!5*5$.&!%'C&)!(,)5$'%#'!#*5$.8)=!S.$+$!).%&'+',)!51%;+!

($,5)&!-&)+)8'&*,)+*,!%)!*!#*.$#&',$!'.*.)5'!>@','!#'!.-5$+$!/$!-&)+)8'&*,!%'!@)$!%($#)@)#'&?6!,-+',$'!@'#'./-C

%$!($!#'+#-+'&*,-+!:'8/'=!!

K'#'! '#$%&'! $%&$! %)! #'8-+! #'+#-+'&*,-+-)! K7%=6! ',! &,$9-)! #'6! ).%'+',$'! %'! @)$! (*%)9)+'! (,).! %)5(+'!

'($+',$!'!51%;+C+-)!!@','!'+&$!5$.&)-.)=!

!

shell> mysql

!

K-('!#$!'&)!,$-%)&!#*.$#&',$'!7'!(-&$&)!/$#*.$#&'!*,)#'./!/*',!&'%&'./!3STL!/-('!).7)&'&)'!51%;+=!

!

mysql> QUIT

Bye

!

"#$+'%)!+-#,-!)+!(-&$&)!*9&).$!'('%'./!&'%&$+$!I*.&,*+CK=!

! UD$5(+$+$! #$! 7*,! -,5'! 7'! 7*,! $+-#)/'! &$*,)'! #*.$#&',))! +'! %$,7$,=! S.! (*%)9)+! )./)#)-! '+! '#$%&-)!

/$5$,%!)+!(*'&$!#*.%&)&-)!(,*5(&$,-+!51%;+=!

3.2 Comenzi de intrare!

!

! V$'%):-,'&)C7'!/$! #*.$#&',$'! +'! %$,7$,!/-('! ).&,-#&)-.)+$! '.&$,)*',$=!K$*#'5/'&'!.-!7$&)! %$+$#&'!

.)#)!*!9'8'!/$!/'&$!%(,$!'!*!5'.)(-+'!(,*(,)-C8)%6!/',!7'!-,5'=!T.!'#$%&!%&'/)-!$!@*',&$!)5(*,&'.&!%'!'@+'&)!

#'&$! #$7'! /$%(,$! @*,5-+',$'! #*5$.8)+*,! ($.&,-! '! (-&$'! @'#$! '(*)! -.! %'+&! /),$#&! %(,$! #,$',$'! &'9$+-+-)6!

).&,*/-#$,$'! /'&$+*,6! %'-!/-('! #'86! '.-+',$'! '+&*,! /'&$=!"#$%&! %-9#'()&*+! $.-5$,'! *! %$,)$! /$! (,).#)())! /$!

Page 3: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! N

9'8'!+$:'&$!/$!#*5$.8)+$!/$!).&,',$6!(,).!@*+*%),$'!-.*,!+).))!/$!#*5'./'!>($!#',$!+$!(-&$&)!).#$,#'!($.&,-!'!

7'! @'5)+)',)8'! #-! 5*/-+! /$! +-#,-! 51%;+?=! T'&'! *! #*5'./'! %)5(+'6! #',$! %*+)#)&'! %$,7$,-+-)! %'! 7'! )./)#$!

.-5',-+!$D$5(+',-+-)!%)!/'&'!#-,$.&'=!L'%&'&)C*!/-('!$D$5(+)@)#',)+$!-,5'&*',$!%)!'('%'&)!&'%&'!U.&$,B!

!

mysql> SELECT VERSION(), CURRENT_DATE;

+--------------+--------------+

| VERSION() | CURRENT_DATE |

+--------------+--------------+

| 3.22.20a-log | 1999-03-19 |

+--------------+--------------+

1 row in set (0.01 sec)

mysql>

!

!!!!!!!!L*'&$!'#$%&$!+).))!/$!#*5'./'!%-:$,$'8'!#)&$7'!'%($#&$!(,*(,))!(,*:,'5-+-)!51%;+B!

!*!#*5'./'!#*.%&'!/$!*9)#$)!/).!G).7)&'&)'!H!51%;+6!-,5'&'!/$!GWHC/',! $D)%&'! %)!*! %$,)$!/$!$D#$(&))B#)./!

@*+*%),$'!'#$%&$)'!.-!$%&$!.$#$%','6$D$5(+-!3STL=X*5!'.$D'!%)!'+&$!(*%)9)+$!#),#-5%&'.&$!6!#$7'!5')!&),8)-=!

!).! 5*5$.&-+! ).! #',$! &'%&'&)! *! #*5'./'6! 51%;+C-+! *! &,'.%5)&$! %$,7$,C+-)! %(,$! $D$#-&)$! %)! '@)%$'8'!

,$8-+&'&$+$6!,$+-)./!'(*)!%),-+!5$%'M$+*,!).7)&'&)$!%(,$!'!7'!'&$.&)*.'!#'!$%&$!(,$:'&)&!($.&,-!*!'+&'!#*5'./'W!

!!51%;+!'@)%$'8'!%)!#*5$.8)!%-9! @*,5'!&'9$+','!>($!+).))!%)!#*+*'.$?=!E,)5'!+).)$!#*.&).$!$&)#A$&$!($.&,-!

#*+*'.$6!)',!-,5'&*',$+$!,$(,$8).&'!,$8-+&'&$+$!+'!#*5$.8)=!T.!#$$'!#$!(,)7$%&$!#*+*'.$+$6!$&)#A$&$+$!'#$%&*,'!

)./)#'!/$!,$:-+'!.-5$+$!#*+*'.$+*,!'+$%$!/).!&'9$+$+$!9'8$)!/$!/'&$=!K'#'!-,5',)&)!%'!*9&).$&)!7)8-'+)8',$'!

/*',!-.$)! $D(,$%))! %)!.-! '!-.$)! ).&,$:)! #*+*'.$!/).! &'9$+! >#-5!','&'! $D$5(+-+! -,5'&*,?!51%;+!7'!$&)#A$&'!

#*+*'.'!@*+*%)./!$D(,$%)'!).!%).$=!

!!(,*:,'5-+!(*'&$!)./)#'!).!*,)#$!5*5$.&!.-5',-+!+).))+*,!5*/)@)#'&$!%)!#$!'.-5$!/).!+).)'!/$!#*5'./'!'!

@*%&!$D$#-&'&6!#$$'!#$6!@),$%&$!#*.@$,'!*!)5':).$!/$!'.%'59+-!'%-(,'!($,@*,5'&$+*,!%$,7$,-+-)=!

"#$%&$! 7'+*,)! .-! %-.&! &*&-%)! @*',&$! (,$#)%$6! ($! /$! *! (',&$! $+$! :A)/'./-C%$! /-('! &)5(-+! #-,$.&!

:$.$,'+! %)! .-! /-('! #$+! ,$'+! '+! #'+#-+'&*,-+-)! )',! ($! /$! '+&'! (',&$! %-.&! '@$#&'&$! /$! -.))! @'#&*,)! #',$! &).! /$!

#'('#)&'&$'! %$,7$,-+-)! %)! +'&$.&'! ,$&$+$)=! I-7).&$+$! #A$)$! (*&! @)! ).&,*/-%$! ).! *,)#',$! /).&,$! #'%-&$=!

S,5'&*',$+$!+).))!/$!#*5$.8)!*!/$5*%&,$'8'B!

!

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date;

mysql> SeLeCt vErSiOn(), current_DATE;

!

! T'&'!*!'+&'!%$#7$.&'=!U'!/$5*.%&,$'8'!#'!(-&$&)!@*+*%)!51%;+!#'!($!-.!#'+#-+'&*,!.-5$,)#B!

!

mysql> SELECT SIN(PI()/4), (4+1)*5;

Page 4: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Y

+-------------+---------+

| SIN(PI()/4) | (4+1)*5 |

+-------------+---------+

| 0.707107 | 25 |

+-------------+---------+

! I*5'./'!'.&$,)*','!@'#$!(',&$!/).!#'&$:*,)'!#$+*,!%#-,&$!G/$!*!%).:-,'!+).)$H6!/',!(*&!@)!).&,*/-%$!

5')!5-+&$!#$,).&$!#*.%$#-&)7!($!'#$$'%)!+).)$!/$!#*5'./'=!L*&!#$!&,$9-)$!%'!@'#$&)!$%&$!%'!.-!-)&'&)!%'!&'%&'&)!

GWH!/-('!@)$#',$!/).&$!$+$=!

!

mysql> SELECT VERSION(); SELECT NOW();

+--------------+

| VERSION() |

+--------------+

| 3.22.20a-log |

+--------------+

+---------------------+

| NOW() |

+---------------------+

| 1999-03-19 00:15:33 |

+---------------------+

!

! P!#*5'./'!.-!&$,9-)$!).&,*/-%'!.$'(','&!!($!*!%).:-,'!+).)$6!'%&@$+!).#'&!'#$+!&)(!/$!#*5$.8)!#',$!

/$('%$%#! +-.:)5$'! %&'./',/6! .-! %-.&! *! (,*9+$5'=! E,*:,'5-+! %$! 7'! :A)/'! ($.&,-! '! /$#)/$! +-.:)5$'!

#*5$.8)+*,! /-('! 5$.&)-.$'! GWH! %)! .-! /-('! #'('#)&'&$! +).)$)! ).! %).$=! I-! '+&$! #-7).&$6! 51%;+C-+! '##$(&'!

).&,*/-#$,$'!#*5$.8)+*,!).!%)%&$5!+)9$,6!/',!.-!+$!7'!%)!$D$#-&'!/$#'&!/-('!,$#-.*'%&$,$'!GWH=!

! T'&'!*!#*5'./'!%)5(+'!).&,*/-%'!($!5')!5-+&$!+).))B!

!

mysql> SELECT

-> USER()

-> ,

-> CURRENT_DATE;

+--------------------+--------------+

| USER() | CURRENT_DATE |

+--------------------+--------------+

| joesmith@localhost | 1999-03-18 |

+--------------------+--------------+

!

Page 5: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Z

T.!'#$%&!$D$5(+-!*9%$,7'&)!#-5!(,*5(&$,-+!5*/)@)#'!51%;+[! ).! C[! ).!5*5$.&-+! ).!#',$! &,$#$! +'!

-,5'&*',$'!+).)$=!E,).!'#$%&!(,*#$/$-!51%;+C-+!)./)#'!@'(&-+!#'!.-!'!,$#-.*%#-&!).#'!*!#*5'./'!@).'+)8'&'!%)!

'%&$'(&'! ,$%&-+! '#$%&$)'=!I*.%)/$,'&)C+! /,$(&! -.! (,)$&$.! ($.&,-! #'! $+! 7'! @)! '#$+'! #',$! 7'! 7'! '&,':$! '&$.&)'=!

"%&@$+!7$&)!%&)!#',$!$%&$!-,5'&*,-+!('%!'%&$(&'&!/$!(,*:,'5!/$! +'!K7%=!K'#'!7'! ,'8:'./)&)! ).!(,)7).&'!-.$)!

#*5$.8)!&'%&'&)!\#B!

!

mysql> SELECT

-> USER()

-> \c

mysql>

!

! 2)!')#)!*9%$,7'&)!(,*5(&$,-+]!V$7).$!+'!#*5'./'!).)&)'+'!/-('!#$!'&)!&'%&'&!\#!)./)#'./!#'!(,*:,'5-+!

$%&$!:'&'!($.&,-!*!.*-'!#*5'./'=!

! T.!-,5'&*,-+!&'9$+!%-.&!$7)/$.&)'&$!#'&$7'!/).&,$!(*%)9)+$+$!5$%'M$C(,*5(&$,!%)!).&$+$%-,)+$!+*,B!

!

mysql> Gata pentru o noua comanda

-> Asteapta o noua linie dintr-o comanda multipla

'> Asteapta un nou rand colectand un sir inceput cu (‘'’).

"> Asteptand pentru un nou rand colectand un sir inceput cu (‘"’).

!

! P!#*5'./'!%)5(+'!G%).:+$!+).$H!7'!@)!).!5*/!'##)/$.&'+!($,#$(-&'!#'!@))./!-.'!5-+&)(+'!/'#'!$%&$!

*5)%'!(,$#)8',$'!GWH=!T.!'#$%&!#'8!(,*5(&$,-+!7'!'.-.&'!C[6!&'%&'&)!GWH!%)!(,*:,'5-+!7'!$D$#-&'!#*5'./'=!

!

mysql> SELECT USER()

->

!

! K'#'!7'!#*.@,-.&'&)!#-!'#$'%&'!%)&-'&)$!>/'#'!%-.&$&)!%):-,)!#'!'&)!).&,*/-%!*!#*5'./'!/',!%).:-,-+!

,'%(-.%!($!#',$C+!(,)5)&)!$%&$!C[?6!5')!5-+&!#'!%):-,!51%;+!'%&$'(&'!(&,$#)8',$'!GWH=!!

!

mysql> SELECT USER()

-> ;

+--------------------+

| USER() |

+--------------------+

| joesmith@localhost |

+--------------------+

Page 6: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! ^

_[!$%&$!@*+*%)&'!).!#'8-+!%),-,)+*,=! T.!51%;+!&$,5$.))!-.-)!%),!%-.&!).&,*/-%)!).&,$!`!%'-!H!>$D$5(+-!

`A$++*a! %)! G:**/91$H?=!I'./! (,*5&$,-+! 7'! )./)#'! `[! %'-! G[! ).%$'5.'! #'! '&)! ).#+-%! ).! #*5'./'! -.! %),! #$!

).#$($!#-!`!%'-!H!/',!'&)!*5)%!,$($&',$'!%$5.-+-)!:,'@)#!/).!@).'+-+!%),-+-)!GWH=!T.!#'8-+!).!#',$!$%&$!7*,9'!/$!

-.!%),!5-+&)(+-!($!5')!5-+&$!,'./-,)!&*&-+!$%&$!).!*,/).$6!/',!/$!#$+$!5')!5-+&$!*,)!(,*5(&$,-+!',$!,*+-+!/$!'!

7'!'7$,&)8'!'%-(,'!!#','#&$,-+-)!*5)%B!

!

mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;

">

! K'#'!'&)!).&,*/-%!'#$%&'!#*5'./'!&)(!2U4UIL6!&'%&'&)!UbLUV!%)!'%&$(&'&)!,$8-+&'&-+6!7$&)!7$/$'!#'!

.-! ',$! %'! %$! ).&'5(+$!.)5)#=! T.! +*#! %'!7'! ).&,$9'&)! /$! #$!/-,$'8'! '&'&! *9%$,7'&)! )./)#)-+!G[!7'! %-:$,$'8'!

@'(&-+!#'!%),-+!'! @*%&! ).#A$)'&=!I$!@'#$&)! ).!'#$'%&'!%)&-'&)$c!E-&$&)! '.-+'!#*5'./'W!*,)#-56!*(&)-.$'! \#!.-!

$%&$!(,$@$,'9)+'!).!'#$%&!#'86!($.&,-!#'!51%;+!)+!7'!).&$,(,$&'!/,$(&!(',&$!'!%),-+-)!'@+'&!).!/$,-+',$=!

! K'#'!).!%#A)596!).&,*/-#$&)!#','#&$,-+!:,'@)#!#$!#*.@),5'!).#A$)$,$'!%),-+-)!(-&$&)!&'%&'!-+&$,)*,!\#B!

!

mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;

"> "\c

mysql>

! E,*5(&$,-+!7'!'@)%'!/$!'%&'!/'&'!51%;+[!)./)#'./!#'!$%&$!:'&'!($.&,-!*!.*-'!#*5'./'=!

! !

! 3.3 Crearea si manipularea unei baze de date

!

! "#-5!#'!7C'&)! ).%-%)&!5*/'+)&'&)+$!/$!).&,*/-#$,$!'!#*5$.8)+*,!$%&$!&)5(-+!%'!'##$%'&)!*!9'8'!/$!

/'&$=!

!!!!!!!!!!!!!2'!(,$%-(-.$5!#'!'7$&)!#)&$7'!!'.)5'+$!/$!#*5('.)$!>5)#'!7*'%&,'!5$.'M$,)$?!%)!#'!7C',!%'!&).$&)!*!

5)#'!$7)/$.&'!'!5')!5-+&*,!&)(-,)!/$!/'&$!).!#$$'!#$!+$!(,)7$%&$=!

!!!!!!!!!!!!!E-&$&)! %'! @'#$&)! '#$%&! +-#,-! #,)./! *! %$,)$! /$! &'9$+$! ($.&,-! ('%&,',$'! >5*.)&*,)8',$'?! %)! ,$%($#&)7!

#*5(+$&',$'!).@*,5'&))+*,!/*,)&$=!X$&)!(-&$'!,'%(-./$!'%&@$+!+'!*!:'5'!+',:'!/$!).&,$9',)!/$%(,$!'.)5'+$+$!

7*'%&,$!/$!#'%'6!/*',!'##$%)./!).@*,5'&))+$!%&*#'&$!).!&'9$+$=!

!!!!!!!"#$'%&'!%$#&)-.$!7'!).7'&'!#-5!%'!(,*#$/'&)!($.&,-B!

!

d!I,$',$'!-.$)!9'8$!/$!/'&$!

d!I,$',$'!-.-)!&'9$+!

d!T.&,*/-#$,$'!/'&$+*,!).!&'9$+!

d!"##$%',$'!).@*,5'&))+*,!($!5')!5-+&$!#')!

d!e*+*%),$'!5')!5-+&*,!&'9$+$!#*.%$#-&)7!

!!!!!!!!!!!!!

Page 7: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! f

g'8'!/$!/'&$!'!5'.'M$,)$)!7'! @)!-.'!%)5(+'!>'5!+-'&C*! ).!5*/!/$+)9$,'&! !'%'?! 6!/',6!7'!)+-%&,'!#-!

%-##$%!&)(-,)!%)5)+',$!/$!&'9$+$!#-!'#*($,),$!).!%('&)-+!,$'+=!

K$!$D$5(+-!*!'%&@$+!/$!9'8'!/$!/'&$!',!(-&$'!@)!-&)+'!-.-)!@$,5)$,!($.&,-!'!&).$!$7)/$.&'!%$(&$+-+-)6!

%'-6!-.-)!7$&$,).',!($.&,-!,$:)%&,$+$!(',).&)+*,!%')=!

P,:'.)8',$'!/'&$+*,!($.&,-!5)#'!5$.'M$,)$!(,$%-(-.$!*!%$,)$!/$!#*5$.8)!%)!/'&$!%&'./',/!#',$!(*&!

@)!(,$+-'&$!/$!%)&$C-+!01234=!

E-&$&)!@*+*%)!@)$!@*,5'&-+!&',!!%'-!8)(!=!

E$.&,-!'!'@+'!9'8$+$!/$!/'&$!$D)%&$.&$!($!%$,7$,!'($+'&)!*(&)-.$'!2hPiB!

! !

+----------+

| Database |

+----------+

| mysql |

| test |

| tmp |

+----------+

!

! 4)%&'!9'8$+*,!/$!/'&$!7'!@)!(,*9'9)+!'+&'!($!#'+#-+'&*,-+!($,%*.'+W!/',6!5')!5-+&!#'!%):-,!51%;+!%)!

&$%&!'-!&*'&$!%'.%$+$!%'!%$!.-5$,$!(,).&,$!#$+$+'+&$=!

! g'8'!/$!/'&$!51%;+!$%&$!%*+)#)&'&'!)./$*%$9)!($.&,-!#'!/$%#,)$!*!%$,)$!/$!@'#)+)&'&)!-&)+)8'&*,-+-)=!

! g'8'! /$! /'&$! C&$%&! $! (,$@$,'&'! #'! %-(*,&! (,'#&)#6! #'! @*')$! /$! +-#,-! ($.&,-! /)7$,%$! ).#$,#',)!

(,$+)5).',$=!

! ]!K'#'!.-!9$.$@)#)'&)!/$!'7'.&'M-+!2hPi!K"L"g"2U2!.-!(-&$&)!7)8-'+)8'!&*'&$!9'8$+$!/$!/'&$=!

! ]!K'#'!$D)%&'!9'8'!&$%&!).#$,#'&)!%C*!'##$%'&)!'%&@$+B!

!

mysql> USE test

Database changed

!

! ]! P9%$,7'&)! #'! S2U6! #'! /$'+&@$+6! -&)+)&',-+! 3STL! .-! .$#$%)&'! GWH! >K'#'! ).%'! '&)! @).'+)8'&! /$M'!

#$,$,$'6!#*5'./'!#-!'#$%&!%$5.!*,&*:,'@)#6!.-!$%&$!.$7*)$!%'C+!%&$,:$&)6!.-!7'!'@$#&'!%&,-#&-,'!#-!.)5)#?=!

! e'#)+)&'&$'!S2U!$!-.'!%($#)'+'!/).&,C-.!(-.#&!/$!7$/$,$B!.$#$%)&'!*!#*5'./'!%)5(+'!>O!+).)$?=!

! E-&$&)! @*+*%)! %)! 9'8'! /$! /'&$! &$%&! >/$! 7,$5$! #$! '&)! '##$%'&C*?! ($.&,-! $D$5(+$+$! -,5'&*',$6! /',6!

$D)%&'!-.!).#*7$.)$.&6!(-&$&)!'7$'!%-,(,)8'!#'!/'&$+$!/).!&'9$+$!%'!@)$!5*/)@)#'&$6!*,)#$!'+&!-&)+)8'&*,!#-!'##$%!

+'!9'8'!/$!/'&$!',!(-&$'C*!@'#$=!K).!'#$%&!5*&)7!',!&,$9-)!%'!#$,$&)!'/5).)%&,'&*,-+-)!51%;+!*!9'8'!($!#*.&!

(,*(,)-=!2'!(,$%-(-.$5!#'!*!7$&)!.-5)B!5$.'M$,)$=!"/5).)%&,'&*,-+!&,$9-)$!%'!$D$#-&$!*!+).)$!/$!#*5'./'!

/$!@*,5'B!

!

mysql> GRANT ALL ON menagerie.* TO your_mysql_name;

Page 8: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! j

!

! !!-./$!1*-,k51%;+k.'5$!$%&$!#A)',!.-5$+$!/$!-&)+)8'&*,!'%*#)'&!K7%=!!!

!

3.3.1 Crearea si selectarea unei baze de date

!

! K'#'!'/5).)%&,'&*,-+!'!#,$'&!9'8'!#-!($,5)%)-.$'!K7%=!(-&$&)! ).#$($!%'!*!@*+*%)&)=! T.!#'8!#*.&,',!

(-&$&)!%C*!#*.%&,-)&)!%).:-,)B!

!

mysql> CREATE DATABASE menagerie;

!

! 2-9!SbTl!!/$.-5),)+$!9'8$+*,!/$!/'&$!%-.&!%$.%)9)+$!/).!(-#&-+!/$!7$/$,$!'+!(,*#$%',))!>.-!$%&$!%)!

#'8-+!#-7).&$+*,!#A$)$!234?!'=)=!7'!&,$9-)!%'!'7$&)!:,)M'!#-5!%$+$#&'&)!9'8'6!@*+*%)&)!5$.:$,)$6!.-!0$.'M$,)$!

%'-!0Ub"mUVTU=!"#$+'%)! +-#,-!$%&$!7'+'9)+! %)!($&,-!.-5$+$! &'9$+$+*,=! >2-9!iTbKPi2!'#$%&$! ,$%&,)#&))!

#'/?=!

! I,$',$'! -.$)! 9'8$! .-! ).%$'5.'! '-&*5'&! %)! %$+$#&',$'! $)W! &,$9-)$! %'! @'#$&)! '%&'! %$(','&=! E$.&,-!

'##$%',$'!(,*(,)-C8)%'!'!9'8$)!5$.'M$,)$!@*+*%)&)!#*5'./'B!

!

mysql> USE menagerie

Database changed

!

! E,*#$%-+! #,$',))!9'8$)! ',$! +*#!*! %).:-,'!/'&'W! ).! %A)59!*!(-&$&)! %$+$#&'!*,)!/$! #'&$!*,)! ).#$($&)!*!

%$/).&'!51%;+=!E-&$&)!'##$%'!(,).&,C*!#*5'./'!S2U6!#-5!'&)!(-&-&!7$/$'!'.&$,)*,=!"+&@$+6!(-&$&)!'($+'!+'!*!

+).)$!/$!#*5'./'!).!#'8-+!).!#',$'!'($+'&)!51%;+C-+=!

! 2($#)@)#'&)! /*',! .-5$+$! 9'8$)! /-('! @)$#',$! /).&,$! (','5$&,)! /$! #*5$.&',$! ($! #',$! )C'&)! (-&$'!

@-,.)8'=!UD$5(+-B!

!

shell> mysql -h host -u user -p menagerie

Enter password: ********

!

! P9%$,7'&)!#'!5$.'M$,)$!.-!$%&$!%)!(',*+'6!).!+).)'!/$!#*5'./'=!

! K'#'!7,$&)!%'!,$/),$#&)*.'&)!(',*+'!/),$#&!($! +).)'!/$!#*5'./'!/-('!*(&)-.$'!<(6!(-&$&)!%C*!@'#$&)!

/),$#&!@','!%('&))6!+)&$,$!).&$,5$/)',$!>$D=6!C(51('%%n*,/6!.-!<(!51('%%n*,/?=!

! P,)#-5!%)&-',$'!(',*+$)!($!'#$)'%)!+).)$!/$!#*5'./'!.-!$%&$!,$#*5'./'9)+'6!($.&,-!#'!*!$D(-.$&)!

'%&@$+!-.$)!$7$.&-'+$!5*/)@)#',)!>/$!#'&,$!'+&)!-&)+)8'&*,)!+*:'&)!).!'#$+'%)!#'+#-+'&*,?=!

!

3.3.2 Crearea unui tabel

!

Page 9: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! o

! I,$',$'!9'8$)!/$!/'&$!$%&$!(',&$'!-%*','6!/',!).!'#$%&!5*5$.&!%$+$#&'./!*(&)-.$'!2hPi!L"g4U2!

7$&)!*9%$,7'!#'!$%&$!:*'+'B!

!

mysql> SHOW TABLES;

Empty set (0.00 sec)

!

! K$! ')#)! ).#$($! G:,$-+H6! %'! /$#)/$&)! %&,-#&-,'! 9'8$)!K7%=! /$! /'&$6! /$! #$! &'9$+$! '7$&)! .$7*)$! %)! #$!

#*+*'.$!7*,!#*.&).$=!

! X$&)!/*,)!-.!&'9$+!#',$!%'!#*.&).'!#'&$!*!).,$:)%&,',$!($.&,-!*,)#',$!/).&,$!'.)5'+$+$!K7%=!T+!(-&$5!

.-5)!($&!>'.)5'+$!/$!#*5('.)$?!%)!7'!&,$9-)!%'!#*.&).'6!#$+!(-&).6!.-5$+$!@)$#',-)!'.)5'+=!E$.&,-!#'!/*',!

.-5$+$!).!%).$!.-!$%&$!@*',&$!).&$,$%'.&6!&'9$+-+!',!&,$9-)!%'!).#+-/'!%)!'+&$!).@*,5'&))?=!

! K$! $D$5(+-6! /'#'! .-! %-.&$&)! %).:-,-+! /).! @'5)+)$! #$! /$&).$! '.)5'+$! /$! #*5('.)$! '&)! (-&$'!

).,$:)%&,'6! /$! ()+/'6! (*%$%*,))! '#$%&*,! '.)5'+$=! "&)! (-&$'! /$'%$5$.$'! %'! ).#$,#'&)! %'! ).,$:)%&,'&)! #'&$7'!

,$@$,).&$!/$%#,)(&)7$!%-##).&$!'%-(,'!%($#)$)!%)!%$D-+-)!'.)5'+-+-)=!

K',!#-5!,'5'.$!#-!7',%&'c!",!(-&$'!(,$8$.&'!).&$,$%!/',!$%&$!(,$@$,'9)+!%'!.-!'($+'&)!+'!-.!&'9$+!

($.&,-! '#$'%&'! *(&)-.$=! X',%&'! %$! %#A)59'%! */'&'! #-! &,$#$,$'! '.)+*,6! #$$'! #$! ).%$'5.'! #'! ',! &,$9-)! %'!

,$'#&-'+)8'&)!/$%&-+!/$!/$%!9'8'!/$!/'&$=!T.!%#A)596!'&)!(-&$'!).,$:)%&,'6!7'+*,)!@)D$6!#-5!',!@)!/'&'!.'%&$,))=!

"%&@$+6!*,)#'./!7$&)!'7$'!.$7*)$!%'!'@+'&)!7',%&'!7$&)!@'#$!/*',!/)@$,$.&'!/).&,$!/'&'!#-,$.&'!%)!#$!).,$:)%&,'&'=!!

! 01%;+!'%):-,'!%)!@'#)+)&'&)!($.&,-!#'+#-+$+$!',)&5$&)#$!'%&@$+!).#'&!.C',!&,$9-)!%'!@)$!(,$'!/)@)#)+=!

! 2&*#',$'!/'&$+*,!/$!.'%&$,$!).!+*#-+!7',%&$)!(,*(,)-!8)%$!(,$8).&'!%)!'+&$!'7'.&'M$6!(,$#-5B!

" E-&$&)! @*+*%)! 9'8'! ($.&,-! %',#).)! #'! :$.$,',$'! -.*,! %$5.'+$! ($.&,-! '! (,$).&'5().'! 8)+$+$!

*.*5'%&)#$! '+$! '.)5'+$+*,!/$! #*5('.)$! >/'#'! '#$'%&'!*(&)-.$!7)! %$!(',$! -.'! -%*,!.')7'!.-!

-)&'&)!#'!(-&$&)!@*+*%)!).!5*/!'.'+*:!9'8'! ).!'@'#$,)W!($.&,-!'!7'!,$'5).&)!/$!()+/'!8)-'!-.-)!

#+)$.&!%'-!'%*#)'&!%)!')!&,'.%5)&$!-,',)+$!/$!,):*',$?=!

" E-&$&)! #'+#-+'! 7',%&'! %)! ,$+'&)*.'./! #-! '+&$! /'&$! /$#'&! #$'! #-,$.&'=! K$! $D$5(+-6! /'#'!

).,$:)%&,'&)! 8)-'! /$#$%-+-)! (-&$&)! #'+#-+'! #'&)! '.)! '7$'! '.)5'+-+! /$! #*5('.)$! ('.'! +'! '#$%&!

5*5$.&=!

! X'!(-&$&)!:)./)! +'!*!5-+&)&-/).$!/$!'+&$!&)(-,)!/$!).@*,5'&))!($!#',$!+$C'&)!(-&$'!).&,*/-#$!).&,C-.!

&'9$+!($&!6!/',6!#$+$!'5).&)&$!().'!'#-5!%).&!5')!5-+&!/$#)&!%-@)#)$.&$!($.&,-!$D$5(+)@)#',$B!.-5$6!(*%$%*,6!

%($#)$6!%$D6!/'&'!/$!.'%&$,$!%)!/'&'!/$#$%-+-)=!

! e*+*%)&)!*(&)-.$'!IVU"LU!L"g4U!($.&,-!'!%($#)@)#'!(','5$&,))!&'9$+-+-)=!

!

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),

->species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

!

X',#A',!$%&$!*!'+$:$,$!@$,)#)&'!($.&,-!#*+*'.$+$!'@$,$.&$!b-5$+-)6!E*%$%*,-+-)6!%)!2($#)$)6!($.&,-!

#'!7'+*,)+$!+*,!7*,!7',)'!).!+-.:)5$=!4-.:)5$'!'#$%&*,!#*+*'.$!.-!&,$9-)$!%'!@)$!'#$)'%)!%)!.-!.$'(','&!/$!Rp=!

Page 10: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Op

E-&$&)! '+$:$! *,)#$! +-.:)5$! ).&,$! O! %)! ORZW! *@$,&'! 5')! 5-+&! /$#'&! :$.$,*'%'=! K'#'! '&)! *(&'&! :,$%)&! %)! %$!

/*7$/$%&$!5')!&',8)-!#'!'&)!@)!'7-&!.$7*)$!/$!-.!#'5(!5')!+',:!51%;+!7'!:$.$,'!*(&)-.$'!"4LUV!L"g4U=!

! T'&'!#'&$7'!/).&,$!7'+*,)+$!#$!(*&!@)!'+$%$!($.&,-!)./)#'&*,))!%$D-+-)!).!G,$:)%&,$+$H!@)$#',-)!'.)5'+B!

G5H!6!G@H!C!G5'+$H6!G@$5'+$H=!K$%):-,!#$'!5')!%)5(+'!*(&)-.$!$%&$!(,)5'=!!

! K'&$+$!/$!.'%&$,$!%)!,$%($#&)7!/$!/$#$%!%$!).,$:)%&,$'8'!(,).!).&$,5$/)-+!*(&)-.))!K"LU=!"#-5!#'!

'&)!#,$'&!&'9$+-+6!2hPi!L"g4U2!',!&,$9-)!%'!,$+)$@$8$!#'&$7'!*(&)-.)!/$!)$%),$B!

!

mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

| pet |

+---------------------+

!

! E$.&,-!'!7$,)@)#'!/'#'!&'9$+-+!'!@*%&!#,$'&!%'-!.-!/-('!#-5!7C'&)!/*,)&!@*+*%)&)!#*5'./'!KU2IVTgU!

>'#$)'%)!#*5'./'!$%&$!7'+'9)+'!%)!#'./!'&)!-)&'&!/$!$D$5(+-!.-5$+$!-.$)!#*+*'.$?=!

!

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name | varchar(20) | YES | | NULL | |

| owner | varchar(20) | YES | | NULL | |

| species | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| birth | date | YES | | NULL | |

| death | date | YES | | NULL | |

+---------+-------------+------+-----+---------+-------+

!

3.3.3 Incarcarea datelor de pe suport fizic

!

! K-('!#$!'&)!#,$'&!&'9$+-+6!&,$9-)$!%'C+!G(*(-+'&)H=!UD(,$%))+$!4P"K!K"L"!%)!Tb2UVL!%-.&!&*&!#$!

7'!&,$9-)$=!

! 2'!(,$%-(-.$5!#'!).,$:)%&,',)+$!K7%=!(*&!@)!/$%#,)%$!'%&@$+B!

!

nume posesor specie sex data nasterii data decesului

e+-@@1!! ! h',*+/!! ! #'&!! @!! OooNCpRCpY!

I+'n%!! ! qn$.!! ! #'&!! 5!! OooYCpNCOf!

Page 11: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! OO

g-@@1!! ! h',*+/!! ! /*:!! @!! OojoCpZCON!

e'.:!! ! g$..1!! ! /*:!! 5!! OoopCpjCRf!

g*n%$,!!!!!!!!!!!!!!!!!K)'.$!! ! /*:!! 5!! OoojCpjCNO!! OooZCpfCRo!

IA),(1!! ! qn$.!! ! 9),/!! @!! OoojCpoCOO!

iA)%&+$,!! qn$.!! ! 9),/!! ! OoofCORCpo!

2+)5!! ! g$..1!! ! %.'r$!! 5!! Ooo^CpYCRo!

!

! T.!5*5$.&-+!).!#',$!'7$&)!/$C'!@'#$!#-!-.!&'9$+!G).!'+9H!#$+!5')!%)5(+-!5)M+*#!($.&,-!'C+!(*(-+'!

$%&$!'#$+'!/$!'!#,$'!-.!@)%)$,!G&D&H!'+*#'./!#'&$!-.!%),!($.&,-!@)$#',$!/).&,$!'.)5'+$+$!/$!#*5('.)$6!%)!'(*)!

).#',#'&)!#*.&).-&-+!/).!@)%)$,!).!&'9$+!(,).&,C*!%).:-,'!+).)$!/$!#*5'./'=!

! E-&$&)!#,$'!-.!@)%)$,!&$D&!G($&=&D&H!#*.&).'./!*!).,$:)%&,',$!($!@)$#',$!,'./6!'7'./!/)@$,)&$+$!7'+*,)!

%$(','&$!(,).!%('&))6!%)!/$,-+'&$!).!'#$)'%)!*,/).$!).!#',$!#*+*'.$+$!'-!@*%&!+)%&'&$!).!IVU"LU!L"g4U=!

! E$.&,-!7'+*,)+$!+)(%'!>%$D!.$#-.*%#-&6!%'-!/'&'!/$#$%-+-)!).!#'8-+!'.)5'+$+*,!'@+'&$!).#'! ).!7)'&'?!

(-&$&)!'($+'!+'!*(&)-.$'!bS44=!E$.&,-!,$(,$8$.&',$'!'#$%&*,'!).!@)%)$,-+!&$D&!@*+*%)&)!\b=!K$!$D$5(+-6!($.&,-!

iA)%&+$,!*!).,$:)%&,',$!7'!','&'!'%&@$+B!

!

nume posesor specie sex data nasterii data decesului

i)%&+$,! ! qn$.! ! 9),/! \b! OoofCORCpo! \b!

!

E$.&,-!'!&,'.%#,)$!&$D&-+!/).!@)%)$,-+!G($&=&D&H!).!&'9$+!&'%&'&)!#*5'./'B!

!

mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

!

! P,)!/$!#)&$!*,)!7,$&)!%'!'/'-:'&)!).,$:)%&,',)!*(&'&)!($.&,-! Tb2UVL=I$+!5')!%)5(+-!5)M+*#!$%&$!%'!

%-(+)5$.&'&)! ! ).@*,5'&))+$! ($.&,-! @)$#',$! #*+*'.'6! ).! '#$$'%)! *,/).$! ).! #',$! '#$%&$'! '-! @*%&! +)%&'&$! ).!

IVU"LU!L"g4U=2'!(,$%-(-.$5!#'!K)'.'!(,)5$%&$!-.!.*-!A'5%&$,!.-5)&!E-@9'++=!

! b*-'!).,$:)%&,',$!@*+*%)./!-&)+)&',-+!Tb2UVL!7'!','&'!'%&@$+B!!

!

mysql> INSERT INTO pet

->VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

!

! P9%$,7'&)!@'(&-+!#'!).%),-),$'!7'+*,)+*,!%$!@'#$!).&,$!:A)+)5$+$=I-!'#$+'%)!-&)+)&',!Tb2UVL!

E-&$&)!).%$,'!7'+*,)+$!+)(%'=b-!*(&'&)!($.&,-!\b!#-5!'&)!@'#-&!#-!4P"K!K"L"=!

! K).! '#$%&! $D$5(+-! '&)! (-&-&! *9%$,7'! #'! $%&$! (,$@$,'9)+! %'! ).#',#'&)! ).)&)'+! ).,$:)%&,',$'! @*+*%)./!

-&)+)&',-+!Tb2UVL!/$#)&!4P"K!K"L"=!

! !!

Page 12: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! OR

3.3.4 Refacerea informatiilor dintr-un tabel!

!

! P(&)-.$'!2U4UIL!$%&$!@*+*%)&'!($.&,-!'!G$D&,':$H!).@*,5'&))+$!/).&,C-.!&'9$+=T.!@*,5'!%'!:$.$,'+'!

#*5'./'!','&'!'%&@$+B!

!

SELECT what_to_select

FROM which_table

WHERE conditions_to_satisfy

!

! GnA'&C&*!%$+$#&H!)./)#'!#$$'!#$!7,$&)!%'!7)8-'+)8'&)="#$'%&'!(*'&$!@)!/*',!-.!.-5',!/$!#*+*'.$!%'-!

&*'&$=!

! GnA)#AC&'9+$H!)./)#'!&'9$+-+!/).!#',$!7$&)!$D&,':$!).@*,5'&)'=!

!!!!!!! P&).$'!GihUVUH!$%&$!@'#-+&'&)7'=!

! G#*./)&)*.%C&*! %'&)%@1H! %($#)@)#'! #*./)&))+,$! ! ($! #',$! +).))+$! &,$9-)$! %'! +$! )./$(+).$'%#'! ! ($.&,-! '!

(-&$'!@)!G$D&,'%$H=!

!

3.3.4.Selectarea tuturor informatiilor

!

! !T'&'!@*,5'!#$'!5')!%)5(+'!/$!%$+$#&',$!'!*,)#',-)!&'9$+B!

mysql> SELECT * FROM pet;

+----------+--------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+----------+--------+---------+------+------------+------------+

| Fluffy | Harold | cat | f | 1993-02-04 | NULL |

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

| Fang | Benny | dog | m | 1990-08-27 | NULL |

| Bowser | Diane | dog | m | 1998-08-31 | 1995-07-29 |

| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |

| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |

| Slim | Benny | snake | m | 1996-04-29 | NULL |

| Puffball | Diane | hamster | f | 1999-03-30 | NULL |

+----------+--------+---------+------+------------+------------+

! !"#$'%&'!5*/'+)&'&$!$%&$!)./)#'&'!).!#'8-+!).!#',$!7,$&)!%'!,$7$/$&)!).&,$:-+!&'9$+!6!/$!$D=6!/-('!#$!

&*#5')!'&)!).,$:)%&,'&!%$&-+!).)&)'+!/$!/'&$=!

! E*&! '(',$'! 6! %$! ).&)5(+'6! $,*,)! ).! @)%)$,-+!K7%=!K$! $D$5(+-6!g*n%$,! '(',$! '! @)! .'%#-&!/-('!/'&'!

/$#$%-+-)!%'-!#*.%-+&'&)C7'!).@*,5'&))+$!).!*,):).'+!6%)!/$%#*($,)&)!#'!'.-+!.'%&$,))!$,'!/$!@'(&!Oojo!).!+*#!/$!

Oooj=!

Page 13: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! ON

! UD)%&'!#$+!(-&).!/*-'!%*+-&))!($.&,-!'!,$5$/)'!:,$%$'+'B!

!L'%&'&)! UKTL! ($.&,-! @)%)$,-+! G($&&D&H! ($.&,-! '! #*,$#&'! $,*',$'6! :*+)&)! &'9$+-+! %)! ,$).#',#'&)C+! @*+*%)./!

KU4ULU!%)!4P"K!K"L"=!

! P,)#-5!/'#'!(,*#$/'&)!'%&@$+!&,$9-)$!/$'%$5$.$'!%'!,$).&,*/-#$&)!).,$:)%&,',)+$!($.&,-!E-@@9'++=!

!V$@'#$&)!/*',!).,$:)%&,',$'!#-!(,*9+$5$!(,).&,C*!#*5'./'!SEK"LU=!

!

mysql> SET AUTOCOMMIT=1; #

mysql> DELETE FROM pet;

mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

mysql> UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";

!

! I-5!'5!','&'&!$%&$!%)5(+-!%'!$D&,':$5!s!%$+$#&'5!).&,$:-+!&'9$+=!K',6!).!5*/!.*,5'+6!.-!7$&)!'7$'!

.$7*)$!%'!@'#$&)!'%&'6!%)!.)#)!.-!$%&$!)./)#'&!5')!'+$%!#'!).!&)5(!'#$%&'!%$!$D&)./$=!

! T.! %#A)596! 7'! 7$&)! '@+'! ).! %)&-'&)'! /$! '! ,$8*+7'! *! %).:-,'! (,*9+$5'6! #'8! ).! #',$! 7'! &,$9-)! %'!

%($#)@)#'&)!#'&$7'!(,*9+$5$!)5(+)#'&$=!

! 2'!-,5'5!#'&$7'!#*5$.8)!/$!%$+$#&)$!'!-.*,!).@*,5'&))!/$%(,$!'.)5'+$+$!K7%=!

!

N=N=Y=R!2$+$#&',$'!-.*,!+).))!/).!&'9$+!

!

! E-&$&)!%$+$#&'!/*',!'.-5)&$!+).))!/).!).&,$:-+!&'9$+=!K$!$D$5(+-6!/'#'!7,$&)!%'!7$,)@)#'&)!#*,$#&-,'!

($!#',$!'&)!@'#-&C*!).!(,)7).&'!/'&$)!/$!.'%&$,$!'!+-)!g*n%$,6!%$+$#&'&)!).,$:)%&,',$'!'%&@$+B!

!

mysql> SELECT * FROM pet WHERE name = "Bowser";

+--------+-------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+--------+-------+---------+------+------------+------------+

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

+--------+-------+---------+------+------------+------------+

!

! T$%),$'!#*.@),5'!#*,$#&-,'!@'#-&'=!

! K'&$+$! %-.&! ).%$.%)9)+$! /).! (-.#&! /$! 7$/$,$'! '+! ).,$:)%&,',))! '%&@$+! ).#'&! (-&$&)! %#,)$! .-5$+$B!

G9*n%$,H6!GgPi2UVH!$&#=!V$8-+&'&-+!%*+)#)&',))! #'! @)! '#$+'%)=!E-&$&)! %($#)@)#'!#*./)&))+$!($!*,)#',$!/).&,$!

#*+*'.$6! .-! /*',! ($! '#$$'! '! .-5$+*,=!K$! $D$5(+-6! /'#'! 7,$&)! %'! %$+$#&'&)! '.)5'+$+$! .'%#-&$! /-('! Oooj!

%$+$#&'&)!#*+*'.'!G/'&'!/$!.'%&$,$HB!

!

mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";

+----------+-------+---------+------+------------+-------+

Page 14: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! OY

| name | owner | species | sex | birth | death |

+----------+-------+---------+------+------------+-------+

| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |

| Puffball | Diane | hamster | f | 1999-03-30 | NULL |

+----------+-------+---------+------+------------+-------+

!

! E-&$&)!/$!'%$5$.$'!#*59).'!#*./)&))+$6!/$!$D$5(+-!($.&,-!'!+*#'+)8'!@$5$+$+$!<!#').$B!

!

mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+-------+--------+---------+------+------------+-------+

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

!

! 2*+)#)&',$'!'.&$,)*','!@*+*%$%&$!*($,'&*,-+!+*:)#!"bK=!UD)%&'!%)!-.!*($,'&*,!PVB!

!

mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";

+----------+-------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+----------+-------+---------+------+------------+-------+

| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |

| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |

| Slim | Benny | snake | m | 1996-04-29 | NULL |

+----------+-------+---------+------+------------+-------+

! "bK!%)!PV!(*&!@)!+'!,'./-+!+*,!5)D'&)=!K'#'!'%&'!/*,)&)6!$!(,$@$,'9)+!%'!@*+*%)&)!(','.&$8$+$!($.&,-!'!

)./)#'!5*/-+!).!#',$!7,$&)!%'!@)$!:,-('&$!#*./)&))+$=!

!

mysql> SELECT * FROM pet WHERE (species = "cat" AND sex = "m")

-> OR (species = "dog" AND sex = "f");

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

!

Page 15: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! OZ

3.3.4.3 Selectarea anumitor coloane

!

! K'#'! .-! /*,)&)! 7)8-'+)8',$'! &-&-,*,! +).))+*,! /).! &'9$+! (,$#)8'&)! /*',! #*+*'.$+$! ).! #',$! %-.&$&)!

).&$,$%'&6!%$(','&$!(,).!7),:-+$=!

! K$!$D$5(+-6!/'#'!7,$&)!%'!%&)&)!/'&$+$!/$!.'%&$,$!'+$!'.)5'+$+*,!/$&).-&$!%$+$#&'&)!#*+*'.$+$!.-5$+-)!

%)!,$%($#&)7!/'&$)!/$!.'%&$,$=!

!

mysql> SELECT name, birth FROM pet;

+----------+------------+

| name | birth |

+----------+------------+

| Fluffy | 1993-02-04 |

| Claws | 1994-03-17 |

| Buffy | 1989-05-13 |

| Fang | 1990-08-27 |

| Bowser | 1989-08-31 |

| Chirpy | 1998-09-11 |

| Whistler | 1997-12-09 |

| Slim | 1996-04-29 |

| Puffball | 1999-03-30 |

+----------+------------+

!

K'#'!7,$&)!%'!'@+'&)!(*%$%*,))!@)$#',-)!'.)5'+6!&'%&'&)B!

!

mysql> SELECT owner FROM pet;

+--------+

| owner |

+--------+

| Harold |

| Gwen |

| Harold |

| Benny |

| Diane |

| Gwen |

| Gwen |

| Benny |

| Diane |

+--------+

Page 16: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! O^

!

! T.!*,)#$!#'86!*9%$,7'&)!5*/'+)&'&$'!).#',$!#*5'./'!$D&,':$!(-,!%)!%)5(+-!#'5(-+!(*%$%*,-+-)!/).!

@)$#',$! ).,$:)%&,',$! %)! '%&@$+! 7$&)! 7$/$'! #'! -.$+$! .-5$! '(',! /$! 5')! 5-+&$! *,)=! E$.&,-! '! 5)5'! @).'+-+6!

$D&,':$&)!@)$#',$!).,$:)%&,',$!@).'+'!-.)#'!/*',!*/'&'!(,).!'/'-:',$'!#-7'.&-+-)!#A$)$!KT2LTbILB!

!

mysql> SELECT DISTINCT owner FROM pet;

+--------+

| owner |

+--------+

| Benny |

| Diane |

| Gwen |

| Harold |

+--------+

!

! E-&$&)!@*+*%)!*!#+'-8'!Gwhere”!%'!,$'+)8'&)!*!#*59).',$!).&,$!%$+$#&)'!,'./-,)+*,!%)!#$'!'!#*+*'.$+*,=!

K$!$D$5(+-6!%$+$#&'&)!/'&$+$!/$!.'%&$,$!/*',!'!#').)+*,!%)!()%)#)+*,B!

!

mysql> SELECT name, species, birth FROM pet

-> WHERE species = "dog" OR species = "cat";

+--------+---------+------------+

| name | species | birth |

+--------+---------+------------+

| Fluffy | cat | 1993-02-04 |

| Claws | cat | 1994-03-17 |

| Buffy | dog | 1989-05-13 |

| Fang | dog | 1990-08-27 |

| Bowser | dog | 1989-08-31 |

+--------+---------+------------+

!

3.3.4.4 Sortarea liniilor

!

! L,$9-)$! %'! @)! *9%$,7'&! ).! $D$5(+$+$! '.&$,)*',$! #'! +).))+$! ,$8-+&'&$! .-! %-.&! /)%(-%$! ).&,C*! *,/).$!

'.-5$=!!

! P,)#-56!/$!#$+$!5')!5-+&$!*,)!$%&$!5')!-%*,!%'!).,$:)%&,$8)!#'./!+).))+$!%-.&!%*,&'&$!/-('!-.!'.-5)&!

).&$+$%=!"%&@$+!@*+*%)&)!#+'-8'!PVKUV!gt=!

! T'&'!/'&$+$!/$!.'%&$,$!/)%(-%$!#,*.*+*:)#B!

!

Page 17: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Of

mysql> SELECT name, birth FROM pet ORDER BY birth;

+----------+------------+

| name | birth |

+----------+------------+

| Buffy | 1989-05-13 |

| Bowser | 1989-08-31 |

| Fang | 1990-08-27 |

| Fluffy | 1993-02-04 |

| Claws | 1994-03-17 |

| Slim | 1996-04-29 |

| Whistler | 1997-12-09 |

| Chirpy | 1998-09-11 |

| Puffball | 1999-03-30 |

+----------+------------+

!

! E$.&,-!%*,&',$'!).7$,%'!>/$%#,$%#',*',$?!'/-:'&)!#-7'.&-+!#A$)$!KU2I!+'!.-5$+$!#*+*'.$)!($!#',$!

*!%$+$#&'&)B!

!

mysql> SELECT name, birth FROM pet ORDER BY birth DESC;

+----------+------------+

| name | birth |

+----------+------------+

| Puffball | 1999-03-30 |

| Chirpy | 1998-09-11 |

| Whistler | 1997-12-09 |

| Slim | 1996-04-29 |

| Claws | 1994-03-17 |

| Fluffy | 1993-02-04 |

| Fang | 1990-08-27 |

| Bowser | 1989-08-31 |

| Buffy | 1989-05-13 |

+----------+------------+

!

! E-&$&)!%*,&'!5')!5-+&$!#*+*'.$!#*.%$#-&)7$=!UD$5(+-+!/-('!%($#)$6!'(*)!/-('!/'&'!.'%&$,))!@'#'./!

'.-5)&$!(,$#)8',)!(,$#-5!.-5$+$!#$+-)!5')!&'.',!'.)5'+B!

!

mysql> SELECT name, species, birth FROM pet ORDER BY species, birth

DESC;

Page 18: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Oj

+----------+---------+------------+

| name | species | birth |

+----------+---------+------------+

| Chirpy | bird | 1998-09-11 |

| Whistler | bird | 1997-12-09 |

| Claws | cat | 1994-03-17 |

| Fluffy | cat | 1993-02-04 |

| Fang | dog | 1990-08-27 |

| Bowser | dog | 1989-08-31 |

| Buffy | dog | 1989-05-13 |

| Puffball | hamster | 1999-03-30 |

| Slim | snake | 1996-04-29 |

+----------+---------+------------+

!

P9%$,7'&)!#'!KU2I!%$!'(+)#'!/*',!#*+*'.$+*,!'+!#'+*,!.-5$!'!@*%&!%($#)@)#'&=!I$+$+'+&$!,'5'.!.$%#A)59'&$=!

UDB!7'+*,)+$!%($#)$)!%-.&!).#'!$.-5$,'&$!).!*,/).$!#,$%#'&*',$=!

3.3.4.5 Calculul datelor!

!

! 01%;+!'%):-,'!#'&$7'!@'#)+)&'&)!($!#',$!+$!(-&$&)!@*+*%)!($.&,-!/)7$,%$!#'+#-+$!'%-(,'!/'&$+*,B!!

! UDB!#'+#-+-+!7',%&$+*,!%'-!$D&,':$,$'!-.*,!(',&)!$,*.'&$!'!/'&$+*,=!E$.&,-!'!/$&$,5).'!#$!7',%&'!',$!

@)$#',$!'.)5'+6!#'+#-+'&)!/)@$,$.&'!/).&,$!/'&'!#-,$.&'! %)! #$'! ).,$:)%&,'&'!'(*)! %#'/$&)!O6!/'#'!/'&'! #-,$.&'!

$%&$!%)&-'&'!).!#'+$./',!).').&$'!/'&$+*,!/$!.'%&$,$=!!

!

mysql> SELECT name, birth, CURRENT_DATE,

-> (YEAR(CURRENT_DATE)-YEAR(birth))

-> - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5))

-> AS age

-> FROM pet;

+----------+------------+--------------+------+

| name | birth | CURRENT_DATE | age |

+----------+------------+--------------+------+

| Fluffy | 1993-02-04 | 2001-08-29 | 8 |

| Claws | 1994-03-17 | 2001-08-29 | 7 |

| Buffy | 1989-05-13 | 2001-08-29 | 12 |

| Fang | 1990-08-27 | 2001-08-29 | 11 |

| Bowser | 1989-08-31 | 2001-08-29 | 11 |

| Chirpy | 1998-09-11 | 2001-08-29 | 2 |

Page 19: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Oo

| Whistler | 1997-12-09 | 2001-08-29 | 3 |

| Slim | 1996-04-29 | 2001-08-29 | 5 |

| Puffball | 1999-03-30 | 2001-08-29 | 2 |

+----------+------------+--------------+------+

!

")#)! tU"V>?! ).,$:)%&,$'8'! '.-+! /).! /'&'! /$! .'%&$,$6! )',! VTqhL! #$+$+'+&$! #).#)! #','#&$,$!

,$(,$8$.&'./! +-.'6! ,$%($#&)7! 8)-'=! V$8-+&'&-+! (*'&$! @)! %#'.'&! #-! 5')! 5-+&'! -%-,).&'! /'#'! +).))+$! '-! @*%&!

).,$:)%&,'&$! ).&,C*! *,/).$! (,$%&'9)+)&'=! "#$%&! +-#,-! %$! *9&).$! '/'-:'./! #+'-8'! PVKUV! gt! %(,$! '! %*,&'!

).,$:)%&,',)+$!@).'+$!/-('!.-5$=!E$.&,-!*!).,$:)%&,',$!@).'+'!/-('!7',%&'!$%&$!/$!'M-.%!%'!*(&'&)!($.&,-!*!'+&'!

#+'-8'!PVKUV!gt=!

!

mysql> SELECT name, birth, CURRENT_DATE,

-> (YEAR(CURRENT_DATE)-YEAR(birth))

-> - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5))

-> AS age

-> FROM pet ORDER BY name;

+----------+------------+--------------+------+

| name | birth | CURRENT_DATE | age |

+----------+------------+--------------+------+

| Bowser | 1989-08-31 | 2001-08-29 | 11 |.170 MySQL Technical Reference

for Version 4.1.0-alpha

| Buffy | 1989-05-13 | 2001-08-29 | 12 |

| Chirpy | 1998-09-11 | 2001-08-29 | 2 |

| Claws | 1994-03-17 | 2001-08-29 | 7 |

| Fang | 1990-08-27 | 2001-08-29 | 11 |

| Fluffy | 1993-02-04 | 2001-08-29 | 8 |

| Puffball | 1999-03-30 | 2001-08-29 | 2 |

| Slim | 1996-04-29 | 2001-08-29 | 5 |

| Whistler | 1997-12-09 | 2001-08-29 | 3 |

+----------+------------+--------------+------+

mysql> SELECT name, birth, CURRENT_DATE,

-> (YEAR(CURRENT_DATE)-YEAR(birth))

-> - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5))

-> AS age

-> FROM pet ORDER BY age;

+----------+------------+--------------+------+

| name | birth | CURRENT_DATE | age |

Page 20: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Rp

+----------+------------+--------------+------+

| Chirpy | 1998-09-11 | 2001-08-29 | 2 |

| Puffball | 1999-03-30 | 2001-08-29 | 2 |

| Whistler | 1997-12-09 | 2001-08-29 | 3 |

| Slim | 1996-04-29 | 2001-08-29 | 5 |

| Claws | 1994-03-17 | 2001-08-29 | 7 |

| Fluffy | 1993-02-04 | 2001-08-29 | 8 |

| Fang | 1990-08-27 | 2001-08-29 | 11 |

| Bowser | 1989-08-31 | 2001-08-29 | 11 |

| Buffy | 1989-05-13 | 2001-08-29 | 12 |

+----------+------------+--------------+------+

! P! @*,5-+',$! %)5)+','! (*'&$! @)! @*+*%)&'! ($.&,-! '! /$&$,5).'! 7',%&'! ).! 5*5$.&-+! /$#$%-+-)=! I',$!

'.-5$!%-.&!'.)5'+$+$!'@+'&$!).!%)&-'&)'!/'&'!%$!*9%$,7'!%)5(+-!7$,)@)#'./!/'#'!7'+*',$'!G/$'&AH!$%&$!%'-!.-!

bS44=!E$.&,-!#$+$!#',$!.-!%-.&!@'#$&)!/)@$,$.&'!/).&,$!/'&'!/$#$%-+-)!%)!#$'!'!.'%&$,))=!

!

mysql> SELECT name, birth, death,

-> (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))

-> AS age

-> FROM pet WHERE death IS NOT NULL ORDER BY age;

+--------+------------+------------+------+

| name | birth | death | age |

+--------+------------+------------+------+

| Bowser | 1989-08-31 | 1995-07-29 | 5 |

+--------+------------+------------+------+

!

! K',6!/'#'!7,$&)!%'!'@+'&)6!/$!$D$5(+-!#$!'.)5'+$!G)%)!%',9'&*,$%#!8)-'H!+-.'!7))&*',$c!E$.&,-!'%&@$+!

/$! &)(-,)! /$! #'+#-+$6!(','5$&,)! #'! '.-+! %'-! 8)-'!/$7).! ),$+$7'.&)W! &*&! #$! &,$9-)$! %'! @'#$&)!$%&$! %'! $D&,':$&)!

7'+*,)+$!,$@$,)&*',$!+'!+-.'!/).!#*+*'.'!/'&$)!/$!.'%&$,$=!

! 01%;+! @-,.)8$'8'! #'&$7'! (*%)9)+)&'&)! /$! '%&@$+! /$! %$+$#&',)! G(',&)'+$HB! tU"V>?6! 0PbLh>?6!

K"tPe0PbLh>?=!T.!$D$5(+-+!.*%&,-!+-.'!0PbLh>?!$%&$!*(&)-.$'!(*&,)7)&'=!

! 2(,$! '!7$/'! #*.#,$&! #-5! @-.#&)*.$'8'! ,-+'&)! *! #*5'./'!%)5(+'! #',$! ).#+-/$!/$*(*&,)7'!7'+*,)+$!

/'&$+*,!/$!.'%&$,$!>9),&A?!,$%($#&)7!'+$!+-.))!>5*.&A?=!

!

mysql> SELECT name, birth, MONTH(birth) FROM pet;

+----------+------------+--------------+

| name | birth | MONTH(birth) |

+----------+------------+--------------+

Page 21: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! RO

| Fluffy | 1993-02-04 | 2 |

| Claws | 1994-03-17 | 3 |

| Buffy | 1989-05-13 | 5 |

| Fang | 1990-08-27 | 8 |

| Bowser | 1989-08-31 | 8 |

| Chirpy | 1998-09-11 | 9 |

| Whistler | 1997-12-09 | 12 |

| Slim | 1996-04-29 | 4 |

| Puffball | 1999-03-30 | 3 |

+----------+------------+--------------+

!

K$'%$5$.$'! $%&$! -%*','! #'-&',$'! '.)5'+$+*,! #',$! '-! 8)-'! /$! .'%&$,$! ).! +-.'! #$! -,5$'8'=!

E,$%-(-.$5!#'!+-.'!#-,$.&'!$%&$!"(,)+)$=!"&-.#)!7'+*',$'!+-.))!$%&$!Y!%)!K7%=!#'-&'&)!'.)5'+$!.'%#-&$!).!0')!

>+-.'!Z?!'%&@$+B!

!

mysql> SELECT name, birth FROM pet WHERE MONTH(birth) = 5;

+-------+------------+

| name | birth |

+-------+------------+

| Buffy | 1989-05-13 |

+-------+------------+

!

K$%):-,! $D)%&'! *! 5)#'! #*5(+)#'&)$! /'#'! +-.'! #-,$.&'! $%&$! K$#$59,)$=! b-! (-&$&)! '/'-:'! O! +'!

.-5',-+!+-.))!>OR?!%)!'(*)!%'!#'-&'&)!'.)5'+$!.'%#-&$!).!+-.'!ON6!/$*',$#$!.-!$D)%&'!*!'%$5$.$'!+-.'=!T.!+*#!

7$&)!#'-&'!'.)5'+$!.'%#-&$!).!T'.-',)$!>+-.'!O?=!

E-&$&)!#A)',!%'!%#,)$&)!#*5'./'!'%&@$+!).#'&!$'!7'!@-.#&)*.'!)./)@$,$.&!/$!+-.'!#-,$.&'=!T.!'#$%&!@$+!.-!&,$9-)$!

%'!@*+*%)&)!.-5',-+!'@$,$.&!-.$)!+-.)!*',$#',$!).!#*5'./'=!K"LUk"KK>?!7'!($,5)&$!%'!'/'-:'&)!*!+-.'!+'!

7'+*',$'!+-)!bPi>?6!'(*)!$D&,':$&)!+-.'!#-!'M-&*,-+!@-.#&)$)!0PbLh>?6!'(*)!,$8-+&'&-+!7'!@)!+-.'!).!#',$!%'!

#'-&'&)!8)+$+$!/$!.'%&$,$B!

!

mysql> SELECT name, birth FROM pet

-> WHERE MONTH(birth) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH));

P!'+&'!#'+$!/$!'!,$'+)8'!'#$)'%)!&$5'!$%&$!%'!'/'-:'&)!O!($.&,-!'!'M-.:$!+'!+-.'!-,5'&*',$!/-('!#$'!

#-,$.&'!>@*+*%)./!@-.#&)'!0PK>?!($.&,-!'!,*&-.M)!7'+*',$'!+-.))!+'!p!/'#'!$'!$%&$!OR?B!

!

mysql> SELECT name, birth FROM pet

-> WHERE MONTH(birth) = MOD(MONTH(NOW()), 12) + 1;

Page 22: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! RR

!

L,$9-)$! .*&'&! @'(&-+! #'! @-.#&)'!0PbLh>?! ).&*',#$! -.! .-5',! ).&,$! O! %)! OR=! T',! 0PK>#$7'6OR?!

).&*',#$!-.!.-5',! ).&,$!p!%)!OO=!"%'/',!).#,$5$.&',$'!&,$9-)$!%'!@)$!@-.#&)'!0PK>?6!'+&@$+!'5!&,$#$!/$! +'!

b*)$59,)$!>OO?!+'!T'.-',)$!>O?=!

! !

! Lucrul cu valori NULL

X'+*',$'! bS44! (*'&$! @)! %-,(,).8'&*',$! ('.'! 7'! *9)%.-)&)! #-! $'=! I*.#$(&-'+6! bS44! ).%$'5.'!

7'+*',$!+)(%'!%'-!.$#-.*%#-&'!%)!$%&$!&,'&'&'!*',$#-5!/)@$,)&!/$#'&!'+&$!7'+*,)=!E$.&,-!'!&$%&'!7'+*',$'!bS44!

.-!(-&$&)!@*+*%)!*($,'&*,)!',)&5$&)#)!/$!#*5(','&)$!#-5!',!@)!u6v!%'-!v[=!E$.&,-!'!/$5*.%&,'!'#$'%&'!($.&,-!

K7%=!).%)7'6!).#$,#'&)!-,5'&*',$'!#*5'./'B!

!

mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;

+----------+-----------+----------+----------+

| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |

+----------+-----------+----------+----------+

| NULL | NULL | NULL | NULL |

+----------+-----------+----------+----------+

!

U7)/$.&!.-!*9&).$&)!,$8-+&'&$!%'&)%@'#'&*',$!/).!'#$'%&'!#*5(','&)$=!e*+*%)&)!*($,'&*,))!T2!bS44!%)!

T2!bPL!bS44!).!+*#B!

!

mysql> SELECT 1 IS NULL, 1 IS NOT NULL;

+-----------+---------------+

| 1 IS NULL | 1 IS NOT NULL |

+-----------+---------------+

| 0 | 1 |

+-----------+---------------+

!

P9%$,7'&)! #'! ).!01%;+6! p! %'-!bS44! ).%$'5.'! @'+%! %)! *,)#$! '+&#$7'! ).%$5.'! '/$7','&=!X'+*',$'!

%&'./',/!($.&,-!'/$7',!/).&,C*!*($,'&)$!9**+$'.'!$%&$!O=!

! "#$%&! &,'&'5$.&! %($#)'+! '+! +-)! bS44! $%&$! 5*&)7-+! ($.&,-! ',$6! ).! %$#&)-.$'! (,$#$/$.&'6! '! @*%&!

.$#$%','!/$&$,5).',$'!'.)5'+$+*,!#$!.-!5')!%-.&!).!7)'&'!@*+*%)./!/$'&A!T2!bPL!bS44!).!+*#!/$!/$'&A!v[!

bS44=!

! K*-'!7'+*,)!bS44!%-.&!#*.%)/$,'&$!$:'+$!).&,C-.!qVPSE!gt=!

! "&-.#)! #'./! -&)+)8'&)! -.! qVPSE! gt6! 7'+*,)+$! bS44! %-.&! (,$8$.&'&$! (,)5$+$! #'./! -&)+)8'&)!

qVPSE!gt!w!"2I!%)!-+&)5$+$!/'#'!@*+*%)&)!qVPSE!gt!w!KU2I=!

Page 23: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! RN

! b*&'&)! #'! ).&,$! 01%;+! Y=p=R! <! Y=p=Op6! 7'+*,)+$! bS44! $,'-! %*,&'&$! ).#*,$#&6! $+$! @))./! (,)5$+$!

)./)@$,$.&!/$!/),$#&)'!/$!%*,&',$=!

!

! Cautare dupa caz (forma)

01%;+!'%):-,'!%&'9/',/!%;+!/-('!#'8!>@*,5'?!#'&!%)!*!@*,5'!/$!#'-&',$!/-('!#'8!9'8'&$!($!$D(,$%))!

%)5)+',$!#$+*,!@*+*%)&$!/$!#'&,$!-&)+)&'&)+$!SbTl!#-5!',!@)!7)6!:,$(!%)!%$/=!

! I'-&',$!/-('!#'8!%;+!7'!($,5)&$!%'!@*+*%)&)!`ka!($.&,-!'!'%*#)'!-.!%).:-,!#','#&$,!*',$#',$!%)!`xa!

($.&,-!'!'%*#)'!-.!.-5',!',9)&,',!/$!#','#&$,$!>).#+-%)7!#','#&$,$+$!p?=!

! T.!01%;+6!&)(-,)+$!%;+!%-.&!).%$.%)9)+$!+'!#'8!).!5*/-+!%&'./',/=!I'&$7'!$D$5(+$!%-.&!','&'&$!')#)=!

P9%$,7'&)! #'!K7%=! .-! @*+*%)&)! u! %'-! v[! '&-.#)! #'./! -&)+)8'&)! &)(-,)! %;+W! -&)+)8'&)! *($,'&*,))! /$! #*5(','&)$!

4TyU!%'-!bPL!4TyU!).!+*#=!

! E$.&,-!'!:'%)!.-5$!#',$!).#$(!#-!`9aB!

!

mysql> SELECT * FROM pet WHERE name LIKE "b%";

+--------+--------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+--------+--------+---------+------+------------+------------+

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

+--------+--------+---------+------+------------+------------+

!

E$.&,-!'!:'%)!.-5$!#$!%$!&$,5).'!#-!`@1aB!

!

mysql> SELECT * FROM pet WHERE name LIKE "%fy";

+--------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+--------+--------+---------+------+------------+-------+

| Fluffy | Harold | cat | f | 1993-02-04 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+--------+--------+---------+------+------------+-------+

!

E$.&,-!'!:'%)!.-5$!#$!#*.&).!+)&$,'!`naB!

!

mysql> SELECT * FROM pet WHERE name LIKE "%w%";

+----------+-------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+----------+-------+---------+------+------------+------------+

Page 24: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! RY

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |

+----------+-------+---------+------+------------+------------+

!

E$.&,-!'!:'%)!.-5$!#$!#*.&).!$D'#&!#).#)!#','#&$,$6!@*+*%)&)!#','#&$,-+!&)(!`kaB!

!

mysql> SELECT * FROM pet WHERE name LIKE "_____";

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

!

"+&$!&)(-,)!/$!#'-&',)!/-('!#'8!'%):-,'&$!/$!01%;+!@*+*%$%#!$D(,$%))!$D&).%$!>,$:-+'&$?=!"-.#)!#'./!&$%&'&)!

($.&,-! '#$%&! &)(! /$! #'8! *! '%*#)$,$6! @*+*%)&)! *($,'&*,))! VUqUlE! %*!bPL!VUqUlE! >%'-!V4TyU! %*!bPL!

V4TyU6!#',$!%-.&!%).*.)5)?=!

! S.$+$!#','#&$,)%&)#)!'+$!$D(,$%))+*,!$D&).%$!%-.&B!

" `=a!"%*#)'8'!-.!%).:-,!#','#&$,!*',$#',$=!

" P! #+'%'! /$! #','#&$,$! `zw{a! '%*#)'8'! *,)#$! #','#&$,! /).! ).&$,)*,-+! (','.&$8$+*,=! K$!

$D$5(+-6!`z'9#{a!'%*#)'8'!#','#&$,$+$!`'a6a9a!%'-!`#a=!E$.&,-!'!'%*#)'!-.!%),!/$!#','#&$,$6!

@*+*%)&)!%$5.-+!GCH!>/'%A?=!`z'C8{a!'%*#)'8'!*,)#$!+)&$,'!5)#'!6!)',!`zp==o{a!*,)#$!#)@,'=!

" `Qa! '%*#)'8'! 8$,*! %'-! 5')! 5-+&$! ).%&'.&$! '+$! +-#,-+-)#$+! (,$#$/'=! K$! $D$5(+-6! `DQa!

'%*#)'8'! *,)#$! .-5',! /$! `Da! #','#&$,$6! `zp==o{a! '%*#)'8'! *,)#$! .-5',! /$! #)@,$6! )',! `Qa!

'%*#)'8'!*,)#$!.-5',!/$!*,)#',$!@$+=!

" L)(-+!$%&$!'%*#)'&!/'#'!'(',$!*,)-./$!).!7'+*',$'!#',$!$%&$!&$%&'&'=!L)(-,)+$!%;+!'%*#)'8'!

/*',!/'#'!$+$!'%*#)'8'!).&$':'!7'+*',$=!

" E$.&,-! '! '.#*,'! -.! &)(! '%&@$+! ).#'&! %'! &$9-)'%#'! '%*#)'&! #-! ).#$(-&-+! %'-! @).'+-+! 7'+*,))!

&$%&'&$6!@*+*%)&)!`|a!+'!).#$(-&!%'-!`}a!+'!%@',%)&-+!&)(-+-)=!

E$.&,-! '! /$5*.%&,'! #-5! @-.#&)*.$'8'! $D(,$%))+$! $D&).%$6! #*5$.8)+$! 4TyU! ','&'&$! '.&$,)*,! %-.&!

,$%#,)%$!')#)!($.&,-!'!@*+*%)!VUqUlE=!

! E$.&,-!'!:'%)!.-5$!#$!).#$(!#-!`9a6!@*+*%)&)!`|a!($.&,-!'!'%*#)'!).#$(-&-+!.-5$+-)B!

! !

mysql> SELECT * FROM pet WHERE name REGEXP "^b";

+--------+--------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

Page 25: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! RZ

+--------+--------+---------+------+------------+------------+

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

+--------+--------+---------+------+------------+------------+

!

T.').&$!/$!01%;+!7$,%)-.$'!N=RN=Y6!VUqUlE!$%&$!%$.%)9)+!+'!#'86!%)!#*5'./'!/$!5')!).').&$!.-!7'!

).&*',#$!.)#)!-.!,'./=!E$.&,-!'!'%*#)'!'&'&!+)&$,$!5)#)!#'&!%)!5',)6!$D$5(+-!`9a6!@*+*%)&)!'#$'%&'!#*5'./'!).!

+*#B!

!

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

!

K$! +'!01%;+!N=RN=Y! ).#*+*6! ($.&,-!'! @*,&'!*!#*5(','&)$!VUqUlE!%'! @)$! %$.%)9)+'! +'! #'86! @*+*%)&)!

#-7'.&-+! #A$)$!gTb"Vt! ($.&,-! '! #*.7$,&)! -.! %),! ).&,C-.! %),! 9).',=! S,5'&*',$'! #*5'./'! 7'! '%*#)'! /*',!

+)&$,'!5)#'!`9a!+'!).#$(-&-+!-.-)!.-5$B!

!

mysql> SELECT * FROM pet WHERE name REGEXP BINARY "^b";

!

E$.&,-!'!:'%)!.-5$!#$!%$!&$,5).'!#-!`@1a6!@*+*%)&)!`}a!($.&,-!'!'%*#)'!@).'+-+!-.-)!.-5$B!

!

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";

+--------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+--------+--------+---------+------+------------+-------+

| Fluffy | Harold | cat | f | 1993-02-04 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+--------+--------+---------+------+------------+-------+

!

! E$.&,-!'!:'%)!.-5$!#$!#*.&).!+)&$,'!5)#'!%'-!5',$!`na6!@*+*%)&)!'#$%&'!#*5'./'B!

!

mysql> SELECT * FROM pet WHERE name REGEXP "w";

+----------+-------+---------+------+------------+------------+

| name | owner | species | sex | birth | death |

+----------+-------+---------+------+------------+------------+

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |

| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |

+----------+-------+---------+------+------------+------------+

!

Page 26: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! R^

K$*',$#$!*!$D(,$%)$!,$:-+','!&)(!'%*#)'8'!/'#'!$'!'(',$!*,)-./$!).!7'+*',$6!.-!$%&$!.$#$%',!#'!).!

#*5'./'! (,$#$/$.&'! %'! @)$! ).&,*/-%)! %($#)@)#'&*,)! /$! .)#)! *! (',&$! '! &)(-+-)! ($.&,-! '! *9&).$! *! '%*#)$,$! #-!

).&,$':'!7'+*',$!'%'!#-5!',!@)!@*%&!/'#'!'&)!@)!@*+*%)&!-.!&)(!%;+=!

! E$.&,-!'!:'%)!-.!.-5$!#$!#*.&).$!$D'#&!#).#)!#','#&$,$6!@*+*%)&)!`|a!%)!`}a!#'!%'!'%*#)'&)!).#$(-&-+!%)!

%@',%)&-+!.-5$+-)6!#)!#).#)!).%&'.&$!/$!`=a!).&,$B!

!

mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

!

! "&)!(-&$'!/$'%$5$.$'!%#,)$!#*5'./'!'.&$,)*','!@*+*%)./!`~.�a6!*($,'&*,-+!G,$($&'&C.C*,)H=!

!

mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen | cat | m | 1994-03-17 | NULL |

| Buffy | Harold | dog | f | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

!

Numararea randurilor

g'8$+$!/$!/'&$!%-.&!'/$%$'!@*+*%)&$!($.&,-'!,'%(-./$!).&,$9',))B!GI'&!/$!/$%!'(',$!-.!'.-5)&!&)(!/$!

/'&'! ).&,C-.! &'9$+cH! K$! $D$5(+-6! /'#'! /*,)&)! %'! '@+'&)! #'&$! '.)5'+$! '7$&)6! %'-! #'&$! '.)5'+$! ',$! @)$#',$!

(,*(,)$&',6!%'-!(*'&$!/*,)&)!%'!$@$#&-'&)!/)@$,)&$!&)(-,)!/$!,$#$.%'5'.&!+'!'.)5'+$+$!K7%=!

! I'+#-+',$'! .-5',-+-)! &*&'+! /$! '.)5'+$! ($! #',$! +$! '7$&)! $%&$! '#$+'%)! +-#,-! #'! %)! #-5! '&)! ).&,$9'B!

GI'&$!,'./-,)!%-.&!).&,C-.!&'9$+!/$!'.)5'+$cH!/$*',$#$!$D)%&'!*!%).:-,'!).,$:)%&,',$!($.&,-!@)$#',$!'.)5'+=!

e-.#&)'!IPSbL>?! .-5','! .-5',-+! /$! ,$8-+&'&$! #',$! .-! %-.&!bS446! '%&@$+! ).#'&! #*5'./'! /$! '! .-5','!

'.)5'+$+$!K7%=!X'!','&'!/-('!#-5!-,5$'8'B!

!

mysql> SELECT COUNT(*) FROM pet;

+----------+

| COUNT(*) |

+----------+

Page 27: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Rf

| 9 |

+----------+

!

0')!/$7,$5$!'&)!*9&).-&!.-5$+$!($,%*'.$+*,!#$!/$&).!'.)5'+$=!E-&$&)!@*+*%)!IPSbL>?!/'#'!/*,)&)!

%'!'@+'&)!#'&$!'.)5'+$!',$!@)$#',$!(,*(,)$&',!).!(',&$B!

!

mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;

+--------+----------+

| owner | COUNT(*) |

+--------+----------+

| Benny | 2 |

| Diane | 2 |

| Gwen | 3 |

| Harold | 2 |

+--------+----------+

!

P9%$,7'&)!#-5!$%&$!-&)+)8'&!qVPSE!gt!($.&,-!'!:,-('!+'!-.!+*#!&*'&$!).,$:)%&,',)+$!($.&,-!@)$#',$!

(,*(,)$&',=!e','!$+!'&)!*9&).$!/*',!-.!5$%'M!/$!$,*',$B!

!

mysql> SELECT owner, COUNT(owner) FROM pet;

ERROR 1140 at line 1: Mixing of GROUP columns (MIN(),MAX(),COUNT()...)

with no GROUP columns is illegal if there is no GROUP BY clause

!

IPSbL>?! %)! qVPSE! gt! %-.&! @*+*%)&*',$! ($.&,-! '! 7'! #','#&$,)8'! /'&$+$! ).! /)@$,)&$! 5*/-,)=!

S,5'&*',$+$!$D$5(+$!','&'!/)@$,)&$!#')!/$!'!$@$#&-'!*($,'&))!/$!,$#$.%'5'.&!+'!'.)5'+$+$!K7%=!

! b-5',-+!/$!'.)5'+$!).!@-.#&)$/$!%($#)$B!

!

mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;

+---------+----------+

| species | COUNT(*) |

+---------+----------+

| bird | 2 |

| cat | 2 |

| dog | 3 |

| hamster | 1 |

| snake | 1 |

+---------+----------+

!

Page 28: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Rj

! b-5',-+!/$!'.)5'+$!).!@-.#&)$!/$!%$DB!

!

mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;

+------+----------+

| sex | COUNT(*) |

+------+----------+

| NULL | 1 |

| f | 4 |

| m | 4 |

+------+----------+

!

>4'!'#$%&!,$8-+&'&6!bS44!)./)#'!%$D!.$#-.*%#-&=?!

! b-5',-+!/$!'.)5'+$!).!#*59).'&)$!/$!%($#)$!%)!%$DB!

!

mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;

+---------+------+----------+

| species | sex | COUNT(*) |

+---------+------+----------+

| bird | NULL | 1 |

| bird | f | 1 |

| cat | f | 1 |

| cat | m | 1 |

| dog | f | 1 |

| dog | m | 2 |

| hamster | f | 1 |

| snake | m | 1 |

+---------+------+----------+

!

b-!$%&$!.$7*)$! %'! $D&,':$&)! ).&,$:-+! &'9$+! '&-.#)! #'./! @*+*%)&)!IPSbL>?=!K$! $D$5(+-6!#*5'./'!

'.&$,)*','6!#'./!$%&$!$@$#&-'&'!($!#').)!%)!()%)#)6!','&'!'%&@$+B!

!

mysql> SELECT species, sex, COUNT(*) FROM pet

-> WHERE species = "dog" OR species = "cat"

-> GROUP BY species, sex;

+---------+------+----------+

| species | sex | COUNT(*) |

+---------+------+----------+

| cat | f | 1 |

Page 29: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Ro

| cat | m | 1 |

| dog | f | 1 |

| dog | m | 2 |

+---------+------+----------+

!

! 2'-6!/'#'!/*,)&)!/*',!.-5',-+!/$!'.)5'+$!#-!%$D-+!#-.*%#-&B!

!

mysql> SELECT species, sex, COUNT(*) FROM pet

-> WHERE sex IS NOT NULL

-> GROUP BY species, sex;

+---------+------+----------+

| species | sex | COUNT(*) |

+---------+------+----------+

| bird | f | 1 |

| cat | f | 1 |

| cat | m | 1 |

| dog | f | 1 |

| dog | m | 2 |

| hamster | f | 1 |

| snake | m | 1 |

+---------+------+----------+

!

3.3.4.9 Folosirea mai multor tabele

!

! L'9$+-+!G(#&H!7'!&).$!$7)/$.&'!'.)5'+$+*,!/$!#*5('.)$!($!#',$!+$!'7$&)=!K'#'!7,$&)!%'!).,$:)%&,'&)!%)!

'+&$! `).@*,5'&))a! /$%(,$! $+$6! $7$.)5$.&$! )5(*,&'.&$! (,$#-5! .'%&$,$'! (-)+*,! %'-! 7)8)&$+$! +'! 7$&$,).',6! 7$&)!

'7$'!.$7*)$!/$!-.!'+&!&'9$+=!

! I-5!',!&,$9-)!%'!','&$c!",!&,$9-)!%'!).#+-/'B!

" b-5$+$!'.)5'+-+-)!%(,$!'!%&)!-./$!(+'%'&)!$7$.)5$.&-+=!

" K'&'6!%(,$!'!%&)!#'./!%C'!($&,$#-&=!

" S.!('%'M!C!#'5(!).!#',$!%'C+!/$%#,)$&)=!

" S.!#'5(!($!&)(-,)!/$!$7$.)5$.&$6!%(,$!'!+$!*,/*.'=!

! L*'&$! '#$%&$'! @))./!*(-%$6! *(&)-.$'!IVU"LU!L"g4U!($.&,-! &'9$+-+! $7$.)5$.&$+*,! ',! &,$9-)! %'!

','&$!#'!'%'B!

mysql> CREATE TABLE event (name VARCHAR(20), date DATE,

-> type VARCHAR(15), remark VARCHAR(255));

!

Page 30: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Np

K'&!@))./!&'9$+-+!).)&)'+!G($&H!7'!@)!5')!-%*,!%'!).&,*/-#$&)!/'&$+$!).)&)'+$!).!#$+!/$C'+!/*)+$'!#,$')./!

-.!&$D&!'!#',-)!/'&$!7*,!@)!/$+)5)&'&$!(,).!#'&$!-.!&'9B!!

!

name date type remark

Fluffy 1995-05-15 litter 4 kittens, 3 female, 1 male

Buffy 1993-06-23 litter 5 puppies, 2 female, 3 male

Buffy 1994-06-19 litter 3 puppies, 3 female

Chirpy 1999-03-21 vet ciocul indreptat

Slim 1997-08-03 vet coasta rupta

Bowser 1991-10-12 kennel

Fang 1991-10-12 kennel

Fang 1998-08-28 birthday o noua jucarie de plastic

Claws 1998-03-17 birthday o noua zgarda

Whistler 1998-12-09 birthday zi de nastere

!

T.#',#'&)!).,$:)%&,',)+$!'%&@$+B!

!

mysql> LOAD DATA LOCAL INFILE "event.txt" INTO TABLE event;

!

P,)$.&'./-C7'! /-('! #-.*%&).&$+$! '#-5-+'&$! +'! &'9$+-+! '.&$,)*,! 7$&)! ,$-%)! %'! $@$#&-'&)! /)7$,%$!

*($,'&)-.)!%)!5*/)@)#',)!).!&'9$+-+!$7$.)5$.&$+*,=!E,).#)())+$!%-.&!'#$+$'%)=!

! K',!).!#'8-+!).!#',$!/'&$+$!).&,*/-%$!%-.&!).%-@)#)$.&$!($.&,-!'!,'%(-./$!'.-5)&*,!).&,$9',)6!#$!',!

&,$9-)!%'!@'#$&)c!

! 2'! (,$%-(-.$56! #$! 7',%&'! '7$'! @)$#',$! '.)5'+! ).!5*5$.&-+! ).! #',$! '! '7-&! .*-C.'%#-&)! L'9$+-+!

$7$.)5$.&$+*,! )./)#'! /'&$+$! ).! #',$! '#$%&! +-#,-! %'! ($&,$#-&6! /',! ($.&,-! '! #'+#-+'! 7',%&'! G5'5$)H6! '7$&)6!

.$7*)$!%)!/$!/'&'!/$!.'%&$,$=!

! E$.&,-!#'!'#$'%&'!$!%&*#'&'!).!&'9$+-+!G($&H!'7$&)!.$7*)$!/$!'59$+$!&'9$+$!).!'#$+'%)!&)5(6!($.&,-!

-,5'&*',$'!#*5'./'B!

!

mysql> SELECT pet.name,

-> (TO_DAYS(date) - TO_DAYS(birth))/365 AS age,

-> remark

-> FROM pet, event

-> WHERE pet.name = event.name AND type = "litter";.178 MySQL Technical

Reference for Version 4.1.0-alpha

+--------+------+-----------------------------+

| name | age | remark |

+--------+------+-----------------------------+

Page 31: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! NO

| Fluffy | 2.27 | 4 kittens, 3 female, 1 male |

| Buffy | 4.12 | 5 puppies, 2 female, 3 male |

| Buffy | 5.10 | 3 puppies, 3 female |

+--------+------+-----------------------------+

!

L,$9-)$!%-9+).)'&$!#'&$7'!+-#,-,)!).!+$:'&-,'!#-!'#$'%&'!#*5'./'B!

" I+'-8'!eVP0!,-+$'8'!'59$+$!&'9$+$!($.&,-!#'!#$,$,$'!7'!$D&,':$!/'&$!/).!'5'./*-'W!

" I'./! %-.&! #*59).'&$! ).! @*,5'&))! /).!5')!5-+&$! &'9$+$6! &,$9-)$! %($#)@)#'&!5*/-+! ).! #',$!

).,$:)%&,',)+$!/).&,C-.-+!(*&! @)! #-(+'&$! #-! #$+$!/).! '+! /*)+$'=!"#$%&! +-#,-! ',! &,$9-)! %'! @)$!

-%*,!6!($.&,-!#'!6!.-C)!'%'6!'59$+$!&'9$+$!(*%$/'!*!#*+*'.'!'!.-5$+-)=!2)!).!#'8-+!.*%&,-6!

%$!7*,!#-(+'!/'&$+$!/).!/*-'!&'9$+$!($!9'8'!7'+*,)+*,!.-5$+-)6!(,).!#'+-8'!ihUVU=!

" L*#5')! ($.&,-! #'! #*+*'.'! .-5$+-)! %$! '@+'! ).! '59$+$! &'9$+$6! #'./! *! @*+*%)&)! &,$9-)$! %'!

%($#)@)#'&)!&'9$+-+=!

! b-!).&*&/$'-.'!'7$&)!.$7*)$!/$!/*-'!&'9$+$!/)@$,)&$!($.&,-!'!@'#$!#*59).',)=!P,)#$!&'9$+!(*'&$!@)!

#*59).'&!#-!$+!).%-%)=!

! K$! $D$5(+-6! ($.&,-! '! :'%)! (*%)9)+$! ($,$#A)! (,).&,$! '.)5'+$+$! /-5.$'7*'%&,'! (-&$&)! #*59).'!

*,)$.&'&)7!@$5$+$+$!%)!5'%#-+))!).%#,)%)!).!'#$+'%)!&'9$+6!/$!$D$5(+-!/-('!%($#)$B!

!

mysql> SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species

-> FROM pet AS p1, pet AS p2

-> WHERE p1.species = p2.species AND p1.sex = "f" AND p2.sex = "m";

+--------+------+--------+------+---------+

| name | sex | name | sex | species |

+--------+------+--------+------+---------+

| Fluffy | f | Claws | m | cat |

| Buffy | f | Fang | m | dog |

| Buffy | f | Bowser | m | dog |

+--------+------+--------+------+---------+

!

3.4 Obtinerea informatiilor despre bazele de date si tabele

! I$!@'#$&)!/'#'!-)&'&)!.-5$+$!-.$)!9'8$!/$!/'&$!%'-!-.-)!&'9$+6!%'-!#',$!$!%&,-#&-,'!'#$%&-)'c!

! 01234! ,$8*+7'! '#$'%&'! (,*9+$5'! (,).! #'&$7'! &)(-,)! /$! #*5$.8)! '7'./! /,$(&! %#*(! *9&).$,$'!

).@*,5'&))+*,!/$%(,$!9'8'!%)!&'9$+$+$!#*5(*.$.&$=!

! XC'&)!@'5)+)',)8'&!/$M'!#-!2hPi!K"L"g"2U26!#',$!!%).&!9'8$+$!/$!/'&$!5'.)(-+'&$!($!%$,7$,=!

! E$.&,-!'!'@+'!#$!9'8'!/$!/'&$!,-+$'8'!).&,C-.!'.-5$!5*5$.&6!*(&'&)!($.&,-!@-.#&)'!K"L"g"2U>?B!

!

Page 32: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! NR

mysql> SELECT DATABASE();

+------------+

| DATABASE() |

+------------+

| menagerie |

+------------+

!

! K'#'!.C'&)!%$+$#&'&!.)#)!*!9'8'!/$!/'&$!).#'6!,$8-+&'&-+!7'!@)!.-+=!

! E$.&,-!'!'@+'!#$!&'9$+$!#*.&).$!9'8'!/$!/'&$!%$+$#&'&'!@*+*%)&)!#*5'./'B!

!

mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

| event |

| pet |

+---------------------+

! !

K'#'! 7,$&)! ).@*,5'&))! /$%(,$! %&,-#&-,'! &'9$+-+-)6! $! '9%*+-&! .$#$%','! #*5'./'!KU2IVTgU6! 7'! 7'!

@-,.)8'!).@*,5'&))!/$!%(,$!@)$#',$!/).&,$!#*+*'.$+$!&'9$+-+-)B!

!

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name | varchar(20) | YES | | NULL | |

| owner | varchar(20) | YES | | NULL | |

| species | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| birth | date | YES | | NULL | |

| death | date | YES | | NULL | |

+---------+-------------+------+-----+---------+-------+

!

! e)$+/!C!)./)#'!.-5$+$!#*+*'.$)W!L1($!C!&)(-+!/'&$+*,W!

! b-++! C! /'#'! #*+*'.'! ).#+-/$! %)! 7'+*,)! .-+$6!y$1! C! /'#'! #*+*'.'! $%&$! )./$D'&'! %)!K$@'-+&! 7'+*,)+$!

(,$%&'9)+)&$!).!%)%&$5-+!/$!*($,',$=!

! K'#'!$D)%&'!)./)#)!).!&'9$+6!2hPi!TbKUl!eVP0!&9+C.'5$!7'!(,*#-,'!).@*,5'&))!/$%(,$!$+$=!

!

Page 33: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! NN

! 3.5 Exemple de comenzi

!

! T'&'!#'&$7'!$D$5(+$!/$%(,$!#-5!(-&$&)!,$8*+7'!#'&$7'!(,*9+$5$!#-,$.&$!(,).!01234=!

! I'&$7'! /).&,$! $D$5(+$! @*+*%$%#! &'9$+-+! %A*(! ($.&,-! '! ).,$:)%&,'! (,$&-+! @)$#',-)! ',&)#*+! >)&$5?! ).!

#'8-+!'.-5)&*,!#*5$,#)'.&!>/$'+$,%?=!2'!(,$%-(-.$5!#'!@)$#',$!#*5$,#)'.&!',$!#'&$!-.!%).:-,!(,$&!@)D!($.&,-!

@)$#',$!(,*/-%=!"&-.#)!7*5!#*.%)/$,'!!#'!>',&)#+$6!/$'+$,%?!$%&$!#A$)$!(,)5','!($.&,-!).,$:)%&,',)B!

! 4'.%'&)!+).)'!/$!#*5'./'!51%;+!%)!%$+$#&'&)!*!9'8'!/$!/'&$B!

! E-&$&)!#,$'!-.!&'9$+!$D$5(+-!'%&@$+B!

!

CREATE TABLE shop (

article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,

dealer CHAR(20) DEFAULT '' NOT NULL,

price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,

PRIMARY KEY(article, dealer));

INSERT INTO shop VALUES

(1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69),

(3,'D',1.25),(4,'D',19.95);

!

! "#-5!&*&-+!$%&$!Py=!g'8'!$D$5(+$!','&'!'%&@$+B!

!

mysql> SELECT * FROM shop;

+---------+--------+-------+

| article | dealer | price |

+---------+--------+-------+

| 0001 | A | 3.45 |

| 0001 | B | 3.99 |

| 0002 | A | 10.99 |

| 0003 | B | 1.45 |

| 0003 | C | 1.69 |

| 0003 | D | 1.25 |

| 0004 | D | 19.95 |

+---------+--------+-------+

!

Page 34: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! NY

3.5.1 Valoarea maxima pentru o coloana

! GI',$!$%&$!#$+!5')!5',$!.-5',cH!

!

SELECT MAX(article) AS article FROM shop

+---------+

| article |

+---------+

| 4 |

+---------+

!

3.5.2. Linia continand maxima unei anume coloane.

!

Gq'%)&)!.-5',-+6!/$'+$,-+6!%)!(,$&-+!#$+-)!5')!%#-5(!',&)#*+=H!

! T.!234!C!oo!>%)!51;%+!7$,%=!YO?!%$!,$8*+7'!,$($/$!(,).&,C*!%-9#*5'./'B!

!

SELECT article, dealer, price

FROM shop

WHERE price=(SELECT MAX(price) FROM shop)

!

T.!7$,%)-.$'!01234!/$!('.'!+'!Y=O!7$&)!*9&).$!,$8-+&'&-+!).!R!$&'($B!

O= P9&).$&)!7'+*',$'!5'D)5'!'!!(,$&-+-)!#-!2U4UIL=!

R= e*+*%)./!7'+*',$'!,$8-+&'&'!*!).#+-/$&)!).B!

!

SELECT article, dealer, price

FROM shop

WHERE price=19.95

!

! P! '+&'! (*%)9)+'! %*+-&)$! #*.%&'! ).! %*,&',$'! &-&-,*,! ,'./-,)+*,! >+).))+*,?! /$%#,$%#'&*,! /-('! 7'+*',$'!

(,$&-+-)!%)!%$+$#&'&)!/*',!(,)5'!@*+*%)./!#+'-8'!4T0TLB!

!

SELECT article, dealer, price

FROM shop

ORDER BY price DESC

LIMIT 1

!

! bPL"B!K'#'!$D)%&'!5')!5-+&$!7'+*,)!5'D)5$!>'#$+'%)!(,$&?!(,*:,'5-+!7'!)./)#'!/*',!-.'!/).&,$!

$+$=!

! !

Page 35: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! NZ

3.5.3 Maxima coloanei per grup

!

! GI',$!$%&$!7'+*',$'!5'D)5'!'!(,$&-+-)!/-('!',&)#*+cH!

!

SELECT article, MAX(price) AS price

FROM shop

GROUP BY article

+---------+-------+

| article | price |

+---------+-------+

| 0001 | 3.99 |

| 0002 | 10.99 |

| 0003 | 1.69 |

| 0004 | 19.95 |

+---------+-------+

!

3.5.4 Un rand cu un camp care cauta automat maxinmul dintr-un grup anume

GE$&,-!@)$#',$!',&)#*+6!:'%)&)!/)%&,)9-)&*,-+!#-!(,$&-+!#$+!5')!,)/)#'&=H!

!

SELECT article, dealer, price

FROM shop s1

WHERE price=(SELECT MAX(s2.price)

FROM shop s2

WHERE s1.article = s2.article);

!

T.!7$,%)-.$'!01234!/).').&$'!+-)!Y=O!$%&$!9).$!%'!-,5'&)!#)&)7'!('%)B!

O= P9&).$&)!+)%&$+$!>(,$&!5'D!s!',&)#*+?=!

R= E$.&,-!*,)#',$!',&)#*+!(,$+-'&)!+).)'!#*,$%(-.8'&*',$!#',$!',$!%&*#'&'!(,$&-+!5'D)5=!

! E-&$&)!@'#$!'%&'!%)5(+-!#-!-.!&'9$+!!(,*7)8*,)-B!

!

CREATE TEMPORARY TABLE tmp (

article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,

price DOUBLE(16,2) DEFAULT '0.00' NOT NULL);

LOCK TABLES shop read;

INSERT INTO tmp SELECT article, MAX(price) FROM shop GROUP BY article;

SELECT shop.article, dealer, shop.price FROM shop, tmp

WHERE shop.article=tmp.article AND shop.price=tmp.price.

Page 36: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! N^

UNLOCK TABLES;

DROP TABLE tmp;

!

K'#'!.-!@*+*%)&)!-.!&'9$+!LU0EPV"Vt6!&,$9-)$!%'!9+*#'&)!&'9$+-+!`&5(a=!

! GE*'&$!@)!,$'+)8'&!#-!*!%).:-,'!#*5'./'cH!

! K'6!/',!/*',!@*+*%)./!-.!&,-#!$@)#)$.&!($!#',$!TC+!.-5$%#!&,-#-+!G0"lCIPbI"LHB!

!

SELECT article,

SUBSTRING( MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 7) AS dealer,

0.00+LEFT( MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 6) AS price

FROM shop

GROUP BY article;

+---------+--------+-------+

| article | dealer | price |

+---------+--------+-------+

| 0001 | B | 3.99 |

| 0002 | A | 10.99 |

| 0003 | C | 1.69 |

| 0004 | D | 19.95 |

+---------+--------+-------+

!

! S+&)5-+!$D$5(+-!(*'&$!@)6!/%):-,6!@'#-&6!).#'!%)!5')!$@)#)$.&!(,).!/)7)8',$'!#*+*'.$)!).!#+)$.&=!

3.5.5 Folosirea variabilelor utilizatorului!

!

! E-&$&)! @*+*%)! ! 7',)'9)+$+$! 01234! %(,$! '! 7'! ,$'5).&)! ,$8-+&'&$+$! @','! '! &,$9-)! %'! +$! %&*#'&)! ).!

7',)'9)+$!&$5(*,',$!).!#+)$.&=!

! K$!$D$5(+-6!($.&,-!'!:'%)!',&)#*+$+$!#-!#$+!5')!5',$!%'-!#$+!5')!5)#!(,$&!(-&$&)!@'#$!'%&@$+B!

!

mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;

mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;

+---------+--------+-------+

| article | dealer | price |

+---------+--------+-------+

| 0003 | D | 1.25 |

| 0004 | D | 19.95 |

+---------+--------+-------+

Page 37: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Nf

3.5.6 Folosirea cheilor straine

!

! T.!#'8-+!01234!N=RN=YY!%)!5')!/$(',&$6!&'9$+$+$!T..Kg!%-(*,&'!7$,)@)#',$'!#*.&,'.:$,)+*,!#A$)+*,!

%&,').$=!K$!@'(&!.-!'7$&)!.$7*)$!/$!#A$)!%&,').$!($.&,-!'!-.)!/*-'!&'9$+$=!2).:-,-+!+-#,-!($!#',$!01234!.-!

)+!@'#$!).!5*/!#-,$.&!>).!'+&$!&)(-,)!/$!&'9$+$!).'@','!/$!T..*Kg?6!$%&$!'#$+'!/$!'!7$,)@)#'6!GIhUIyH6!/'#'!

#A$)+$!($!#',$! +$!@*+*%)&)!$D)%&'! ).! &'9$+!%)!.-!%&$,:$!'-&*5'&!,'./-,)!/).! &'9$+!#-!#A$)!%&,').$!(,$/$@).)&$=!

K'#'!@*+*%)&)!#A$)+$!K7%=!).!5*/!.*,5'+!'&-.#)!&*&-+!7'!@-.&)*.'!($,@$#&B!

!

CREATE TABLE person (

id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

name CHAR(60) NOT NULL,

PRIMARY KEY (id)

);

CREATE TABLE shirt (

id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

style ENUM('t-shirt', 'polo', 'dress') NOT NULL,

color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,

owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),

PRIMARY KEY (id)

);

INSERT INTO person VALUES (NULL, 'Antonio Paz');

INSERT INTO shirt VALUES

(NULL, 'polo', 'blue', LAST_INSERT_ID()),

(NULL, 'dress', 'white', LAST_INSERT_ID()),

(NULL, 't-shirt', 'blue', LAST_INSERT_ID());

INSERT INTO person VALUES (NULL, 'Lilliana Angelovska');

INSERT INTO shirt VALUES

(NULL, 'dress', 'orange', LAST_INSERT_ID()),

(NULL, 'polo', 'red', LAST_INSERT_ID()),

(NULL, 'dress', 'blue', LAST_INSERT_ID()),

(NULL, 't-shirt', 'white', LAST_INSERT_ID());

SELECT * FROM person;

+----+---------------------+

| id | name |

+----+---------------------+

| 1 | Antonio Paz |

| 2 | Lilliana Angelovska |

+----+---------------------+

Page 38: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Nj

SELECT * FROM shirt;

+----+---------+--------+-------+

| id | style | color | owner |

+----+---------+--------+-------+

| 1 | polo | blue | 1 |

| 2 | dress | white | 1 |

| 3 | t-shirt | blue | 1 |

| 4 | dress | orange | 2 |

| 5 | polo | red | 2 |

| 6 | dress | blue | 2 |

| 7 | t-shirt | white | 2 |

+----+---------+--------+-------+

SELECT s.* FROM person p, shirt s

WHERE p.name LIKE 'Lilliana%'

AND s.owner = p.id

AND s.color <> 'white';

+----+-------+--------+-------+

| id | style | color | owner |

+----+-------+--------+-------+

| 4 | dress | orange | 2 |

| 5 | polo | red | 2 |

| 6 | dress | blue | 2 |

+----+-------+--------+-------+

!

N=Z=f!I'-&',$'!/-('!/*-'!#A$)!

!

01234! .-! $%&$! ).#'! *(&)5)8'&! ($.&,-! #'-&',$'! /-('! /*-'! #A$)! #*59).'&$! ).! @-.#&)$! /$! PV!

>#'-&',$'!/-('!*!%).:-,'!#A$)$!#-!/)@$,)&$!(',&)!PV!$%&$!).!%#A)59!@-.&)*.'+'?B!

!

SELECT field1_index, field2_index FROM test_table WHERE field1_index =

'1' OR field2_index = '1'

!

UD(+)#'&)'!',!@)!'#$$'!#'!.-!'5!'7-&!).#'!&)5(!).#'!&)5(!%'!(-.$5!+'!(-.#&!*!#'+$!!

(+'-8)9)+'!($.&,-!'!,$'+)8'!'#$%&!+-#,-!>7',)'.&'!"bK!).!%#A)59!'!@*%&!@).'+)8'&'!%)!@-.&)*.$'8'!$D#$+$.&?=!

! E$.&,-!5*5$.&!(-&$&)!,$8*+7'!(,*9+$5$+$!/$!'#$%&!&)(!@*+*%)./!-.!&'9$+!LU0EPV"Vt=!"#$%&!:$.!

/$!*(&)5)8',$!$%&$!(,$@$,'9)+'!%)!).!#'8-+!).!#',$!'&)!@*+*%)&!#*5$.8)!#*5(+)#'&$!-./$!%$,7$,-+!234!'!,$-%)&!

*(&)5)8',)+$!/',!.-!).!*,/).$'!+*,!).)&)'+'=!

!

Page 39: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! No

CREATE TEMPORARY TABLE tmp

SELECT field1_index, field2_index FROM test_table WHERE field1_index =

'1';

INSERT INTO tmp

SELECT field1_index, field2_index FROM test_table WHERE field2_index =

'1';

SELECT * from tmp;

DROP TABLE tmp;

!

! S,5'&*,-+! 5)M+*#! (,).! #',$! (-&$&)! ,$8*+7'! (,*9+$5$! %)5)+',$! $%&$! /$! @'(&! *! ,$-.)-.$! '! /*-'!

#*5$.8)=!

!

3.5.8 Numerotarea accesarilor zilnice

! !

! T.! #$+$! #$! -,5$'8'! %$! #,$)*.$'8'! /$%(,$! #-5! (-&$&)! @*+*%)! :,-(-+! (,).#)('+! /$! @-.#&))! ($.&,-! '!

#'+#-+'!@,$#7$.&'!8)+$+*,!/).!+-.'!).!#',$!-.!-&)+)8'&*,!'##$%$'8'!*!(':).'!i$9B!

!

!

CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,

day INT(2) UNSIGNED ZEROFILL);

INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),

(2000,2,23),(2000,2,23);.Chapter 3: Tutorial Introduction 185

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1

GROUP BY year,month;

!

I',$!).&*',#$B!

!

+------+-------+------+

| year | month | days |

+------+-------+------+

| 2000 | 01 | 3 |

| 2000 | 02 | 2 |

+------+-------+------+

!

N=Z=o!e*+*%),$'!"SLPkTbIVU0UbL!

!

"&,)9-&-+!"SLPkTbIVU0UbL!(*'&$!@)!@*+*%)&!($.&,-!'!:$.$,'!*!)/$.&)&'&$!-.)#'!.*)+*,!+).))B!

Page 40: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Yp

CREATE TABLE animals (

id MEDIUMINT NOT NULL AUTO_INCREMENT,

name CHAR(30) NOT NULL,

PRIMARY KEY (id)

);

INSERT INTO animals (name) VALUES ("dog"),("cat"),("penguin"),

("lax"),("whale");

SELECT * FROM animals;

!

I$!).&*',#$B!

!

+----+---------+

| id | name |

+----+---------+

| 1 | dog |

| 2 | cat |

| 3 | penguin |

| 4 | lax |

| 5 | whale |

+----+---------+

!

E-&$&)!,$#-($,'!#A$)'!"SLPkTbIVU0UbL!($!#',$!'&)!@*+*%)&C*!(,).!@-.#&)'!4"2LkTb2UVLkTK>?!

234!%'-!(,).!@-.#&)'!51%;+k).%$,&k)/>?!"ET=!b*&'B!($.&,-!).%$,',$'!5-+&)(+'!>5')!5-+&!/$!/*-'!+).))!@-.#&)'!

4"2LkTb2UVLkTK>?s51%;+k).%$,&k)/>?! 7'! ,$#-($,'! #A$)'! '-&*).#,$5$.&! /).! (,)5'! +).)$! ).%$,'&'=! "#$%&!

+-#,-!7'!($,5)&$!).%$,',)+*,!5-+&)(+$!%'!@)$!,$(,*/-%$!%)!($!'+&$!%$,7$,$=!

E$.&,-!01T2"0!%)!Kg!(-&$&)!%($#)@)#'!"SLPkTbIVU0UbL!($!#*+*'.'!%$#-./','!(,).&,C*!#A$)$!

($!5')!5-+&$!#A$)=!!

T.! '#$%&! #'8! 7'+*',$'! :$.$,'&'! ($.&,-! '-&*! ).#,$5$.&',$'! #*+*'.$)! $%&$! #'+#-+'&'! #'!

0"l>'-&*k).#,$5$.&k#*+-5.?�O?!ihUVU!(,$@)Du:)7$.C(,$@)D=!"#$%&!#'+#-+!7',!(-&$'!@)!/$!@*+*%!).!#'8!

.#'!/*,)&)!).&,*/-#$,$'!-.*,!/'&$!).!:,-(-,)!(,$%&'9)+)&$B!

!

CREATE TABLE animals (

grp ENUM('fish','mammal','bird') NOT NULL,

id MEDIUMINT NOT NULL AUTO_INCREMENT,

name CHAR(30) NOT NULL,

PRIMARY KEY (grp,id)

);

INSERT INTO animals (grp,name) VALUES("mammal","dog"),("mammal","cat"),

Page 41: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! YO

("bird","penguin"),("fish","lax"),("mammal","whale");

SELECT * FROM animals ORDER BY grp,id;

+--------+----+---------+

| grp | id | name |

+--------+----+---------+

| fish | 1 | lax |

| mammal | 1 | dog |

| mammal | 2 | cat |

| mammal | 3 | whale |

| bird | 1 | penguin |

+--------+----+---------+

!

! P9%$,7'&)!#'!).!'#$%&!#'8!7'+*',$'!"SLPkTbIVU0UbL!7'!@)!,$'#&)7'&'!/'#'!,$.-.&'&)!+'!+).)'!#-!

7'+*',$'!5'D)5'!"SLPkTbIVU0UbL!/).!:,-(=!

!

3.6 Folosirea MySQL in Batch mode (grupat)

!

T.! %$#&)-.)+$! '.&$,)*',$! '&)! @*+*%)&! (,*:,'5-+!01234! ).&$,'#&)7!($.&,-! '! ).&,*/-#$! #*5$.8)! %)! '!

7)8-'+)8'!,$8-+&'&$+$=!!

E-&$&)!/$'%$5$.$'!,-+'!01234!).!9'&#A!5*/$=!E$.&,-!'!@'#$!'%&'!&,$9-)$!%'!!

).&,*/-#$&)!#*5$.8)+$!($!#',$!+$!/*,)&)!).&,C-.!@)%)$,6!%)!#*5'./'&)!(,*:,'5-+-)!%'!+$!#)&$'%#'=!

!

shell> mysql < batch-file

!

! K'#'! ,-+'&)! 01234C-+! @*+*%)./! @$,$%&,$+$! %)! '7$&)! #'&$7'! #','#&$,$! %($#)'+$! ).! @)%)$,6! #',$! 7'!

#'-8$'8'!(,*9+$5$!(-&$&)!&'%&'B!

!

dos> mysql -e "source batch-file"

!

! K'#'!&,$9-)$!%'!%($@)#'&)!(','5$&,)!/$!#*.$#&',$!+'!+).)'!/$!#*5'./'6!'#$'%&'!/).!-,5'!',!&,$9-)!%'!

','&$!#'5!'%'B!

!

shell> mysql -h host -u user -p < batch-file

Enter password: ********

!

! I'./! @*+*%)&)!01234C-+! %-9!'#$'%&'!@*,5'!#,$'&)!-.! @)%)$,! /*#-5$.&!%)! @).'+)8'&)!-+&$,)*,! &$D&-+6!

/'#'!7,$&)!#'!'#$%&'!%'!#*.&).-$!#A)',!/'#'!$D)%&'!$,*,)!&,$9-)$!%'!@*+*%)&)!*(&)-.$'!+).)$!/$!#*5'./'!CC@*,#$!

Page 42: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! YR

! K$!#$!%'!@*+*%)&)!-.!@)%)$,!&$D&c!T'&'!#'&$7'!5*&)7$=!!

" K'#'!,-+'&)!*!#*5'./'!).!5*/!,$($&'&!>8)+.)#6!%'(&'5'.'+?!#*.%&,-)&)!-.!@)%)$,!/*#-5$.&!%)!7$&)!

@)!%#-&)&)!/$!,$&'%&',$'!#*5$.8))!/$!@)$#',$!/'&'=!

" E-&$&)! #,$'!.*)! #*5$.8)! %)5)+',$!(*,.)./!/$! +'! #$+$!/$M'! $D)%&$.&$! #*())./! %)! $/)&'./! @)%)$,$!

&$D&=!

" 0*/-+! 9'&#A! (*%&$! %$,7)! /$'%$5$.$'! 5*5$.&-+! /$,-+',))! -.$)! #*5$.8)6! ).! %($#)'+! '! #$+*,!

5-+&)(+$! %'-! '! %$#7$.&$+*,! /$! #*5$.8)=! K'#'! @'#$&)! 7,$*! :,$%$'+'6! .-! 7'! &,$9-)! %'! ,$&'%&'&)!

&*&-+=!K*',!(,$+-#,'&)!&$D&-+!%'!#*,$#&$8$!$,*',$'!%)!#*5'./'&)!'(*)!(,*:,'5-+-)!%'!*!$D$#-&$=!

" K'#'! *! #*5'./'! #*./-#$! +'! 5')! 5-+&$! ,$8-+&'&$! +$! (-&$&)! ,-+'6! @*+*%)./! -.! (,*:,'5! /$!

(':).',$=!

!

shell> mysql < batch-file | more

!

E-&$&)!#*.%$5.'!,$8-+&'&-+!).&,C-.!@)%)$,!($.&,-!'!(-&$'!@)!(,*#$%'&!-+&$,)*,B!

!

shell> mysql < batch-file > mysql.out

!

! E-&$&)!/)%&,)9-)!/*#-5$.&$+$!%)!'+&*,!($,%*'.$=!

" S.$+$! %)&-'&))! .-! ($,5)&!5*/-+! ).&$,'#&)7=!K$! $D$5(+-! #'./! ,-+'&)! *! #*5./'! /).&,C-.!cron

job=!

V$8-+&'&-+!$%&$!/)@$,)&!#'./!,-+'&)!01234!).!9'&#A!5*/$!/$#'&!).!#$+!).&$,'#&)76!/$!$D$5(+-6!,$8-+&'&-+!/).!

2U4UIL!KT2LTbIL!%($#)$%!eVP0!($&!','&'!'%&@$+!).!5$/)-+!).&$,'#&)7B!

!

+---------+

| species |

+---------+

| bird |

| cat |

| dog |

| hamster |

| snake |

+---------+

!

Page 43: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! YN

K',6!'%&@$+!#'./!,-+'&)!).!9'&#A!5*/$B!

!

species

bird

cat

dog

hamster

snake

!

! K'#'!7,$&)!%'!&,$#$&)!+'!5*/-+!).&$,'#&)7!).!#'/,-+!9'&#A!5*/$!@*+*%)&)!mysql –t.

E$.&,-!#'6!#*5$.8)+$!($!#',$!+$!$D$#-&'&)!%'!&,)5)&'!-.!$#*-!@*+*%)&)!mysql –vvv.!

! E-&$&)!/$!'%$5$.$'!@*+*%)!@)%)$,-+!&$D&!($.&,-!+).)'!/$!#*5'./'!(*,.)./!/$!+'!#*5./'!).)&)'+'B!

!

mysql> source filename;

!

3.7 Comenzi din proiecte gemene

!

! 4'!".'+1&)r$,.'!%)!4$.&-%6!'5!'#&)7'&!%)%&$5$+$!%)!#'5(-,)+$!($.&,-!-.!(,*)$#&!'5(+-!/$!#$,#$&',$=!!

"#$%&! (,*)$#&! $%&$! /$! @'(&! *! #*+'9*,',$! ).&,$! T.%&)&-&$!*@!U.7),*.5$.&'+!0$/)#).$! '&!y',*+).%r'!

T.%&)&-&$&!2&*#rA*+5!%)!!2$#&)*.!*.!I+).)#'+!V$%$',#A!).!":).:!

'./!E%1#A*+*:1!'&!&A$!S.)7$,%)&1!/).!2*-&A$,.!I'+)@*,.)'=!

! E,*)$#&$+$!)5(+)#'!-.!(,*#$%!/$!5*.)&*,)8',$!).!#'/,-+!#',-)'!:$5$.))!/).!2-$/)'!%-.&!).&$,7)$7'&)!

&$+$@*.)#=!I$)!#',$!)./$(+).$,%#!'.-5)&$!#,)&$,))!&,$#!).&,C*!@'8'!%-($,)*','!'!(,*:,'5-+-)=!")#)!#$)!#',$!7*,!

%'! (',&)#)($! %-.&! (-%)! %-9! *9%$,7'&)'! -.$)! $#A)($! /$! 5$/)#)=! I*.%-+&'&))+$! ).#+-/$! $D'5$.$! .$-,*C

@)8)*+*:)#$6!&$%&$!/$!+'9*,'&*,6!$.#$@'+*:,'5$6!$7)/$.&$!(%)A*+):)#$6!#-+$:'./-C%$! &*&*/'&'!/$%(,$!)%&*,)#-+!

@'5)+)$)=!

! 0')! 5-+&$! ).@*,5'&))! /$%(,$! %&-/))+$! '%-(,$'! :$5$.)+*,! +$! (-&$&)! :'%)! +'B!

A&&(Bssnnn=)55=r)=%$sLiTbsLiTbSyi=hL0!

! S+&)5'!(',&$!'!(,*)$#&-+-)!$%&$!*,:'.)8'&'!#-!'M-&*,-+!-.$)!).&$,@$&$!n$9!%#,)%'!).!E$,+!%)!01%;+=!

! T.!@)$#',$!.*'(&$!!&*'&$!/'&$+$!%-.&!%&*#'&$!).&,C*!9'8'!/$!/'&$!51%;+=!

!

3.7.1 Localizarea gemenilor nedistribuiti

!

S,5'&*',$'!#*5'./'!$%&$!@*+*%)&'!%(,$!'CT!%$+$#&'!($!#$)!#$!-,5$'8'!'!).&,'!).! @'8'!%-($,)*','!'!

(,*)$#&-+-)B!

!

SELECT

CONCAT(p1.id, p1.tvab) + 0 AS tvid,

Page 44: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! YY

CONCAT(p1.christian_name, " ", p1.surname) AS Name,

p1.postal_code AS Code,

p1.city AS City,

pg.abrev AS Area,

IF(td.participation = "Aborted", "A", " ") AS A,

p1.dead AS dead1,

l.event AS event1,

td.suspect AS tsuspect1,

id.suspect AS isuspect1,

td.severe AS tsevere1,

id.severe AS isevere1,

p2.dead AS dead2,

l2.event AS event2,

h2.nurse AS nurse2,

h2.doctor AS doctor2,

td2.suspect AS tsuspect2,

id2.suspect AS isuspect2,

td2.severe AS tsevere2,

id2.severe AS isevere2,

l.finish_date

FROM

twin_project AS tp

/* For Twin 1 */

LEFT JOIN twin_data AS td ON tp.id = td.id

AND tp.tvab = td.tvab

LEFT JOIN informant_data AS id ON tp.id = id.id

AND tp.tvab = id.tvab

LEFT JOIN harmony AS h ON tp.id = h.id

AND tp.tvab = h.tvab

LEFT JOIN lentus AS l ON tp.id = l.id

AND tp.tvab = l.tvab

/* For Twin 2 */

LEFT JOIN twin_data AS td2 ON p2.id = td2.id

AND p2.tvab = td2.tvab

LEFT JOIN informant_data AS id2 ON p2.id = id2.id

AND p2.tvab = id2.tvab

LEFT JOIN harmony AS h2 ON p2.id = h2.id

AND p2.tvab = h2.tvab

Page 45: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! YZ

LEFT JOIN lentus AS l2 ON p2.id = l2.id

AND p2.tvab = l2.tvab,

person_data AS p1,

person_data AS p2,

postal_groups AS pg

WHERE

/* p1 gets main twin and p2 gets his/her twin. */

/* ptvab is a field inverted from tvab */

p1.id = tp.id AND p1.tvab = tp.tvab AND

p2.id = p1.id AND p2.ptvab = p1.tvab AND

/* Just the sceening survey */

tp.survey_no = 5 AND

/* Skip if partner died before 65 but allow emigration (dead=9) */

(p2.dead = 0 OR p2.dead = 9 OR

(p2.dead = 1 AND

(p2.death_date = 0 OR

(((TO_DAYS(p2.death_date) - TO_DAYS(p2.birthday)) / 365)

>= 65))))

AND

(

/* Twin is suspect */

(td.future_contact = 'Yes' AND td.suspect = 2) OR

/* Twin is suspect - Informant is Blessed */

(td.future_contact = 'Yes' AND td.suspect = 1

AND id.suspect = 1) OR

/* No twin - Informant is Blessed */

(ISNULL(td.suspect) AND id.suspect = 1

AND id.future_contact = 'Yes') OR

/* Twin broken off - Informant is Blessed */

(td.participation = 'Aborted'

AND id.suspect = 1 AND id.future_contact = 'Yes') OR

/* Twin broken off - No inform - Have partner */

(td.participation = 'Aborted' AND ISNULL(id.suspect)

AND p2.dead = 0))

AND

l.event = 'Finished'

/* Get at area code */

AND SUBSTRING(p1.postal_code, 1, 2) = pg.code

Page 46: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Y^

/* Not already distributed */

AND (h.nurse IS NULL OR h.nurse=00 OR h.doctor=00)

/* Has not refused or been aborted */

AND NOT (h.status = 'Refused' OR h.status = 'Aborted'

OR h.status = 'Died' OR h.status = 'Other')

ORDER BY

tvid;

! !

! I'&$7'!$D(+)#'&))B!

!

CONCAT(p1.id, p1.tvab) + 0 AS tvid

!

! K*,)5!%*,&',$'!#A$)+*,!)/!%)!&7'9!).!*,/).$!.-5$,)#'=!"/-:'./!p!,$8-+&'&-+-)!/$&$,5).'!01%;+C-+!

%'!,$#-.*'%#'!,$8-+&'&-+!/,$(&!.-5',=!

!

#*+*'.'!)/!! "#$'%&'!)/$.&)@)#'!*!($,$#A$!/$!:$5$.)=!"#$'%&'!$%&$!*!#A$)$!).!&*'&$!&'9$+$+$=!

#*+*'.'!&7'9! "#$'%&'!$%&$!-.!:$'5'.!).&,C*!($,$#A$=!",$!*!7'+*',$!/$!O!%'-!R=!

!

#*+-5.!(&7'9! "#$'%&'!$%&$!).7$,%'!+-)!&7'9=!"&-.#)!#'./!&7'9!$%&$!O!'#$'%&'!$%&$R6!%)!!

7)#$7$,%'=!UD)%&'!($.&,-!'!$#*.*5)%)!&)5(-+!/$!,$/'#&',$!%)!($.&,-!'!#*.@$,)!01%;+C-+-)!

(*%)9)+)&'&$'!/$!'!*(&)5)8'!'#$'%&'!#*5'./'=!

!

! "#$'%&!#*5'./'!/$5*.%&,$'8'6!(,).&,$!'+&$+$6!#-5!%'!#'-&'&)!-.!&'9$+!/).!'#$+'%)!&'9$+!@*+*%)./!*!

#*59).',$! >(O! %'-! (R?=! T.! $D$5(+-6! '#$'%&'! $%&! @*+*%)&'! ($.&,-! '! 7$,)@)#'! '&-.#)! #'./! (',&$.$,-+! -.-)!

:$'5'.!.'!5-,)&!).').&$'!7',%&$)!/$!^Z=!K'#'!$%&$!'%'6!'&-.#)!,'./-+!.-!$%&$!)./)#'&!).!,$8-+&'&=!

! L*&!#$!$%&$!5')!$D)%&'! &*'&$! &'9$+$!#-!*! ).@*,5'&)$!/$! &)(!:$5$.)=!"7$5!*!#A$)$!($.&,-! )/6! &7'9!

>&*'&$!&'9$+-,)+$?!#'&!%)!)/6!(&7'9!>($,%*.k/'&'?!($.&,$!'!@'#$!#*5$.8)+$!5')!,'()/$=!

! E$! #'+#-+'&*,-+! .*%&,-! >Sb!S+&,'2E"VI!Rpp0A8?! '#$'%&'! #*5'./'! ).&*',#$!OZpCRpp! ,'./-,)! %)!

/-,$'8'!5')!(-&).!/$!*!%$#-./'=!

! b-5',-+!#-,$.&!/$!).,$:)%&,',)!/).!&'9$+$+$!@*+*%)&$!5')!%-%B!

Table Rows

person_data 71074

lentus 5291

twin_project 5286

twin_data 2012

informant_data 663

harmony 381

postal_groups 100

Page 47: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Yf

!

3.7.2 Vizualizarea unui tabel dupa “perechi de gemeni”

!

! e)$#',$!).&$,7)$7',$!%$!&$,5).'!#-!-.!#*/!`$7$.&a=!!

! I*5'./'! ','&'&'! ')#)! $%&$! @*+*%)&'! ($.&,-! '! '@)%'! -.! &'9$+! #-! (,)7),$! +'! ($,$#A)+$! /$! :$5$.)!

#*59).'&$!).!@-.&)$!/$!`$7$.&a=!

! "#$'%&'!)./)#'!/).!#'&$!($,$#A)!'59))!:$5$.)!'-!@).'+)8'&!(,*:,'5-+!%)!).!#'&$!($,$#A)!-.!:$'5'.!'!

&$,5).'&!)',!#$+'+'+&!'!@*%&!,$@-8'&6!%='=5=/=!

!

SELECT

t1.event,

t2.event,

COUNT(*)

FROM

lentus AS t1,

lentus AS t2,

twin_project AS tp

WHERE

/* We are looking at one pair at a time */

t1.id = tp.id

AND t1.tvab=tp.tvab

AND t1.id = t2.id

/* Just the sceening survey */

AND tp.survey_no = 5

/* This makes each pair only appear once */

AND t1.tvab='1' AND t2.tvab='2'

GROUP BY

t1.event, t2.event;

!

3.8 Utilizarea MySQL cu Apache

!

! UD)%&'! (,*:,'5$! #$! 7'! ($,5)&! %'! '-&$.&)@)#'&)! -&)+)8'&*,))! /).&,C*! 9'8'! /$! /'&$! 51%;+! %)! %'! 7'!

($,5)&'!+*:',$'!@)%)$,$+*,!K7%=!).&,C-.!&'9$+!51%;+=!

! E-&$&)! 5*/)@)#'! @*,5'&-+! /$! +*:',$! "('#A$! ($.&,-! '! @)! #)&)&! #-! -%-,).&'! /$! 51%;+! 5*/)@)#'./!

-,5'&*',$'!+).)$!).!@)%)$,-+!/$!#*.@):-,'&)$!"('#A$B!

LogFormat \

"\"%h\",%{%Y%m%d%H%M%S}t,%>s,\"%b\",\"%{Content-Type}o\", \

\"%U\",\"%{Referer}i\",\"%{User-Agent}i\""

Page 48: Introducere (sau mic ghid practic) în MySQLbusaco/teach/courses/net/docs/mysql-ro.pdf · Introducere (sau mic ghid practic) în MySQL Traducere de Leonte Carmen – carmen@infoiasi.ro

! Yj

!

T.!01234!(-&$&)!@'#$!'#$+'%)!+-#,-!/-('!#-5!-,5$'8'B!

!

LOAD DATA INFILE '/local/access_log' INTO TABLE table_name

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'