Escolar Documentos
Profissional Documentos
Cultura Documentos
(
Consultas multitabla ..................................................................................................... 113
% ' ! " $$*
+ 6 # # 1 $$*
% ' $$0
M . $$0
Actualizaciones de Datos ............................................................................................. 118
), " ? 7 $$
# ! & 7 $
+ " ! @ )7 $
Lenguaje de definición de datos: DDL ......................................................................... 125
% ! ' % 7 ' $ 0
% ! % . $
% ! 3 % K N $ 8
' F / 3 $ -
+ " ! " ! ' ) & 7 7) & $(
Seguridad SQL ............................................................................................................. 131
) # 3 )?7 $ ($
3 ! # 3 K: I $(
Funciones SQL en Oracle ............................................................................................ 133
= $ ((
" = $ ((
" 4 $ ((
# : @? / 7 @?% # " 4 > $ ((
3 ! $ (*
: " $ (*
Funciones SQL en MySQL........................................................................................... 134
$ (*
= $(
" 4 / 4 $(
# ! $ (8
+ " $(
MYSQL ........................................................................................................ 139
Introducción .................................................................................................................. 139
Instalación de MySQL en Windows.............................................................................. 139
% # ' ! ! $*
" 5 $ *$
Instalación de MySQL en Linux.................................................................................... 142
! ' ! ' $*
% # ' ! ! @ ? L O& . $ *(
Creación y uso de BD en MySQL................................................................................. 144
Creación de tablas........................................................................................................ 144
7# ' + / < & $ *8
), < & + / < & $0
# . ' + / < & &: ) ) 7) $ 0*
Optimize table, replace, set, lock tables y unlock tables .............................................. 155
Visualización de las tablas de una base de datos: show, describe y explain .............. 157
SQL PARA MYSQL. LENGUAJE DE MANIPULACIÓN DE DATOS. .................... 158
Introducción .................................................................................................................. 158
La sentencia SELECT .................................................................................................. 158
% & %7 $ 0-
% ? 7: $
% : + $ $
% D ; $
% : @ J $ (
% ;)K ? $ (
% : J $ *
% & + 7 $ 0
' % ) $
*
Consultas con condiciones de búsqueda..................................................................... 166
7 # ! $ 8
7 >% 7D ? P )? $ 8
7 # 1 >% ? $
7 # # >% & I $
7 3 >% ? @ && $ -
% # : # ) ? F: / ? : 7 $ -
Consultas Agrupadas ................................................................................................... 169
! $8
! %: @?7 $ 8$
K ? @ && " $8
7 " # 7? % 7 $8
) # " : @ J $8
Subconsultas en MySQL .............................................................................................. 175
7 # ! ' AE F G H F G F G E F G F H E C $ 80
7 # 1 % ? $ 80
7 . % L 7 $8
7 " )?J $8
' $ 88
' ;)K ? $8
Consultas multitabla en MySQL ................................................................................... 178
M ' $ 8-
M: ? ! " $
M: ? 6 # # 1 $
M: ? ' $ $
M: ? '6 2 $
M: ? / . $
M: ? L 7 ? : # $ (
M: ? L 7 ? : 52 / 4 $ *
M: ? 6 # # 1 $ 0
M: ? $ 0
Actualizaciones de datos.............................................................................................. 186
? 7 $
" & 7 $
) 5 ! @ )7 $
ADMINISTRACIÓN DE MYSQL ...................................................................... 190
Administración de tablas .............................................................................................. 190
+ " ! ' ) & 7 7) & $-
' : 7) & $-
' : ) 7) ) $ -(
Vistas ............................................................................................................................ 193
Administración de cuentas de usuario ......................................................................... 193
)?7 $ -*
K: I $ -0
% , 7 ) D : $-
Copias de seguridad..................................................................................................... 196
% # + / < & @ + A' Q # C $ -8
# ! ' $ -8
HERRAMIENTAS GRÁFICAS DE MYSQL ........................................................ 198
MySQL Administrator ................................................................................................... 198
! + / < & $-
" ! 3
% 3
K '
) !
% . 3 $
; 4 $
3 & $
0
=# $
Q # $
%
MySQL Query Browser................................................................................................. 202
! + / < & < / N
MySQL Control Center ................................................................................................. 204
!
"
#
# " $
" #
" %
"
&
&
#
"
' ( )
# " ( #
* + #
( #
$ # #
, # # $
' !
- (
# "
7 $ R ! " ! / 8
*&.+
(
% % (
/ # . 0.0 #
( # (
!
1 ' ! .
( #
#
2 & . !$
Elementos de un SI
#
#
( " &.
&
# (
. # (
( #
# &.
- # # $
( #
Estructura de un SI
1 &.
( (
! !
! # # $
" #
#
7 $ R ! " ! /
( $
#
! $
o
o 1 %
o #
o "%
* +
(
* #
+ &
! $
o " # * # +
o * +
o
o
o
#
( * )+
3
$
o / ! * #
% +
o % $
o " ! ! #
( # *
% +
"
% &
# #
* ! + (
# # *
+ % *
)! +
( *456 ) +
!
#
% )! &
7 $ R ! " ! / -
# %
# (
#
"% $
( * + # * !+ "
$
&
#
# '
! &
$ # #
' !
" # # *
+ )
,
"
% (
" ( !
(
# !
00 &. & (
( !
'.
" &. (
# (
( $ & . 1 (
*&.1+
&.1
( &.
7 7
7
&.
7 ( (
# ( % 7
!
7
% 7 &.
7 $ R ! " ! / $
& ( &.
% !
# #
# "
#
(
"
- # #!
(
(
- !
%
#
&
! #
# (
-
#
&. (
)
( 8 # #
1 ) # &.
"
! %
9 ! 1 #
!
!
7
(: !
1 ! # (
# . # !
7 $ R ! " ! / $$
!
1 # !
* + "
# (
1 !
; &
#
%
" $
$ %
!
# $
$
5 2
) - ;
!
&. # ( % #
& 5
# ( (
1
(
' 5
' 51
7 $ R ! " ! / $
' 5 "
"
' (
5 # # (
#
) 51
" # $
$ 5
# # ! 7
&3;
* # 5
(
(
$ % 5
# 5
#
# 5 2
(
#
+ % 5 "
# )
&3;
- ;
! $
, 5
(
% "
! # !
% !
+ - 5
!
'% 5 ! ;
# ( #
#
; #
%
7 $ R ! " ! / $(
%
#
& 5 2 (
# !
. 5
(
#
#
% #
$ 5 <
%
=
#
($ 7 7 1 !
* ( +
(
- (
# ! "
# #
% !
. * 5
# #
(
o & $
o &
* 7 7 +
o & (
o &
7 $ R ! " ! / $*
" %
/ 5 , % ( !
) #
#
$ # 5 2
( ! 7
* + (
. %
# ( 1 #
" ( !
!
" (
%
# (
"% # $
, 0 5 " #
2 #
# # "
#
!
> * + #
!
" #
, 5 /
2
&
# !
%
#
#
# %
! " #
(
7 $ R ! " ! / $0
, % 5 /
# " #
( ! #
" #
# " #
#
"
% (
*# % + " )
#
( #
( *# + "
# !
( ! ( ) *#
! +
" # (
$
? ( !
?
!
#
? # % #
" # !
&
$
2
# ! ! #
)
" !
% !
#
" # # #
(
(
2 (
# !
% & ! #
7 $ R ! " ! / $
& #
#
=
% !
#
# #
# 7 #
(
2 ; !$
!
"
#
$
$
!
"
& 3 ;
!
!
! % %
7 ( # 1
7 & 3 ;
*&3; +
2 &3;
(
$
# *!
% +
= "
= .
! #
#
7 $ R ! " ! / $8
&3;
)
%
! ! ! #
" ( * +
&3;
* % + !
#
Función de manipulación
2 # (
#
(
( $
&
;
# (
* +
( !
$
. #
;
=
(
* = + (
Función de Control
" ! &3; % #
! (
*
! + (
7 $ R ! " ! / $
- (
&3;
1++ 25 -
1+.+ 25
" ! &3;
# !
"
#
"
$
o ! # $
o ! # ! $ !
# # (
! !
1 &
"
* +
1+' 25 =
( $
o # %
o 8
&3;
= $
o - 5
#
(
o : 5 &
# =
#
" %
7 $ R ! " ! / $-
' = # %
#
"
# (
$
o =
o >;> =
(
"
=
5 #
&
(
( = $ !
1
$
o / #
o /
o . (
5 " 7
( !
- (
'
( "
# # #
( " $
o 3 ( #
(
o 3 ( (
o 3 (
o 3 ( #
#
o . #
# =
#
-
1+3/25 "
# !
) &3; "
$
7 $ R ! " ! /
o
o !
# !
o # %
o # #
o =
!
o "
(
(
5
$
o 2 5
#
o 2 5 1
# (
o 2 ( 5 1 ( &3;
7 $ R ! " ! / $
- (
%
" (
(
"
1 (
#
"
#
2
"
#
-
* + #
&
#
2 = *= +
=
(
= =
9 "
$
"
( ! "
#
7 R # ! ' + & +
% " #
" (
-
" ( !
"
#
"
La abstracción
( # 1 #
(
(
#
" ( $
4 # 5 "
# #
( # (
( -
# ( * ( + (
&
# #
(
/ 5 "
2 *
(+
( " #
( "&@2:
-1/'"@ "
7 R # ! ' + & + (
"
#
!
#
2 # ( #
(
! # "
(
"
( #
1 (
- #
# (
(
"
# !
# 2
1
' !3
&
#
( &
# #
( #
# "
7 R # ! ' + & + *
8 # !
:
%
!
;
#
!"
#
& #
!
"
"
#
"
#
- $
) "
%
#
" (
(
( "&@2:
#
" #
'
'
#
#
#
&
" #
#
7 R # ! ' + & + 0
5 " (
!
* + # (
! )
(
# # "
"
8 # #
& %
( #
#
& %
( (
8
*
# +
6 2 # ( !
& % (
%
#
#
#
: %
#
# ( # #
-
#
$
(
" #
! "
2 =
!
7 R # ! ' + & +
: = (
- $
2
! #
! 2
2
"
!
#
%
2
%
2
( " !
!
& #
= $
0 5 :
#
4 5 1 #
$ 5' !
!
#
% (
( %
# ( $
' 5 ' #
* 7 &3; +
*
+ &
' & 5 & &3;
# &3; !
7 R # ! ' + & + 8
&3; *
/ A +
"
" # !
# ! 8
Submodelos de un MD
5 . #
= $
" $ > * +
* + !
* + #
/ $ " #
# "%
(
+ 5 #
# 1
#
2 $
( 5 ' (
1 5 ? ( # (
(
" %
% ) ;
7 R # ! ' + & +
!
(
; =
&3;
/ # )
&3;
# ; )
! &3;
&3;
- (
! $
! 1
&3; # ( *
+
" #
%
!
5 - !
7 R # ! ' + & + -
! " " #
&3;
#
)
" " B .
!
- # ="5/
="5/ C
# + !
5 # !
2 ( * +
+ 5-
- %
( * = +
" ="5/
!
-
(
( ="5/ )
&3;
#
& $
* +
#
7 (R + 9 ! (
Entidad
"
"
( 1 !
12'>/D
!
12'>/
"% $
) 5 %
%
+ 5 %
%
-
%
%
"A"=- 1/
Interrelación
9
%
# %
#
1 ! 12'>/ .;/>
/: 8
E F E ! "
D
)
7 (R + 9 ! ($
" (
@
12'>/ /: .;/>
2 ( $
; 5 -
* +
4 5 :
- G * +
8 4* + 8
#$ G
9 5: %
#
" D$D
%
8 D$:
* +
:$= -
:$=
@
12'>/ /: .;/>
" %
/ 5" !
1 ! 12'>/
% % & ' (% 8
.;/> )* + % "
#$ 12'>/ .;/> , ( (&
" #
" %
-
% # )
" % 12'>/
# 8 %
% # % 12'>/
% % !
12'>/
7 (R + 9 ! (
" ! #
-
* +
! #
*
! "
#
.
.;/>
.;/>
"
# !
# !
* B1.-5+ -
% *
B1. 5+
# * # B1.15+
@
.;/> !
D$:
:. , @-
, @ #
&> .>
7 (R + 9 ! ((
"A"=- 1/ .;/> &> .> !
& ' (- . & '( :.
Restricciones
% !
* + #
! * +
" ="5/ %
1 .
-
*
+
"
! %
% # *
( +
% !
% !
& *H D+ *D D+ *H +
*D +
1 !
*D + .;/> 12'>/
# D G .;/> /: 8
*H + 12'>/ .;/>
# H D G 12'>/
! *D+ % * +
*H+ * + * +
:$=
*H + *D +
12'>/ /: .;/>
@
# ! %
& #
%
7 (R + 9 ! (*
Dependencia en existencia y en identificación
#
2
% *D D+
+ 0 5 & %
#
* + %
&
% 1 ! #
& :&
.":'" 2":'1
%
&
) E"F
%
D$:
*D D+ *D +
.":'" "0 & :& 2":'1
+ 5
%
) #
1 ! #
: .;/>
"A"=- 1/
%
# * ($ +
*% ( + &
) E. F
@ D$:
*D D+ *D +
.;/> . : "A"=- 1/
: @"
7 (R + 9 ! (0
" ="5/ %
(
"&@2:
# "
* +
* +
2
$
' ="5/
% * ( +
; 9
#
5
- #
J
%
" ! %
2
"
! ' /
2 (
" (
$
7 (R + 9 ! (
%
! # %
" 1
(
% # # 2 ( 0
0
2 ( 0
- (
2 (
( %
( # %
( #
2 ( %
(
( 2 (
-
="5/$
1;
- *, 1+
( 1
2 - 1
8 % -
% #
1
# (
-
2 -
" ; ( % # "
( 3* "
3*
%
# (
7 (R + 9 ! (8
1/2 -"/&>:1 132 ":,"/=" 1
DD DD
%
"&@2: "&@2:
HD HD HD HD
DD DD
"&@2: "&@2:
HD HD HD HD
-/ - & %
-/
-
% (
" "
-
) "
- ) 9
% -
% #
7 (R + 9 ! (
1 !
$
"
( ! D
% D
(
-
%
D
(
&
! H
&
! H D
# ( (
"
* - &
! #
! #
!
! #
- % #
% #
D$:
*H D+
/:* -/><"" >/
@ #
*D +
1/'K 2 >
D$:
*D +
*H D+
/: -/><"" >/
@ #
7 (R + 9 ! (-
" ="5/
&
" # &
! #
# MDCN6O
" #
" # % !
" %
% * + * +
*
+
% (
% *
-
#
" ="5/
) !
! # #
%
! ="5/
* %
+8 % )
) & #
="5/ "
*
+
7 (R + 9 ! *
$ "
) NH !
# "
!
* + #
!
! # !
$
$ % 5 "
!
$ 5 1)
9
*# +
0 5"
8 5
* +
. #5 ! !
- #
* + '
# ! 2
! * +
!
1
! #
! 1-/1 '
% #
! (
7 *R + *$
)
;
1 D 1 G 1
000 000 000 D
000 000 000 G
"
(
#
-
12'>/ "
# 12'>/ *:
: . +8 *
# 8 # # +8
* #
+8 * +8
* +
+ '$;$ .
; ; $
/89 )
% % & /
9
A : / .
8
, : / . * & 5
& . - =
/
& , " ) 2- .
4 "
"
8
# !
"
7 *R + *
* ! +
4
! #
( !
1 !
' # (
' , /
1
3 :R :R
:R, :R/
Dominio y Atributo
2 # <D
<G < ( 8 #
#
!
'
$ !
( '
S
0 -
#
DC N6
!
! DH
# 8 !
%
" #
2 # ! 1D 1G 1
8 #
* + #
" "
#
2
-
* 5
& ' !
#
#
7 *R + *(
1 %
8 ! & ' ! #
1 %
8 ! & ' ! #
'
! E ( F
#
" $
; 5
& 5 5
T*1 $ +U 8
" 1
0
& 5 TD G U
5# T*1 $< +U < #
18
1 ! #
# !
/ %
$ /* T1 $ U + "
&
="5/
<
- #
1$ 2=
12'>/*: $ % : $ % . $
+ +
) 10 ( 2=
12'>/
% % &
A : / .
, : / .
& . - =
& , " ) 2-
7 *R + **
2
# !
Clases de relación
#
# ( $
* 5 1 * +
% !
# $
o / 5 "%
% !
* $ 5 + &
% * +
o < 5 & #
% & ! #
o . 5& # #
(
E F * # +
&
( E F
9 5 1
! 8
( (
8
Claves
2
!
# ! -
#
%
!
# 2
# $
5 " #
7 *R + *0
5 & #
#
& 0 /G # !
# # #
/D # % #
# # %
# # (
!
" %
* +
Restricciones inherentes
% " $
:
#
" #
" #
#
#
Restricciones semánticas
% %
&
#
# -
)
& 5 -
# #
* # +
7 *R + *
# 8
#
# #
#
8 5 = #
* + "
# #
5
#
$ 5 & /G * +
# /D *
+ # #
# /D " #
% /G # %
# /G
1 #
* + (
$
5 "
# * # +
% # #
% " #
5 "
# *
# + # * +
# %
5 "
# * # +
# # # %
5 "
# *
# + # # # %
# !
1 % %
! '0
#
( #
# 8 #
7 *R + *8
# (
" (
, 5 (
(
# *
+
/ 51
# *
+ 8 #
# !
'
# ( #
#
'
# 1 ! #
# (
# (
& # ) (
% #
# #
# ( $
* +
1) # % 8
) ! #
" # (
% $
&.@:2 > # # #
# # # #
7 *R + *
5 &
# #
" ) (
! %
="5/ 8
G
& #
%
1 %
#
E F #
% #
"
! )
% * ) ; + ! (
"
) $
.
/
1 J
-
-
* +
1 ;
# 8 !
" (
# !
" +
* @ '! " 1) + *1
: + & # # #
)*+'& )
/89 ) ;/&$ ;/ $+/+ & +> $3) 9?98 +$9 )$/ /@
G
Las reglas de transformación del esquema conceptual al relacional se verán en el siguiente capítulo
7 *R + *-
: G4V44 1 5W DPPH
: 64G46 3 . 1 5W DPCC
3 , 4GGV6 ; - DPCN
#
-
8
) " # ($
1 !
1 !
1 ! #
# #
#
< ( * +
(
1
)
(
1 ! %
! -
%
! (
# 8 !
*
# + -
* #
+ # #
* #
+
"
)$ A
!
#
& # ) !
"
% # (
! ) %
7 *R + 0
& ! ) (
) ="5/
# ! !
% &
#
8
% #
Dependencias funcionales
! (
!
2 $ /
1 6 7 1 &
7 6 6 7
# 6 # 7
/ $
6 ###8 7
&
( !
- $
.;/>* @ '! . +
- !
@ 555Y '!
" ! "
!
" !
!
&
!
2 %
%
"
" # (
8 # ($ )*
8
7 *R + 0$
% ( % ) .
($ % ( *
+ & '(
& '(
@ '! "
, @ , @ #
: @ : '
"%
# ! (
#
& 6$
69
6: 6;<
& 7 6
6
7 % #
6 & 6 ==8 7
-
$
@ : @ 5555Y , @
% :
!
# #
-
$
@ : @ ZZZY , @
"
)
- $
7 *R + 0
@ : @ 5555Y "
: $
@ 555555Y "
& : @
* 2 5+
& /*0 [ \+ %
$
05555Y[
[5555Y\
[55955Y0
& \ # 0
# [ $
0 555 555Y \
- $
.;/>&* @ " - !+
! * !+
$
@ 555Y "
" 555Y - !
@ 555 555Y - !
Reglas de normalización
! (
0 &
!
(
(
$
7 *R + 0(
: #
(
" (
%
# ( #
# (
-
; 5
/
#
> 9
&%:< !
/ ! ?
- # $
* +$+ *: , : - # : - - /
- +
; ; ; * + * ) + & *
*
HHHHD HD9HG9HG PCQ - ( G HHGV # GHHHH H HG
HHG6 - VHHHH H H4
HH4C ' CHHHH H HD
HHHH4 HG9HG9HG PPP = ( 3 G4 DHHG DHH NH
DHHV GH NHH
GHHD = 6HH 4H
HHHH6 HV9HG9HG 666 ( & DH 6HHG 6H 46
& # % # # /
- 8 !
- * ,:D+ ,:D
#
#
* +$+ *: , : - # : - - /
- +
; ; ; * + * ) + & *
*
HHHHD HD9HG9HG PCQ - ( G HHGV # GHHHH H HG
HHHHD HD9HG9HG PCQ - ( G HHG6 - VHHHH H H4
HHHHD HD9HG9HG PCQ - ( G HH4C ' CHHHH H HD
HHHH4 HG9HG9HG PPP = ( 3 G4 DHHG DHH NH
HHHH4 HG9HG9HG PPP = ( 3 G DHHV GH NHH
HHHH4 HV9HG9HG PPP = ( 3 G GHHD = 6HH 4H
HHHH6 HV9HG9HG 666 ( & DH 6HHG 6H 46
7 *R + 0*
. ;!
> 9
&%;< !
!
?
- $
-/"&'1=>* @ : @ : '
, @ , @ #+
" @ : @ #
% $
: @ 555Y :
: @ 555Y
: @ 555Y '
@ : @ 555Y , @
@ : @ 555Y , @ #
- # #
$, @ , @ # " #
: ' : @
- ,:G
# # "
# ,:G$
. 5 :
%
# ! # #
* @ + # #
; 5 &
1 ( 5 &
( (
- # (
-/"&'1=> #
,:G " ! $
-/"&'1=>* @ : @ , @ , @ #+
< ! : @
#
&> .> " # ! #
% ( -/"&'1=> # %
&> .> #
7 *R + 00
# % &> .>
9 ;"
> 9
&%@< !
!
?
- $
=1'/. 2 1* @ +
"
#
# @ &
# $
@ 555Y
@ 555Y
555Y
,:G
#
#
# ( 555 555Y
" # #
#
%
$
. 5 :
(
; 5 2 # (
(
= 5 "%
- %
#
$
=1'/. 2 1* @ +
2;. 1 .>:* +
7 *R + 0
# =1'/. 2 1 ,:4
% #
& # 2;. 1 .]:
#
# ,:4 "
=1'/. 2 1 # %
2;. 1 .]: =1'/. 2 1
# # %
2;. 1 .]:
3 :& 1 ;3&2
> ! # 9
&% < !
&%: !
?
> #
=1'/. 2 1* +
& # # $
< %
"
I 2
6 ###8 7
7 ###8 6
[ 6 ^555Y 7 "
$
A###8
1 %
$
555Y
555Y
555Y
555Y
<
#
" #
# #
#
#
7 *R + 08
=1'/. 2 1 ! #
,:; $
=1'/. 2 1* +
1 2=:>* +
( $ #
*=1'/. 2 1+ # #
* +
# * +
* A###8 + *1 2=:>+
# * + # *
+ %
! " *1 2=:>+ #
* + *=1'/. 2 1+ # %
& # #
1 2=:> %
"
=1'/. 2 1 # % 1 2=:>
) 5 '
% ! #
# - !
! / # 5 '
# #
" 9 5 #
5 & % 5
* +
(
(
8
6 . 5 %
*
# (
+
B / # 5 ' # (
(
C $ ( 5'
*
+
7 *R + 0
D $ % 5 "
E $ 5
# (
#
F $ 5
* +
$ 5 %
# (
! ) 5 & &3;
# (
%
#
7 *R + 0-
% & " #
<
( ="5/
"
"
#
- #
#
)9 &/) #
**)9 &/)+
-/'" 1/
&
* +
! $
1
#
! 1
" %
# *
,:D+ =
,'#)+-'./B ) / C
. 2
' 9
:B%<
* /
7 0R7 ! 2 % #
? .
/
' ?
. D
B
:? "
&
;? & ) # * % +
J
" .;/>
%
- -/'" 1/5D
# %
.;/> 12'>/ " 12'>/
! .;/>
.;/>
*)9 &/):
:$:
.;/> *D + *D +
"0 :/ 12'>/
@
"
,'#)+-'.0B )
!
7 0R7 ! 2 % # $
?
"
-"/&>:1 " * !
# "
/ # ! ?"
#
# ( : ;
#
D
G
-"/&>:1 D
-"/&>:1 G
*)9 &/):!
#
5
#
5
1 #
#
"
#
# $
"
!
'#)+-'./1
)
/ ! * *
?
7 0R7 ! 2 % #
- .;/> !
$
.;/>* +
12'>/* +
'#)+-'0./1
C
* ! 2 B
& $
:?
;? #
&
:? #
#
;? # %
& #
&
/
#
D$D
@ 1/'. 2 > *D D+ *D D+
. /: 1'>& <":'1&
@
@
@#
@
@#
" !$
1/'. 2 >*/ # @ +
1'>&@<":'1&*) @ @# @
@# +
7 0R7 ! 2 % # (
1 ! $
1/'. 2 >*/ # @ @
@# @ @# +
- $
D$D
*D D+ *D D+
>: 2 '>/ &:/ 12'>;2&
@
@
)
" !$
>: 2 '>/* +
12'>;2&* ! @ ) +
'#)+-'0.01
) #:!
B
:? "
" #
;? & #
&
#
7 0R7 ! 2 % # *
R@
D$D
*D D+ *H D+
"=- "1 > :' =1?2.:1
@
"
$
=1?2.:1* R@ +
" ! $
=1?2.:1* R@ +
"=-5=1?* G> +
'#)+-'0.21 :B
:
) :
!
B
:?
" # %
;? & #
#
#
R@
D$D
*H D+ *H D+
"=- "1 > :' =1?2.:1
@
"
$
7 0R7 ! 2 % # 0
"=- "1 >* G> +
=1?2.:1* R@ @ +
" ! $
=1?2.:1* R@ +
"=-5=1?* G> ( @ +
" !
$
'#)+-'.2./B :B
%
2 '
) #: !
2
2 ' ? 2
2 ?
2 ' ?
D$D
*TH`DU + *D D+
/"<.&'1 :' " .'>/.1
@ @
" # $
" .'>/.1 * +
/"<.&'1* ! : +
'#)+-'.2.0B :B
%
2
) #:!
?
! ? $
7 0R7 ! 2 % #
2 ' !
2
?
@
@#
D$:
*H D+ *H +
,1 '2/1 :/ 1 ;1/a:
@ @ @
@
@ #!
" # $
,1 '2/1* @ @ +
1 ;1/a:* @ @# @ @ #!+
,1 '51 ;* @ @ +
. !
# $
'#)+-'.3B %B
%
) #:!
?
!
? $
:$=
*D + *D +
>: 2 '>/ &:/ 12'>;2&
@
@
)
" # $
7 0R7 ! 2 % # 8
>: 2 '>/* +
12'>;L&* ! @
)+
>:512'* ( % +
" #
*/'" 1/5V+
&
#
$
231/
*D + @ !
:$=$-
*D + *D +
>: 2 '>/ &:/: 12'>;2&
@
@
)
! $
>: 2 '>/* +
12'>;L&* ! @ )+
231/* # +
>:512'5 23* ! +
% "
7 0R7 ! 2 % #
%
#
# > #
%
%# #
" #
-
$
" %
%
%
! " %
"
"
* /'" 1/5V+
$
" )
" )
* ) +
# *
+ $
*D + @ :$=
>;A"'> :
*D + @ @
1 $
>;A"'>* +
>;A5>;A* @ @ +
7 0R7 ! 2 % # -
@
@
&
!* +
$
& )
# %
" !
* ! +$
>;A"'>* @ > +
! &
#
#
! "
* ! +$
>;A"'>* +
>;A5>;A* @ > +
"
#
#
"
# $
(
(
" (
$ % #
% # # #
>
" #
"
7 0R7 ! 2 % # 8
# !
#
1 #
' )
$
,'#)+-'.2 B
.
?
2 9
* < ?
"
( 1
#
# #
-
0
2
# # $
7 0R7 ! 2 % # 8$
! 1
%
" "
!
5 : *
+
#
" # 8
) %
" ! $
" # $
"/;. . 1* 5 +
&" 1:>* @ # 5 +
/"31 .>* @ # 5 +
7 0R7 ! 2 % # 8
&2;<": .>:"&* _ # > (
+
1;1&'" .=.":'>* +
/"31@1;1&* @ # +
A )3>. &/1 : ( : ( ( 2
A )3>) 4/1 : ( : ( ( 2
& ( #
$
%, E +
, #
% #
#
#
! 1 !
# %
1 ( E 1 (
" !
$
A )3>&8 91 : ( : ( (
2
% # %
# (
1
! #
# % &" 1:> /"31 .> ! -
!
&" 1:> /"31 .>
!
"
!
,'#)+-'.3 B
.
!
.
?
2
9 * <
?
7 0R7 ! 2 % # 8(
9 <
?
" #
# #
1 !
# # *
+ # # 1
#
"
"
! !
$
" # $
"/;. . 1* 5 +
2 '.<>* @ # 5 5 +
1;1&'" .=.":'>* +
1;1&@ 2 '* @ # +
A )3>&8 91 : ( : ( (
2
7 0R7 ! 2 % # 8*
& ( #
$
,'#)+-'.4? *B
. .
?
B
:? & % #
!
;? & #
!
* ! 2
/ .
! .
2 ?
"
# #
%
# #
, ! !
$
7 0R7 ! 2 % # 80
" # $
"/;. . 1* 5 +
2 '.<>* @ # +
1;1&'" .=.":'>* +
1;1&@ /"31* @ # +
A )3>&8 91 : ( : ( ( 2
& ( #
$
&
# 2 '.<>
% #
#
7 0R7 ! 2 % # 8
# #
&" 1:> ! #
# . (
1;1&@/"31
7 0R7 ! 2 % # 88
' "
( )
#
* +
"
# (
# $
.
;
=
& > *; +
# *; + % $
>*; +Z;
' #
* +
% *
%
#
# $
/ = (
* =
#
( 3
# $
#
# & / /b >
2
> / /b 1
7 R + S ' 8
(
>D > $
> * *>D* / + + + Z /b
> *DPQG+
% #
N
N >
5 > *DPQH+5
5 > *DPQG+ 1 />.0 *DPQN+ 1'" *DPCN+ 5
#
$
$
#
1 #
# # $
#
*
+
# #
# - !
# 8
>
# $
2
;
" ! #
1 # ;:,
* 1'" *DPP4++ (
8 %
7 R + S ' 8-
Operadores primitivos
8;/)$ .
8
( $
& / *1+ %
1 $
/ *1+ Z / * 1D $ D 1G$ G 1 $ +
c / !
$
c Z T + DZD
/ *σ+
% * +
%
( c 1
12'>/
12'>/
: : .
A : / .
& , " ) 2-
& . - =
/ . " ) 2-<
σ HI - J1/89 )2
: : .
& , " ) 2-
/ . " ) 2-<
, $ & θ *Y ^ Z Y Y _+ !
%
$
1 θ 1 1 θ
7 R + S '
E[F *1: + EHF *>/+ E:>F *:>'+
" * /
$
σ c
* /+
% b $
bcZT ∈ c9 * +ZE FU
/ b⇔
# $
σ *σ 5D σ Dc+
D G
E[F
σ D G
- *π+
8 #
π *12'>/+
:
:
" )
.
=. K % /=
0⊂1 0≠φ
π / % 0
$
π%c
b /b *0+ %
0
b*/b+ Z T *0+ 9 0 ⊂ 1U
7 R + S ' $
" b b $ b ^
b^ ! #
0 /
# /
8
#
(
*
% + 1
#
3$;/)$ .
* + % # &
& /D *1D $
D+ /G *1G $ G+ D G
/D /G #
*
# # +
* +
> # $ &
( #
&
/D /G
&
8 &
" .'>/ D$
12'>/
: : .
A : / .
& , " ) 2-
& . - =
+$9 )
: : > (
- : "/ .
[ : 2 :[
7 R + S '
& . - =
8 182
D G /D /G
%
( D G *
+
1 $
12'>/ " .'>/
: : . : : .
, : / - : "/ .
.
& , " ) 2- [ : 2 :[
& . - & . -
= =
: : .
, : / .
& , " ) 2-
& . - =
- : "/ .
[ : 2 :[
, $ & D G /D /G
$
/D 2 /G
/ */ /D /G
# + % $
cZT 9 ∈ D ∨ ∈ G U
* 5 +
D G /D /G
% ( D
G
1
12'>/ " .'>/
12'>/ " .'>/
: : . : : .
, : / . - : "/ .
& , " ) 2- [ : 2 :[
& . - = & . - =
7 R + S ' (
12'>/ 5 " .'>/
: : .
, : / .
& , " ) 2-
, $ & /D /G
$
/D 5 /G
/ */ /D /G
# + %
cZT 9 ∈ D ∧ ∉ G U
* # 102
" ( D
G
% D % G
* # ! %
+
1 (
&> .> .;/>
&> .> .;/>
& ; + /
D " = < # G6 ;& A 1
G = 3 ! -< 6N ; &
&? & A 1
. &$ 0 $3)
& ; + /
D " = < # G6 ;& A 1
D " = < # G6 ; &
D " = < # G6 &? & A 1
G = 3 ! -< 6N ;& A 1
G = 3 ! -< 6N ; &
G = 3 ! -< 6N &? & A 1
, $ & D G /D /G
/D %/G D I G
/ DI G $ 1D 2 1G
Operadores Derivados
# %
#
, $ & D G /D /G
/D %/G D I G
/ DI G $ 1D 2 1G
7 R + S ' *
Operadores Derivados
# %
#
&
1D 1G
θ
1D θ 1G
"
E[F$
1D D θ 1G D [ 1D G θ 1G G
-
9
F! <
% $ Fθ
, $ θ /D *1D+
/G *1G+ F! $
/D /G
Sθ D
D I G / D
I G $
1 2 1G
% c ^Z D % G
* e+
# " (
1 $
12'>/ .;/>
; ; $ /
A : / . ;& A 1
& , " ) 2- ; &
& . - = &? A 1
7 R + S ' 0
&
/89 ) L $3)
*12'>/ Z .;/> +
; ; $
A : / . ;& 1
A : / . &? & 1
& . - = ;
. *∩+
/D /G
%
( 1
$
12'>/ " .'>/
; ; $ ; ; $
, : / . - : "/ .
& , " ) 2- [ : 2 :[
& . - = & . - =
/89 ) ∩ +$9 )
; ; $
& . - =
, $ & /D /G
$ /D ∩ /G /
* /D /G # + % $
cZT 9 ∈ D d ∈ GU
) ! #
" # # 8
# # #
#
(
<
#
& 0
" #
2 9 < (
# !
!
7 R + S '
# 12'>/ .;/>8
^& " ) 2 - Y 12'>/
.;/>
- #
(
%
# !
"
% ( 9 <
(
* 9e+
12'>/ .;/>
; ; $ /
A : / . ;& A 1
& , " ) 2- ; &
& . - = &? & A 1
/89 ) L $3)
*12'>/ Z .;/> +
; ; $
A : / . ;& 1
A : / . &? & 1
& , " ) 2-
& . - = ;
7 R + S ' 8
* +
&?
( :
# &? &?
( &?
Historia
GH ) &? #! * +
" DPPG 1:&. .&>
* ( +
( &?
! " &?
1:&.5&? &? PG !
1:&. )
&?
" &? !
4f * - g+
&?
2 ! ! # " (
&>
&?
& &?
* + 2
$ : %: "
&?
7 8R < &
1
*H5:+
*D5:+ 1 &? E F
(
! "
>
# # $
h1 b
# $ DG4
# $h 9 9 b
# * # g+
" #
! > &?
& 9 . )
<1/ 1/G* + < % D VHHH
" % )
VHHH ! D &
" % )
! VHHH
&
>:3 # G3 D G3
1/* + D GHHH
" % )
G HHH " ! )
D
: 1/* + D GHHH
" % )
! G HHH " !
) D D
>; 2 D V3
#
1/ "
) % V3
: >; 2 D V3
#
7 8R < & -
: 1/ "
) % V 3 1
: :2=;"/* + : *
! + "
D 4C
# 5CV DGQ
, 9 1'" , # A D
VQDG ; 4D PPPP 1
'.="&'1=-* + 1) ! <
!
5
&" >:
.:'"/<1 - )
* # H P
["1/* + '>
G+
=>:'
.:"/<1 - !
* # H
1[* + '>
P G+
=>:'
; /1W* + D GHHH
" ) %
G HHH
>:3 /1W D G3
G3
; >; 2 " ) % D V3
V3
;,. " ( D V3
- .9> %
# "
) % V3
, />W. %
2/>W. M* +O %
( ! " ) %
* + VHHH
&? > (
1:&.5&? >
# $
9 /;.$:.7 9
1/1 '"/* +
1/* +
1/* +
1/1 '"/ <1/[.:3* +
<1/ 1/* +
1/ <1/[.:3* +
:1'.>:1 1/1 '"/* +
:1'.>:1 1/* + : 1/* +
: 1/* +
:1'.>:1 1/1 '"/ <1/[.:3* +
:1'.>:1 1/ <1/[.:3* + :<1/ 1/G* +
: 1/ <1/[.:3* +
:2="/. * +
:2=;"/* +
" .=1 * +
7 8R < & -
.:'"3"/
.:' :2;"/*4C+
&=1 .:'
, >1'* +
>2; " -/" .&.>: :2=;"/
/"1
! "
= &?
# # $
h1 b
# $ DG4
# $E 5 5 F
# * # g+
1
&? = &? -
# " % # (
* D G66+ !
,
& 9 . )
7 8R < & -$
[ # (
> = &? [ !
(
# $
1 $ ( #
* +$ ( #
Operadores aritméticos
/ #
.
I > D IG
5 > D BG
e > D eG
9 > # D 9G
Operadores lógicos
/ # *# +
.% .
Z . D ZG
jZ ^Y dZ D jZ G D ^Y G D dZ G
Y = D YG
^ = D ^G
YZ = D YZ G
^Z = D ^Z G
.: */&+ . D .: *D G+ M'/2"O
Z j
Z ^ ^Z Y YZ
>/
^ Y1 ^ Y DH ^Z 1 *D G 4 DH+
M'/2"O
* +
Z j
Z ^
^Z Y YZ 1:
7 8R < & -
.X" " h b .X" h kb
.& :2 & D.& :2
.& :>':2 & : D .& :>':2
:>' : :>' "0.&'&g :>'
;"'W"": :>'.: :>'Z
1: 1: DZD 1: G .& :2
" .X" # e l
=&5 >& "% $
k$ : * H ∞+ " = &? e
@$ 2
" $
'/2"
h .X" h @ k k @b
h b .X" h kb * h b+
h b .X" h kb
h b .X" h k b* h b h b+
h b .X" h k b
Operador de concatenación
/ * > +
.% .
mm h b mm h b MbA bO
> #
# $
DH mm GH Z hDHGHb
" 1&'.:3
( # #
# #
' # * + # :2
# 1 ! *:2=;"/ <1/ 1/G
1'"g+ :2 2 :2
:2 - # :2 ( .&
:2 .& :>':2
7 8R < & -(
" = * = +
" =
) &?
;
$ &" " ' .:&"/' " "'" 2- 1'"
- #
# $
9
M; + $ +
1DDD D 6H D69DG9GHH4 H
1DDG 4 DG6 DQ9DG9GHH4 H
1DD4 6 GHH DQ9DG9GHH4 H
1DDV 6 Q6 DC9DG9GHH4 D
1DD6 D DHH DP9DG9GHH4 G
1DDN Q DVH GH9DG9GHH4 D6
1DDQ 4 DG6 GD9DG9GHH4 H
1DDC G D6H GD9DG9GHH4 4
1DDP P GHH GG9DG9GHH4 H
9 &
M+ ; / + * &*
D A 3 ( ( 9= D DVHHG
G A = ! (& ( 1# - DH A G4HH4
4 A # 1 : -( = DG & # VDHHG
6 1 ; 9, C ( DDHHV
Q 1 ; & 1# A 00... G # GDHHV
P = > -( = D 3 DCHHQ
La sentencia SELECT
% $
SELECT ítems de selección
FROM tablas
WHERE condición
GROUP BY agrupación
HAVING condición agrupada
ORDER BY ordenación;
. &9$ !
!
7 8R < & -*
*E F+ !
( 2 ! $
• 2
,/>=
! &? #
>
( % $ '1; 1 > 2=:1
• 2 # #
• 2 % &? &? #
%
&?
) '$
"
% % !
" &?
& &" " ' ( &?
# # (
& #!
( &?
# # "
9
# 3
# #
Consultas sencillas
&?
-
SELECT dni, nombre, dirección
FROM Cliente
Columnas calculadas
#
# &?
# #
9 &? -
% &? -
% &? ( #
# -
SELECT numero, importe, importe – (importe * dto)
FROM Factura;
/
"
#
7 8R < & -0
- $
SELECT numero, MONTH(fecha), YEAR(fecha)
FROM Factura;
!
)
1# # # (
&? ( *e+
# "
-
SELECT * FROM Cliente;
! '
1 !
) ! - $
SELECT *, dni FROM Cliente;
Filas duplicadas
& #
& #
-
SELECT dni FROM Factura;
-
1
3
5
5
1
7
3
2
9
1 # &
/ * +
1
3
7 8R < & -
5
7
2
9
" $
1 50
3 125
5 200
5 75
1 100
7 140
3 125
2 150
9 200
# '
# 1 % !
3
W "/"
- (
# "
# 1:
>/
- DHH n
SELECT * FROM Factura
WHERE importe > 100;
& # :2
% W "/"
&?
W "/" 1 %
( &?
" &? #
% & %
%
! -
7 8R < & -8
SELECT numero, dni
FROM Factura
WHERE importe > 100;
/ DHH
n -
SELECT *
FROM Factura
WHERE dto = 0 OR importe < 200;
H GHH
>
SELECT numero, importe – (importe * dto), fecha,
MONTHNAME(fecha)
FROM Factura
WHERE importe – (importe * dto) < 150 AND MONTH(fecha) = 3;
" / '
' D6H
' 4 #
# (
&?
" # #
. % &? %
# % %
% -
SELECT numero, dni, importe, fecha
FROM Factura
WHERE fecha BETWEEN ‘01/01/2004’ AND ‘31/01/2004’;
D
GHHV 4D GHHV
GHHV ! $
SELECT numero, dni, importe, fecha
FROM Factura
WHERE fecha >= ‘01/01/2004’ AND fecha <= ‘31/01/2004’;
- # #
% ;"'W"": %
% %
%
7 8R < & -
H D G
& ! #
SELECT * FROM Factura
WHERE dto = 0 OR dto = 1 OR dto = 2;
' #
# # # :>' -
SELECT * FROM Factura
WHERE dni NOT IN( 2, 3, 5 );
" # ( ! G 4
6
1 # .X" 1
# &" " ' & (
%
% -
! -
SELECT * FROM Cliente
WHERE nombre LIKE ‘J%’;
# # ! ( hAb
"
SELECT * FROM Cliente
WHERE poblacion LIKE ‘S%a’;
# # ! ( h&b h b
" % !
%
' % %
:>' .X" -
SELECT * FROM Cliente
WHERE nombre NOT LIKE ‘PE%’;
! h-"b
1 # % ! # :2
&? #
"
SELECT * FROM Factura
WHERE dto IS NULL;
# *.& :>':2 +
# :2 -
SELECT * FROM Cliente
WHERE direccion IS NOT NULL;
7 8R < & --
Ordenación de los resultados de una consulta. Cláusula ORDER BY
1
&
&?
>/ "/ ;[ &" " ' >/ "/ ;[
-
SELECT * FROM Cliente
ORDER BY apellidos, nombre;
* + #
* + # #
(
# # 2 ( >/ "/ ;[
%
&" " ' *
+ % &? !
* D +
' * V +
& (
"
2 (
#
g !
7 8R < & $
2 &?
( -
1<3*+ !
( 1<3*+ #
,
SELECT AVG(importe), AVG(dto)
FROM Factura;
#
#
( , '
# %
SELECT AVG(importe – importe * dto)
FROM Factura;
$
+
&2=* # + /
1<3* # + /
=10* # + / %
=.:* # + / !
>2:'*# me + /
&2=*+ #
"
#
- #
SELECT SUM(importe)
FROM Factura
"
1<3*+ #
1 &2=*+ [
1<3*+ # #
# #
=.:*+ =10*+ #
#
9 "
-
7 8R < & $ $
SELECT MIN(fecha) FROM Factura;
-
SELECT MAX(cp) FROM Cliente;
- % !
SELECT MAX(importe), MIN(importe)
FROM Factura;
>2:'*+ #
>2:'*+ # #
-
SELECT COUNT(dni)
FROM Cliente;
N N
SELECT COUNT(importe)
FROM Factura
WHERE importe > 100;
" N , N
DHH n > # >2:'*+ #
"
>2:'*+ "
! !
SELECT COUNT(nfactura)
FROM Factura
WHERE importe > 100;
% ) E
F E 8
E F - ( &?
>2:'*e+ ?2" 2":'1 ,. 1& ": 231/ " <1 >/"& "
1'>& ! # ( (
>2:'*e+
SELECT COUNT(*)
FROM Factura
WHERE importe > 100;
>2:'*+
# # #
7 8R < & $
! % #
# :2
/ # .&'.: ' (
' &? #
- #
# .&'.: '
-
SELECT COUNT( DISTINCT dni )
FROM Factura;
# # # N
, " .&'.: ' &2=*+ 1<3*+
=.:*+ =10*+ " >2:'*+
(
( >2:'*e+
1 # .&'.: ' # (
&
1
# ( #
E F 3/>2- ;[ &" " '
-
SELECT dni, SUM(importe)
FROM Factura
GROUP BY dni;
" #
&" " '
3/>2- ;[ # &" " ' .&'.: '
&? $
D &? #
#
G - &? # .=->/'"
" $
dni sum(importe)
--- ------------
7 8R < & $ (
1 150
2 150
3 250
5 275
7 140
9 200
2 3/>2- ;[
3/>2- ;[
" $
SELECT fecha, COUNT(*)
FROM Factura
GROUP BY fecha;
! &?
3/>2- ;[ 3/>2- ;[ &?
#
"
'
#
,/>= :
# %
'
'
# ;
$
• 2
• 2 # (
• 2 #
• 2 %
7 8R < & $ *
"
&
% (
&" " ' .&'.: ' 3/>2- ;[
2 # :2
& # *
! l" W "/" #
:2 :2 * '/2"+ # :2
1 # :2 ( !
&? :2
1 W "/" (
( # 1<.:3
( ( "
1<.:3 W "/"
# 1<.:3 1<.:3
-
SELECT dni, AVG(importe)
FROM Factura
GROUP BY dni
HAVING SUM(importe) > 200;
" 1<.:3
GHH n , &" " '
> !$
SELECT dni, fecha, SUM(importe – importe * dto )
FROM Factura
GROUP BY dni, fecha
HAVING COUNT(*) >= 2;
! '
(
>
SELECT dni, MIN(importe)
FROM Factura
GROUP BY dni
HAVING MIN(importe) > 50;
" !
6H - !
1<.:3 ( %
# "
7 8R < & $ 0
(
1<.:3 $
• 2
• 2 ( #
• 2 #
• 2 %
" 1<.:3
&
! % W "/" #
"
W "/" 1<.:3 $
• W "/" #
% #
• 1<.:3
%
1<.:3 (
3/>2- ;[ % &" " ' &
1<.:3 3/>2- ;[ &?
"
1<.:3
%
" 1<.:3
3/>2- ;[ #
! &? (
2
W "/" 1<.:3 &? !
Listar el dni, nombre, apellidos y dirección de los clientes
que tienen facturas con importe superior a 100 .
#
*lll+ "
DHH n
$
SELECT DISTINCT dni
FROM Factura
WHERE importe > 100;
7 8R < & $
# !
DHH n "
-
$
SELECT dni, nombre, apellidos, direccion
FROM Cliente
WHERE dni IN ( SELECT DISTINCT dni
FROM Factura
WHERE importe > 100
);
• 2
"
&" " '
• >/ "/ ;[
(
#
# E F
"
! %
W "/" & # &:?
W "/" '
( *,D
,G+
*&:? + *&;? + "
, ! ! (
#
7 8R < & $ 8
W "/"
- $
9
M ) &
DD 1 4HHHHH
GG 1 & # 6Q6HHH
44 1 ( CHHHHH
VV "% ; ( QHHHHH
9 )
M+ ; >) & ,
D A DD 46HHHH 4NQPDD
G A GG 4HHHHH 4PGQG6
4 A # DD 46HHHH VQVH6H
6 1 44 GQ6HHH GPPPDG
Q 1 GG GHHHHH DVG6PV
P = 44 4HHHHH 4H6NQ4
9 *
M; ) & $ +
1DDD G D 6HH D69DG9GHH4 H
1DDG 6 4 DG6H DQ9DG9GHH4 H
1DD4 Q 6 GHHH DQ9DG9GHH4 H
1DDV Q 6 Q6H DC9DG9GHH4 D
1DD6 6 D DHHH DP9DG9GHH4 G
1DDN 6 Q DVHH GH9DG9GHH4 D6
1DDQ G 4 DG6H GD9DG9GHH4 H
1DDC 4 G D6HH GD9DG9GHH4 4
1DDP P P GHHH GG9DG9GHH4 H
&
Lista de las oficinas donde el objetivo de ventas de la
oficina supera a la suma de las cuotas de los vendedores
individuales
SELECT ciudad
FROM Oficinas
WHERE objetivo > ( SELECT SUM(cuota)
FROM Representante
WHERE oficina_rep = oficina );
%
W "/" # %
/ - W "/"
% / "
>
&? > ( #
#
7 8R < & $
# % / (
# > (
(
2
W "/" 1<.:3 1
( 1 &?
/
"
# % # # #
'/2" " (
# % #
SELECT *
FROM Representante
WHERE cuota >= ( SELECT objetivo
FROM Oficinas
WHERE ciudad = 'Córdoba');
# # #
" # ( #
#
"
*Z ^Y ^ ^Z Y YZ+
& &?
&
# :2 # # :2
" *.:+
#
# # #
'/2" # # " (
# %
#
SELECT *
FROM Representante
WHERE Oficina_rep IN (SELECT Oficina
FROM Oficinas
WHERE ventas > cuota );
7 8R < & $ -
Lista los clientes que no tienen factura con importe superior
a 100 .
"
# W "/" #
# "
.: % .:
% #
% !
" % *"0.&'&+
:
% 8 ( -
Listas los clientes que tienen al menos una factura con
importe superior a 100 .
SELECT *
FROM Cliente
WHERE EXIST ( SELECT *
FROM Factura
WHERE Factura.dni = Cliente.dni
AND importe > 100 );
&?
DHH n & *
+ "0.&'& # # '/2" &
"0.&'& ,1 &" " "0.&'& #
:2
# .: #
# &?
1:[ 1 %
*Y+ *^+ 1
# #
" 1:[ (
&? *Z ^Y ^ ^Z Y YZ+ #
# - &?
( #
7 8R < & $$
# # (&
# '/2" 1:[ # # '/2"
-
Lista los Representantes que han hecho algún pedido cuyo
importe supere el 10% de su cuota.
SELECT *
FROM Representante
WHERE ( cuota * 0.1 ) > ANY ( SELECT importe
FROM Pedidos
WHERE rep = dni );
% /
#
# # W "/"
( #
( #
& % #
^ 1:[ # # '/2" #
# &>=" # 1:[
&? 1:&.9.&> # (
&3;
" 1 (
&? *Z ^Y ^ ^Z Y YZ+ #
# -
&? (
# # &
# '/2" 1
# # '/2" # # ,1 &" -
Listar las oficinas y sus objetivos donde todos los
vendedores tienen ventas que superan el 50% del objetivo de
la oficina
% >
#
p p # # #
# W "/" 6Hk
# ( # #
& # # % #
^1 # # '/2" &
Subconsultas anidadas
' !
#
"
1 !
#
,
% #
( # (
# " &? 1:&.9.&>
% #
#
!
#
1
W "/" ( 1<.:3
1<.:3
1<.:3 -
Listar los representantes cuyo tamaño de pedido medio es
superior al tamaño de pedido medio global
)
-
1<.:3
# )
& !
8 , &" " '
#
)
7 8R < & $$
"
- g o
l"
,/>=
<
SELECT numero, Factura.dni, Cliente.dni, nombre, importe FROM
Factura, Cliente;
& $
9
M; + $ +
1DDD D 6H D69DG9GHH4 H
1DDG G DG6 DQ9DG9GHH4 H
1DD4 6 GHH DQ9DG9GHH4 H
1DDV 6 Q6 DC9DG9GHH4 D
1DD6 D DHH DP9DG9GHH4 G
9 &
M+ ; / + * &*
D A 3 ( ( 9= D DVHHG
G A = ! (& ( 1# - DH A G4HH4
6 1 ; 9, C ( DDHHV
"
; + + ; $
/ N 6F
1DDD D G A 6H
1DDD D 6 1 6H
1DDG G D A DG6
/ ! ! ! N !6
1DDG G 6 1 DG6
1DD4 6 D A GHH
1DD4 6 G A GHH
/ " 6 6 / !FF
1DDV 6 D A Q6
1DDV 6 G A Q6
/ 5 6 6 / C6
1DD6 D D A DHH
1DD6 D G A DHH
/ 6 6 / FF
- #
,1 '2/1
.":'" -
.":'"
& ? Z ?
,!
" $
; + + ; $
1DDD D D A 6H
1DDG G G A DG6
1DD4 6 6 1 GHH
1DDV 6 6 1 Q6
1DD6 D D A DHH
# #
% W "/" #
N $; * +
&
DHH n
SELECT numero, Factura.dni, Cliente.dni, nombre, importe
FROM Factura, Cliente
WHERE Factura.dni = Cliente.dni
AND importe > 100;
" *& ? = ? +
&
9 8
#
&
9 *
M* M % ) 8 * +
9 /
M/ M % ) 8 * + * *
" ! 1 # %
* + ! - -
$
Listar las líneas de albarán y las líneas de pedido para
aquellas líneas donde unidades pedidas son superiores a 10.
&?
1 -
#
&? (
( &
$
9 *
M* M % ) 8 * +
9 /
M/ M % ) 8 * + * *
9 /
M; & >*
,
Listar el número de albaran, fecha, forma de pago, línea de
albarán, referencia del artículo en el albarán, unidades
vendidas en el albarán y unidades pedidas.
" # % 1
# % 1 ( !
# % - (
!
Join externo
"% $
" # (
# :2 1 ( (
# :2 %
:2 #
& (
$
9
M; + $ +
9 &
M+ ; / + * &*
D A 3 ( ( 9= D DVHHG
G A = ! (& ( 1# - DH A G4HH4
6 1 ; 9, C ( DDHHV
& ( * +
E1DDGF E1DDVF
:2 # *WHERE Factura.dni = Cliente.dni),
# #
1 E1DD6F EQF
% &
%
:2
- ( * % + A>.:
%
% % $
< " %
!$
SELECT numero, Factura.dni, Cliente.dni, nombre
FROM Factura
OUTER JOIN Cliente
ON Factura.dni = Cliente.dni;
!$
; + + ;
1DDD D D A
1DD4 D D A
7 8R < & $$
1DD6 Q : :
1DDG : : :
1DDV : : :
: : G A
: : 6 1
#
& ,
#
:
# :
& % (
, !$
SELECT numero, Factura.dni, Cliente.dni, nombre
FROM Factura
LEFT JOIN Cliente
ON Factura.dni = Cliente.dni;
!$
; + + ;
1DDD D D A
1DD4 D D A
1DD6 Q : :
1DDG : : :
1DDV : : :
" %
) (
!$
SELECT numero, Factura.dni, Cliente.dni, nombre
FROM Factura
RIGHT JOIN Cliente
ON Factura.dni = Cliente.dni;
!$
; + + ;
1DDD D D A
1DD4 D D A
: : G A
: : 6 1
#
* +
,
#
! !
$
SELECT numero, Factura.dni, Cliente.dni, nombre
FROM Factura
INNER JOIN Cliente
ON Factura.dni = Cliente.dni;
&? (
(
&" " '
&? &?
% & &3;
( # (
" &3;
(
-
$
• .:&"/' ) #
• " "'"
• 2- 1'" %
) )
" &3; &?
) # $
• 2 .:&"/' ) #
& (
• 2 .:&"/' %
)
• 2 # )
% & (
.:&"/' ) #
.:'> # * <
<1 2" # #
# # #
INSERT INTO tabla [( lista de columnas )]
VALUES( lista de valores );
7 8R < & $$
&
# ( &?
# .:&"/'
" .:&"/' 5
# <1 2"& #
#
#
" 1:&.9.&> %
: % J
-
INSERT INTO Factura (numero, dni, importe, fecha )
VALUES( ‘A111’, 1, 155, ‘22/12/2003’ );
.:'> ( :2 *
# + & % !
# :2 #
:2 # " .:&"/' %
.:&"/' )
" .:&"/' #
# % ! %
" #
# #
% )
-
& ;IIJ ) GHHV !
$
INSERT INTO Facturas2004
SELECT * FROM Facturas WHERE YEAR(fecha) = 2004;
1
.:&"/' *
+
% !
# -
!
# ( .:&"/' ) &
;=&
.:&"/' &
!
# -
6H HHH
# (" !
- ( ;=& 5
# #
# " &? 1:&.9.&>
&? #
!
)
" "'"
,/>=
W "/"
# " # &" " ' # (
& % $
DELETE [FROM] tabla
[WHERE condición];
- $
DELETE FROM Cliente
WHERE dni = 1;
W "/"
&? W "/"
7 8R < & $
% W "/" !
&" " '
W "/" " "'"
W "/" &" " '
/ W "/"
&" " '
!
W "/" " "'" &
D !
- $
DELETE FROM Pedidos
WHERE cli = 1;
" W "/" # -
&? &?
W "/" -
'/2"
,1 &"
:2 >
Eliminar todos los pedidos anteriores al 20/8/2004
& W "/" -
$
DELETE FROM Pedidos;
1 " "'" # !
- -
% #
- .:&"/' -
(
/>- '1; " * +
) " "'"
( &?
# ( W "/"
&" " ' # (
( W "/"
" "'"
" "'"
1#
-
K . &
- "
?
! # " "'" ( $
DELETE FROM Pedidos
WHERE Rep = ( SELECT dni
7 8R < & $ $
FROM Representante
WHERE nombre = 'José' );
K . W "/"
#
" "'"
! " "'" (
$
Borrar los pedidos de la oficina de Córdoba
W "/" !
W "/" &" " ' '
% " "'" 1
,/>= " "'" ,/>=
&" " ' !
% $
Borrar los clientes que no han hecho pedido desde el 10 de
septiembre.
" "'"
-
" "'"
)
2- 1'"
# &
% $
UPDATE tabla
SET campo = valor,
campo = valor,
. . .
[WHERE condición];
(
(
7 8R < & $
# W "/"
&"' # (
# # !
D ' ;;L:;L;II@
UPDATE Factura
SET importe = 1000,
dto = 1.5
WHERE dni = 1 AND
fecha = ‘22/12/2003’;
W "/" % ( !
" "'" &" " '
W "/" 2- 1'"
% &" " '
" "'"
UPDATE Pedidos
SET dto = dto + 0.5
WHERE rep = 2;
" W "/" # -
# &?
2- 1'" - (
'/2"
,1 &" :2
&"' 2- 1'"
(
# #
! # ( 8 !
1:&.9.&> %
&? :
% J
% % &?
# %
# (
:
& %
# ( % #
(
W "/"
- 2- 1'"
7 8R < & $ (
UPDATE Representante
SET cuota = 400000, ventas = cuota
WHERE cuota < 400000;
1 ( A ! #
46H HHH n # 4NQ PDD n (
# 46H HHH n ! VHH HHH n "
&"' 8
UPDATE Representante
SET cuota = cuota + 50000;
1 " "'"
2- 1'"
( !#
2- 1'" ( $
Actualiza la tabla Representante añadiendo 50000 a su
cuota, para los representantes que han hecho pedidos en el
mes de septiembre
UPDATE Representante
SET cuota = cuota + 50000
WHERE dni IN ( SELECT rep
FROM Pedidos
WHERE MONTH(fecha) = 9 );
UPDATE Representante
SET cuota = cuota + 10000
WHERE cuota > ( SELECT SUM(importe)
FROM Pedidos
WHERE rep = dni );
UPDATE Representante
SET objetivo = objetivo + objetivo * 0.1
WHERE 3 < ( SELECT COUNT(*)
FROM Pedidos
WHERE rep = dni );
UPDATE Representantes
SET ventas = ( SELECT SUM(importe)
7 8R < & $ *
FROM Pedidos
WHERE rep = dni );
" "'"
!
$ ,/>=
# "
*
( +
%
W "/" 2- 1'"
#
" * +
" % &? ! #
% $
CREATE TABLE nombre_tabla(
definición de columna1,
definición de columna2,
…
definición de columnaN
[definición de constraint1,]
[definición de constraint2,]
…
[definición de constraintM]
);
$
nombre_columna tipo_datos
[NOT NULL|NULL]
[DEFAULT valor predeterminado]
[PRIMARY KEY]
[CHECK expresión lógica]
…
# :>' :2
# # ",12 '
# ( #
-/.=1/[ X"[
# " X 2
# #
7 8R < & $ 0
$
[PRIMARY KEY (columnas clave primaria)]
[INDEX nombre índice (columnas índice)]
[UNIQUE [INDEX] nombre índice (columnas índice)]
[CONSTRAINT nombre FOREIGN KEY [nombre índice] (columnas
índice) [referencia]
$
REFERENCES nombre tabla [ (columnas índice) ]
[ON DELETE {CASCADE | SET NULL | ... } ]
-/.=1/[ X"[ #
#
.: "0 !
2:.?2" #
# ,>/".3: X"[ # %
# %
# % >: " "'"
( (
* " "'"+ "% >: 2- 1'"
( *2- 1'"+ "
1:&.5&? >/1 " != &?
,1 '2/1 !
> $
CREATE TABLE FACTURA(
numero VARCHAR2(10) NOT NULL PRIMARY KEY,
dni INTEGER,
importe NUMBER(9,2),
fecha DATE,
dto NUMBER(5,2),
CONSTRAINT FK_CLIENTE(dni) REFERENCES Cliente(dni)
ON DELETE CASCADE;
# #
:>' :2 ( # 1
# # % .":'" *
# + >: " "'"
1& 1 "
# %
,1 '2/1 .":'"
! % $
CREATE [UNIQUE] INDEX nombre_índice
ON tabla( columnas_indexadas )
2:.?2" % #
%
-
7 8R < & $
# "
!
- ,1 '2/1
" ,1 '2/1
# * / + &
! $
CREATE INDEX ind_factura_cliente
ON FACTURA( dni )
: 2:.?2" !
& #
* # +
#
CREATE VIEW TOTAL_FACTURA_CLIENTE AS
SELECT Factura.dni, nombre, SUM( importe )
FROM Factura, Cliente
WHERE Factura.dni = Cliente.dni;
[ # $
SELECT * FROM TOTAL_FACTURA_CLIENTE;
% # $
CREATE VIEW nombre_vista [(lista_columnas)] AS
Subconsulta;
#
# - # %
/"1'" <."W
# &
7 8R < & $ 8
&
!
&
/"1'" <."W #
& #
' 0 - #
& #
- #
#
2 # ( (
.:&"/' 2- 1'" " "'" - #
# #
# #
( " #
(, !
.:&"/' #
INSERT INTO Cli_Ord
VALUES( 10, ‘Ernesto’, ‘Martínez Segura’, ‘c/ Mayor, 111’,
‘Madrid’, 28010);
7 8R < & $
& # (&
# #
(
- # (
#
# :2
.:&"/' #
# * +
& .:&"/'
# M N #
# &" " ' # #
- # #
&" " '
W.' " X >-'.>: # ! !
CREATE VIEW Cli_Cor AS
SELECT *
FROM Cliente
WHERE población = ‘Córdoba’
WITH CHECK OPTION;
& ( #
# &? (
:
(
" !
7 8R < & $ -
/ # &" " '
#
(
1 '"/ '1; "
1 '"/ '1; " $
• 1)
• #
• # #
• " # %
&3; !
%
ALTER TABLE tabla
| ADD [COLUMN] declaración_columna
| ADD INDEX nombre_índice (columnas índice)
| ADD PRIMARY KEY (columnas_índice)
| ADD UNIQUE nombre_índice (columnas_índice)
| DROP [COLUMN] nombre_columna
| DROP INDEX nombre_índice (lista_columnas)
| DROP PRIMARY KEY
| MODIFY [COLUMN] declaración_columna
| RENAME [AS] nombre _tabla_nueva
| ADD [CONSTRAINT [nombre_restricción]]
PRIMARY KEY (columnas_índice)
| ADD [CONSTRAINT [nombre_restricción]]
UNIQUE (columnas_indice)
| ADD [CONSTRAINT [nombre_restricción]]
FOREIGN KEY (columnas_indice)
[referencia]
& :>' :2
#
7 8R < & $(
&3; ) # #
#
& ) !
ALTER TABLE Cliente
ADD INDEX (nombre);
- &
ALTER TABLE Factura
DROP COLUMN importe;
& # &
! ) !
ALTER TABLE Factura
ADD CONSTRAINT fk_factura FOREIGN KEY (dni) REFERENCES
Cliente(dni) ON DELETE RESTRICT ON UPDATE CASCADE;
&
ALTER TABLE Cliente RENAME AS Cli;
"
$
D # ( &3;
(
" &3;
G
&?
# !
(
4 #
2
&" " ' .:&"/'
" "'" 2- 1'"
2
#
- (
3/1:' #
2 # ( #
/"<>X"
3/1:' ( #
! & % $
GRANT privilegio [(lista_col)] [, privilegio [(lista_col)]]…
ON tabla TO usuario [, usuario]…
7 8R < & $ ($
[WITH GRANT OPTION]
% 3/1:'
#
# 1:&.9.&> &? $ &" " '
.:&"/' 2- 1'" " "'" &3; #
& #
&
GRANT DELETE ON Facturas TO maria, rafa
- 2- 1'" ( #
# ( !
!
# ( - #
2- 1'" & !
# 3/1:'
/"<>X" & % $
REVOKE privilegio [, privilegio ]…
ON tabla FROM usuario [, usuario]…
- # (
" #
W.' 3/1:'>-'.>:
! - #
#
#
REVOKE INSERT ON Cliente FROM rafa;
7 8R < & $(
&?
= *&" " ' .:&"/' " "'" 2- 1'"+
1&'@ 1[* + / !
=>:' &@;"'W"":* D G+ /
/>2: * + /
*e+
'/2: * + '
*e+
7 8R < & $ ((
h["1/b h[[[[b h[b - )
Funciones de conversión
+
1/'>/>W. * + # />W.
/>W. '> 1/* 7 + # />W.
Otras funciones
+
2=-* + /
3/"1'"&'* % D % G % :+ / %
"1&'* % D % G % :+ / %
:< * % D % G + / % G % D :2
% D
2&"/"<:* + /
# # $
h.& ;1b$ / h'/2"b
# ;1
h 1:3213"b$ . #
h'"/=.:1 b$ :
(
h&"&&.>:. b$ : #
= &? $
Funciones de cadena
+
1& ..* + # # 1& .. (
1/* + # # 1& ..
1/* g+ # # 1& ..
O
7 8R < & $ (*
;.:* + # #
>1 "& "* % D %G # #
g+ %
>: 1'* D G g+
" '* D G g+ # #
,." * D G ; # #
g+
>:<* D G+ # : ;?
,>/=1'* + ,
?
"0* + %
> '* +
.:&"/'* &
+
1&"* + #
>W"/* +
2 1&"* + #
2--"/* +
",'* + (
/.3 '* +
> 1'"*
+ (
& (
":3 '* + # #
-1 * D+ 1) : ( #
'/.=* + # #
(
=. * + (
->&.'.>:*
+ (
" #
$, )9 <
/"-"1'* + / #
/"- 1 "* D G / (
4+
/"<"/&"* + # # #
/-1 * D+ 1) : #
/'/.=* + # #
&2;'/.:3* + # #
7 8R < & $ (0
Funciones numéricas
+
1;&* + <
1&.:* + 1 * +
1 >&* + 1 * +
1'1:* + 1 * +
1'1:G* + a * +
/>2: * + / %
/>2: * + / *
+
&.3:* + < D # 5D #
&.:* + &
&?/'* + / !
(
'1:* + '
'/2: 1'"* + # #
&
&
7 8R < & $(
?21/'"/* + # # D V
W""X* + # # H 6G
' * (
+
W""X* + # # H 6G
' * (
ZH ( ZD+
W""X 1[* + # # H * + N * +
! '
["1/* + # # DHHH PPPP
) '
'>@ 1[&* + # # !
) H
:>W*+ &[& 1'"*+
1111==
2/ 1'"*+ 11115
2//":'@ 1'"*+ ==5
2/'.="*+ # #
2//":'@'.="*+
1'"@,>/=1'* # # '
+ k& k k k k k. kS k k'
k k kW k k k k k7 k k2 k
k= k k k k k[ kk
,/>=@ 1[&* + # # # * !
) H+
'>@ 1[* + # # * ! ) H+
'
1'"@1 * 1) '
.:'"/<1 + # $ &" >: =.:2'"
1 1'"* >2/ 1[ =>:' ["1/ =.:2'"@&" >:
.:'"/<1 + >2/@=.:2'" >2/@&" >: 1[@ >2/
1[@=.:2'" 1[@&" >: ["1/@=>:'
1'"@&2;* / '
.:'"/<1 + #
&2; 1'"*
.:'"/<1 +
"0'/1 '* ,/>= ' '
+ #
-"/.> @1 * + 1) #
-"/.> @ .,,* D
G+
&" @'>@'.="* + # # #
'.="@'>@&" * + # # # '
'.="@,>/=1'* # # '
+ 1'"@,>/=1'
Funciones de comparación
+
3/"1'"&'* % D %G # # #
g+
"1&'* % D % G g + # #
.,* % D %G % 4+ # # 2; 2: # 2@ 2:
7 8R < & $ (8
.,:2 * %D % G+ # # 2; 2: :2 2:
.:'"/<1 * D G g+ ^ : ^ ; ! #
5D :2
.&:2 * % + # # D 2 :2 H
&'/ =-* D # # D : Z ; H
G+ :2 :2
Miscelánea de funciones
+
;": =1/X* %+ "# 2 # # 1
H
!
1'1;1&"*+
": > "* 5
)+
" > "*
)+ # )
": /.-'* + " #
3"'@ > X* + / ( #
%
/"1 "1&"@ > X* + #
= 6* +
= 6 /&1 # # 4G
! %
-1&&W>/ * + #
= &? #
2&"/*+
&"&&.>:@2&"/*+
&[&'"=@2&"/*+
<"/&.>:*+ # # = &?
7 8R < & $(
, +
= &?
- - - '= # (
(
. W
# . "
#
& = &? #
)
# W 7 2:.09 .:20 1
= &? - - '= )
W = &?
W 1 = &? 7
) W 7 # =0
"
= &? # & ( #
= &?
# &? &
&?
1
% # #
#
$ $
- # = &? W 7 :'9GHHH90-
$
D 7 = &? #
= &? 5 # W 7
G (
4 " %
V %2 #
6 " )! * ! + * ( +
%2
N "
B
P !
7 R+ / < & $ (-
2 # ( # !?
B
PH H ( O ' .7 / 0
B
P ! P 1 % #
B
PH H P !? $
#
) #
!? " #
( > ;
)
1 # #
# = &? #
Comprobación de la instalación
-
! ' H? 2 B
P ! P 1
= &?
$ !
1 # #
W = &? 1 & #
& #
" # #
W = &? 1 #
# !?
& ) $
D & 7 5=
7 R+ / < & $*
G W : 5 #
W = &? 1 # & # %
#
& 'H $
( #
# # ! %
# !? #
% # # g
-
!
- ) !?
'
1 % 32. &?
# = &?
* =&5 >&+
( %
- ( ! #
=&5 >& B
P ! P P
B '
& #
7 R+ / < & $ *$
( ! ! 8 &?
#
# % #
) "
)
2 # ( = &?
) "
#
( "
# ) -
) $
Q H Q 1R -S
2T
: - )
1 %
) &
( ! 0 # #
P P
) #
- 2:.09 % %
2 # "
# ! ! G$# #3 +,%? @QR? #
! G$# #3 +
,%? @QR? " #
! # ( ? ? 0
"
7 R+ / < & $*
rpm –i nombre_paquete
& #
# ( # /-=
L L L ! ' L L ?
#
"
$
D 1 #
L L 1 ! = &?
G ! !
4 ! # ! !
V ! # ( ? ? 0 L L
6 0 AL L L ! #
( ? ? 0S 2 #
N 1
% ? 0-
# !
- 5 L L L ! # (
!
Q !
C 1
" # "
L ! ( ( ## = ! ?
P 1 #
?" 'H #
DH #
! " 'H # !
DD #
! " ' # !
DG . # = &?
L ! ( ## = ! T
D4 - # #
# L ! ? L L ?
DV - ) ?L L ! U
H M ( 5N
& = &?
&
L ! ( ( & (
# = &?
7 R+ / < & $ *(
2 ( L ! L ! #
#
# L ! U
' H # #
# L ( ! U T # # (
# #
L ! 'H #
L ! 'H ! #
& = &?
2 # ( = &?
#
*
+ 1
- ( &? /"1'" '1; " % $
CREATE DATABASE nombre_BD;
<
! & 1 ,
- = &?
&
,F 1 &
#
# (
- #
2&" &
USE Almacen;
2 ( * +
* +
# &?
= &? /"1'" '1; " $
CREATE [TEMPORARY] TABLE [IF NO EXISTS] nombre_tabla
( definición de columna 1,
definición de columna 2,
…
definición de columna N )
[opciones de tabla]
[[IGNORE | REPLACE] sentencia de selección]
7 R+ / < & $ **
% $
nombre_columna tipo_de_datos
[NOT NULL | NULL] [DEFAULT valor predeterminado]
[AUTO_INCREMENT] [PRIMARY KEY] [referencia]
| PRIMARY KEY (columnas índice)
| KEY [nombre índice] (columnas índice)
| INDEX [nombre índice] (columnas índice)
| UNIQUE [INDEX] [nombre índice] (columnas índice)
| [CONSTRAINT nombre] FOREIGN KEY [nombre índice] (columnas
índice) [referencia]
| CHECK (expresión)
% $
REFERENCES nombre_tabla [(columnas indice)]
[ON DELETE {RESTRICT|CASCADE|SET NULL|NO ACTION|SET DEFAULT}]
[ON UPDATE {RESTRICT|CASCADE|SET NULL|NO ACTION|SET DEFAULT}]
[MATCH FULL | MATCH PARTIAL]
$
[IGNORE | REPLACE] SELECT ... (Una sentencia SELECT)
& '"=->/1/[
%
%
.,:>' "0.&'& #
% :
" :>':2
# :2
#
",12 ' ( # # (
7 R+ / < & $ *0
12'>@.: /"=":'
# (
"% #
! "
$
-/.=1/[ X"[
!
,>/".3: X"[ # % =
# %
" X
( #
'[-" Z - = .&1=
12'>@.: /"=":'Z /
) % V3 )
1<3@/>W@ ":3' Z / =10@/>W& Z /
# % %
& )
#
" X&2= D
& = .&1=
& -1 X@X"[& D ! )
) ( &
! 1/ <1/ 1/
" ) -1&&W>/
" 1[@X"[@W/.'" D ( #
& (
&" " ' ( #
: #
&" " ' & .3:>/"
/"- 1 " #
% # #
7 R+ / < & $*
Tipos de tablas en MySQL
= &?
% $
# : # %
• $./' 5 " = .&1=
(
• A /* 5 = ! #
" # = &?
# !
!
• $ +3 5 " = &?
# %
# DH = %
C= ( ) %
• 3+3 13 U + 3 25 ' #
% = #
#
(
(
! " ( $ +3
"
( <
# %
7 R+ / < & $ *8
PEDIDO
ALBARÁN nombre
dirección
nalbaran FAMILIA
teléfono
cliente
ventas familia
fecha
PED-REP descripción
forma_envio
forma_pago npedido ARTICULO
total_albarán representante
referencia
L_ALBARÁN FORMA_PAGO descripción
precio_venta
nalbaran forma_pago
precio_compra
nlinea descripción
und_comprada
referencia recibos
und_vendidas
unidades cadencia
existencias
precio dias_1
familia
dto
npedido EFECTOS
nlinea
ALBFAC FACTURA nfactura
nefecto
nalbaran nfactura
fecha
nfactura fecha
fecha_vto
cliente
entidad
sucursal
dc
cc
7 R+ / < & $*
CREATE TABLE Cliente (
nif VARCHAR(10) BINARY NOT NULL PRIMARY KEY,
razon_social VARCHAR(40) NOT NULL,
direccion VARCHAR(40) BINARY,
poblacion VARCHAR(20) BINARY,
provincia VARCHAR(10) BINARY,
telefono INTEGER(9),
ventas DECIMAL(7,2) DEFAULT 0
)TYPE = InnoDB;
#
<1/ 1/ ;.:1/[ "
= &? "
;.:1/[ ( 1& ..
1
+ # # %
1 # * " #
%
CREATE TABLE Articulo (
referencia VARCHAR(15) BINARY PRIMARY KEY,
descripcion VARCHAR(50) BINARY NOT NULL,
precio_venta DECIMAL(6,2) NOT NULL,
precio_compra DECIMAL(6,2),
und_compradas DECIMAL(5,2),
und_vendidas DECIMAL(5,2),
existencias DECIMAL(5,2),
familia VARCHAR(5) BINARY,
INDEX art_fam(familia),
CHECK (precio_venta > precio_compra),
CONSTRAINT fk_familia FOREIGN KEY ( familia ) REFERENCES
Familia(familia) ON DELETE RESTRICT ON UPDATE CASCADE
7 R+ / < & $ *-
)TYPE = InnoDB;
#% " = &?
# % % ! .: "0
( 9 < ! (
- ( >:&'/1.:'
# % # ,>/".3: X"[
# % /","/": "& "
! #
% >: " "'" (
* " "'"+ %
$
• &"' :2 5 .
# # %
# :2
• &"' ",12 '5 .
# # %
#
• :> 1 '.>: 5 .
"
! /"&'/. ' 1& 1 "
>: 2- 1'"
( *2- 1'"+ -
>: " "'"
" !
7 R+ / < & $0
) TYPE = InnoDB;
CREATE TABLE LineaPedido (
npedido INTEGER(5) NOT NULL,
nlinea INTEGER(4) NOT NULL,
referencia VARCHAR(15) BINARY NOT NULL,
unidades DECIMAL(4,2) NOT NULL,
precio DECIMAL(4,2) NOT NULL,
dto DECIMAL(2,2),
und_pend DECIMAL(4,2),
und_serv DECIMAL(4,2) ,
PRIMARY KEY (npedido, nlinea),
INDEX ped_lpe( npedido ),
INDEX ped_art( referencia),
CHECK ( precio > 0 ),
CHECK ( dto BETWEEN 0 AND 1 ),
CONSTRAINT fk_ped FOREIGN KEY (npedido) REFERENCES
Pedido(npedido) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_art FOREIGN KEY (referencia) REFERENCES
Articulo(referencia) ON DELETE RESTRICT ON UPDATE CASCADE
) TYPE = InnoDB;
CREATE TABLE Ped_Rep (
npedido INTEGER(5) PRIMARY KEY,
dni VARCHAR(10) BINARY NOT NULL,
INDEX ped( npedido ),
INDEX rep_rep( dni ),
CONSTRAINT fk_pere FOREIGN KEY (npedido) REFERENCES
Pedido(npedido) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_rep FOREIGN KEY (dni) REFERENCES
Representante(dni) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = InnoDB;
CREATE TABLE Albaran (
nalbaran INTEGER(5) NOT NULL PRIMARY KEY,
cliente VARCHAR(10) BINARY NOT NULL,
fecha DATE NOT NULL,
forma_envio VARCHAR(25) BINARY,
forma_pago INTEGER(2),
total_albaran DECIMAL(7,2),
INDEX alb_cli (cliente),
INDEX alb_fp (forma_pago),
CONSTRAINT fk_clialb FOREIGN KEY (cliente) REFERENCES Cliente
(nif) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_fpalb FOREIGN KEY (forma_pago) REFERENCES
Forma_pago (forma_pago) ON DELETE SET NULL ON UPDATE CASCADE
) TYPE = InnoDB;
CREATE TABLE LineaAlbaran (
nalbaran INTEGER(5) NOT NULL,
nlinea INTEGER(4) NOT NULL,
referencia VARCHAR(15) BINARY NOT NULL,
unidades DECIMAL(4,2) NOT NULL,
precio DECIMAL(4,2) NOT NULL,
dto DECIMAL(2,2),
npedido INTEGER(5),
nlineap INTEGER(4),
INDEX lin_alb(nalbaran),
INDEX alb_art(referencia),
INDEX lin_ped(npedido, nlineap),
PRIMARY KEY (nalbaran, nlinea),
CONSTRAINT fk_alb FOREIGN KEY (nalbaran) REFERENCES
Albaran(nalbaran) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_artalb FOREIGN KEY (referencia) REFERENCES
Articulo(referencia) ON DELETE RESTRICT ON UPDATE CASCADE,
7 R+ / < & $ 0$
CONSTRAINT fk_albped FOREIGN KEY (npedido, nlineap)
REFERENCES LineaPedido (npedido, nlinea) ON DELETE SET NULL
ON UPDATE CASCADE,
CHECK ( precio > 0 ),
CHECK ( dto BETWEEN 0 AND 1 )
) TYPE = InnoDB;
.:&"/' & % $
INSERT [LOW_PRIORITY | DELAYED] [IGNORE][INTO] tabla
[(lista_columnas)] VALUES (valores_de_datos);
>W@-/.>/.'[
" 1[" #
.3:>/" # #
#
#
7 R+ / < & $0
VALUES (‘30000002ª’, ‘Comestibles Javier’, ‘San Juan, 2’,
‘Córdoba’, ‘Córdoba’, 957000001, null );
INSERT INTO Familia
VALUES (‘CONF’, ‘Confiteria’);
#
#
= &?
2 &?
.:&"/' % %
- ?
( ! 2
- # =&5 >& $
! U U A ?
" ( !
)
) &? # ?
" (
!
7 R+ / < & $ 0(
Incorporar datos externos a tablas MySQL con LOAD DATA
"% #
( #
( &? >1 1'1
# % # "
.:&"/' & % $
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ‘nombre archivo’
[IGNORE | REPLACE]
INTO TABLE nombre_tabla
opciones de importación
[IGNORE n LINES]
[(lista_columnas)]
>W@-/.>/.'[
> 1 # #!
# .3:>/" # #
! /"- 1 " #
( %
%$
[FIELDS
[TERMINATED BY ‘cadena’]
[OPTIONALLY] ENCLOSE BY ‘carácter’]
[ESCAPED BY ‘carácter’]]
[LINES TERMINATED BY ‘cadena’]
.:"& '"/=.:1'" ;[
! & ,." & .:"& #
$
FIELDS
TERMINATED BY ‘\t’
ENCLOSED BY “
ESCAPED BY ‘\\’
LINES TERMINATED BY ‘\n’
% !
# ! P
" ( $
& .
`H 1& .. H
` /
` ! #
` /
7 R+ / < & $ 0*
` "
` '
`b
`F
`` ; #
% .3:>/" .:"& !
#
& ( ! #
&
! !
# #
< #
$ - ?2
!
$
‘30000001ª’,’2005-01-01’,’Agencia SEUR’,’1’,’0.00’
#
' ( (
( ? 12'>@.: /"=":' !
= &? & %
# ! #
# :2
- !
&? $
LOAD DATA INFILE ‘albaran.txt’
INTO TABLE albaran
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSE BY ‘\”
LINES TERMINATED BY ‘\r\n’
(cliente, fecha, forma_envio, forma_pago, total_albaran);
- $
LOAD DATA INFILE ‘lineaalbaran.txt’
INTO TABLE lineaalbaran
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY ‘\”
LINES TERMINATED BY ‘\r\n’
% % % & &
"% = &? ( (
7 R+ / < & $ 00
OPTIMIZE TABLE nombre_tabla
( (
" (
(
& (
# (
# # :2 *
# +
'
# :2 #
( (
" #
# &
1 .:&"/' (
/"- 1 " >W@-/.>/.'[ * #
+ " 1[" *
+
&"' ( & %
$
SET opciones;
# 1
)
SET PASSWORD FOR usuario = PASSWORD(“contraseña”)
/"1
! W/.'"
>W@-/.>/.'[
7 R+ / < & $0
UNLOCK TABLES tabla1, tabla2, …
# $%
& >W #
! !
# 1 # ,/>= (
*
+
.X" # *
# k @+ % $
SHOW COLUMNS FROM nombre_tbla [FROM nombre_bd] [LIKE patrón]
SHOW DATABASES [LIKE patrón]
SHOW GRANTS FOR nombre_usuario
SHOW INDEX FROM nombre_tabla [FROM nombre_bd]
SHOW PROCESSLIST
SHOW STATUS
SHOW TABLE STATUS [FROM nombre_bd] [LIKE patrón]
SHOW TABLES [FROM nombre_bd] [LIKE patrón]
SHOW VARIABLES [LIKE patrón]
1 # !
SHOW TABLES;
SHOW COLUMNS FROM Cliente;
SHOW COLUMNS FROM Albaran;
SHOW INDEX FROM LineaAlbaran;
SHOW DATABASES;
7 R+ / < & $ 08
/ + + ) 0
&? * G !$ + = &? (
# ! *
+ " ? 9 G !$ <
"% ! &?
= = 9 $ <
% ! .:&"/'
2- 1'" " "'" />-
> ! &?
9 $ <! 9
< (
! /"1'" 1 '"/
/>- (
!
3/1:' /"<>X" " !
( !
" !
! !
" ! V # %
&" " ' ; % $
SELECT [DISTINCT | ALL | Otras opciones ] lista_selección
[INTO OUTFILE ‘nombre_ fichero’ opciones exportación]
[FROM tabla origen [,tabla_ origen] ... ]
[WHERE condición de búsqueda]
[LIMIT m, n]
[GROUP BY expresión_ de agrupamiento]
[HAVING condición de_ búsqueda]
[ORDER BY expresión_order_by [ASC|des]]
Cláusula SELECT
% %
% (
) ' (
) '(
0 5
e 1
#
* + # (
,/>=
-
% ? ?
1& ?
% # (
(
% %
( >/ "/ ;[ 3/>2- ;[ 1<.:38
( W "/"
1 %
SELECT *
FROM Cliente;
SELECT Cliente.*
FROM Cliente;
Cláusula INTO
" # * % # +
#
>1 1'1 # ! " %
2
>1 1'1 # !
Igual que antes, pero los campos separados por comas y sus
valores encerrados entre comillas dobles.
" #
,/>= %
# % * +
% e
#
&" " ' # #
- (
* # ( + " A>.: />&& A>.:
.::"/ A>.: &'/1.3 'A>.: ",'A>.: " A>.:
,/>= ' (
1 %
! $
nombre_ tabla [CROSS] JOIN nombre_ tabla
nombre_ tabla INNER JOIN nombre_ tabla
nombre_ tabla STRAIGHT_JOIN nombre tabla
nombre tabla LEFT [OUTER]JOIN nombre tabla ON expresión_
condicional
nombre tabla LEFT [OUTER]JOIN nombre tabla USIGN (lista_
columnas)
nombre tabla NATURAL LEFT [OUTER]JOIN nombre_tabla
nombre tabla [CROSS] JOIN nombre tabla
",' A>.:
( #
# #
# :2
>: 2 2&.3: 9
<? % %
W "/"
/>&& A>.: # #
# # !
,/>= W "/"
.::"/ A>.: # #
" #
&'/1.3 'A>.: ( (
# #
( :2 /.3 'M>2'"/O
# #
:2 ,2 M>2'"/O
(
( :2 &
# #
" ! %
%
Cláusula WHERE
" #
# # & % $
[WHERE <condición_búsqueda> | <nombre_columna {*= | *= }
nombre_columna>]
" / #
: !
" VW= S= WX
( % %
! &? & # W "/" & ( H
0 # H
% "
1<.:3 .=.'
1 %
Listar todos los clientes de la provincia de Córdoba
SELECT *
FROM Cliente
WHERE provincia = ‘Córdoba’;
SELECT *
FROM Albaran
WHERE fecha = “2005-01-02”;
SELECT *
FROM Pedido
WHERE npedido > 5 AND forma_pago < 3;
Cláusula GROUP BY
" # (
>2:' =10 &" " '
( #
3/>2- ;[ %
3/>2- ;[ % 3/>2- ;[
% % & % $
[GROUP BY expresión de agrupamiento]
% % (
% :
(
Cláusula HAVING
"
( 3/>2- ;[ ( 3/>2- ;[
1<.:3 W "/" & % $
[HAVING condición búsqueda]
1<.:3 %
W "/" 1<.:3 (
1<.:3 %
% W "/"
W "/"
1<.:3 !
(
Listar el número de pedido, importe total del pedido que
superen 700 .
Cláusula ORDER BY
>/ "/ ;[ # # ! #
# '>- & % $
ORDER BY { expresion order by [ASC|DESC] }[ , ...n]
" 2 !
( &
* +
% # &? #
" 1& #
* + #
" "& #
# #
# :2 # : !
>/ "/ ;[
Listar los clientes ordenados por razón social
SELECT *
FROM Cliente
ORDER BY 2;
SELECT *
FROM lineaalbaran
ORDER BY nalbaran, precio;
SELECT *
FROM Pedido
ORDER BY fecha DESC;
Cláusula LIMIT
.=.' (
& % $
[LIMIT n]
[LIMIT m, n]
% # #
% # # ? - .=.'
( H D
Listar los primeros 10 clientes
SELECT *
FROM Cliente
LIMIT 10;
SELECT *
FROM Pedido
ORDER BY npedido
LIMIT 10,20;
&? (
1&
#
1&
" -
+
& 1&
1 !
1 (
'
&? ( /
* # % # +
* % # % +
* # %
+
' /
W "/" &" " '
Test de comparación
= &? #
% &? (
&? *Z ^Y ^ ^Z Y YZ+ -
Listar todas las facturas con fecha posterior al 1/1/2004
SELECT *
FROM Factura
WHERE fecha > "2004/1/1";
SELECT *
FROM Articulo
WHERE familia <> ‘CONF’;
" # #
-
Listar la referencia, unidades, precio y dto de los artículos
pedidos que tienen las unidades entre 5 y 10
SELECT *
FROM Articulo
" #
# -
Listar el número de pedido, referencia y unidades de los
articulos que se han pedido con unidades 5, 10 o 15
% %
# "
Y " 6 -
.X" 6
%
! k ! # "
! k
" !
( ! k
-
Listar el nif, razón social y direccion de los clientes que
sean en cuya razón social aparece la letra ‘m’ en sexto lugar
y la letra ‘a’ en décimo lugar
& # :2 %
-
Listar los efectos que tienen la cuenta corriente nula
SELECT *
FROM Efectos
WHERE cc IS NULL;
= (
# # 1: >/ :>' 2 (
&?
SELECT *
FROM Cliente
WHERE razon_social LIKE ‘%upermercado%’ OR población =
‘Córdoba’;
&? ( #
3/>2- ;[ 1<.:3
&" " ' !
W "/" #
# #
SELECT MAX(razon_social)
FROM Cliente;
SELECT MAX(precio_venta)
FROM Articulo
WHERE und_vendidas > 100;
" # #
# -
&2= 1<3 # # #
?
W "/" 2
Función COUNT
>2:'* + # #
# & %
$
COUNT ( { [ ALL | DISTINCT expresión ] | * } )
" 1 # 1
# " .&'.: ' >2:' # #
# * + :2 "
% % %
" e
# # >2:'*e+
( .&'.: ' >2:'*e+
2 (
>2:'*e+ # #
# :2
" &? ( #
1<3* .&'.: ' +
>2:'* .&'.: ' + &' * .&'.: ' + &2=* .&'.: ' +
>2:'*e+ # #
# :2 >2:'*1 2 < # 2
# # # :2 >2:'* .&'.: '
2 < # 2 # #
# :2
Listar el número de representantes que hay
SELECT COUNT(*)
FROM Representante;
SELECT COUNT(*)
FROM Clientes
WHERE razon_social LIKE ‘%upermercado%’;
- # :2
# :2
# #
1 # :2
&2= 1<3 &' =.: =10 # # # :2 >2:'
# # # &
# # #
.&'.: ' # (
<
Listar cuantas formas de envio se han utilizado en los
albaranes
3/>2- ;[ #
3/>2- ;[
# # #
&" " '
Listar el número de pedido y su importe total
1 # 3/>2- ;[
3/>2- ;[
8 #
# !
% # # # #
q
#
&? ( V
-
Listar los unidades totales vendidas agrupadas por pedido y
articulo
& (
>/ "/ ;[ 3/>2- ;[
3/>2- ;[ $
• 2 % :
• > # 1 # #
3/>2- ;[
• : 1<.:3
3/>2- ;[
- %
" 3/>2- ;[
#
1&
- OA )
4) 8* 3W
W "/"
. /
3/>2- ;[
& 1 &" " ' 3/>2-
;[
A/,$;4 4) 8*
3W W "/" &" " ' =
W "/" (
1<.:3
% 1<.:3 W "/"
1<.:3
1<.:3
• W "/" (
,/>=
• 3/>2- ;[
W "/"
• 1<.:3
" W "/"
"
1<.:3 # ( (
1<.:3 #
1: >/ :>' -
Listar las formas de pago, su importe medio y su importe
total en los albaranes para cada una de ellas, si el importe
medio supera los 150 y el importe total es inferior a 500
' 1<.:3
# VD = &? "
# = &?
' # !
W "/" 1<.:3 < #
(
& # % &? # # #
" ( #
! < #
Listar la referencia, descripción y precio de venta de los
artículos cuyo precio de venta es igual o superior al precio
medio de venta de los artículos pedidos con más de 4
unidades.
"
# # & #
# # # '/2" -
Listar el nif, razón social y teléfono de los clientes que
han hecho pedido en el mes de enero del 2004
" %
" -
Listar los clientes que tienen al menos un albaran con forma
de pago 3.
SELECT *
FROM Cliente
WHERE EXISTS ( SELECT *
FROM Albaran
WHERE cliente = nif
AND forma_pago = 3 );
SELECT *
FROM Cliente
WHERE EXISTS( SELECT COUNT(*) AS Pedidos
FROM Pedido
WHERE cliente = nif
HAVING Pedidos > 3 );
" %
1:[
# -
Lista la referencia y la descripción de los artículos cuyo
precio de venta sea diferente a alguno de los precios a los
que se ha vendido ese artículo
- # % .:
Z 1:[ "0.&'& 1
# &" " '
SELECT *
FROM Cliente
WHERE nif IN ( SELECT DISTINCT cliente
FROM Pedido
WHERE DATE(fecha) = “2005-01-03”);
SELECT *
FROM Cliente
WHERE EXISTS ( SELECT *
FROM Pedido
WHERE cliente = nif
AND DATE(fecha) = “2005-01-03”);
SELECT *
FROM Cliente
WHERE nif = ANY ( SELECT DISTINCT cliente
FROM Pedido
WHERE DATE(fecha) = “2005-01-03”);
Subconsultas anidadas
= &?
: % !
# # ! 1
# -
1 %
1<.:3 /
A>.:&
! ( &? & #
2 * +
$
"
2 ! # %
#
" - *
,/>=+ / '
0 (
-
Z
#
-
- - ?
2 A>.:
% * +
" A>.:
-
Listar el número de albarán, fecha, referencia de artículo,
unidades, precio y dto.
- !
* + -
* +
9 " * +
* + * +
* +
9 " # 9 #
#
# "
# #
A>.:
#
-
Listar la referencia, descripcion, unidades, precio y
descuento de los artículos vendidos que no tienen pedido
# #
9 #
2 A>.:
% * +
" A>.:
- $ - D HHH
n ( !
Listar el número de pedido, fecha, cliente, razón social,
referencia, unidades, precio y dto de los pedidos con total
superor a 1000
#
( -
# $ -
!
- - (
1 # *A>.:
+ ! 49D9GHH6
# !
Listar el número de pedido, fecha, nombre del cliente que
hizo el pedido y nombre del representante para los pedidos
con fecha 3/1/2005
! # A>.:&
&? %
9 #
(
& A>.:
% * +
* + A>.:
! ( A>.:&
8
A>.: *Z ^Y +
# " A>.:
A>.:
"
! !
" A>.:
A>.: .:'"/:>
A>.:
# -
Listar los artículos con su referencia, descripción, familia
y descripción de la familia
" ,/>=
* &
# % #
2&.:3 (
! !
Listar los artículos con su referencia, descripción, familia
y descripción de la familia
& # % #
2&.:3 !
- * + A>.:
.:'"/:> #
! * # :2
+
" #
A>.: % 1
# :2
&
A>.:
( A>.: A>.:
"0'"/:> % - %
• -
)
( #
"
(
( 2&.:3 # >:
# " !
Listar el número de pedido, fecha, forma de pago y la
descripcion de la forma de pago de todos pedidos, aunque no
tengan la forma de pago NULL
: # A>.:
# ,/>= &" " '
" # % 9 (
#
( 1: >/ (
JOIN anidados
(
A A <
Listar el número de albarán, fecha, cliente, razón social del
cliente, número de línea, referencia, descripción del
artículo, unidades y precio de los albaranes hechos en la
fecha 4/1/2004
# >: #
# .::"/ A>.: " (
$ .::"/ A>.: "
( $
>: # A>.:
A>.: " 2&.:3
.::"/ A>.: 2&.:3
" A
A % # # ' A
A % ( #
: A A %
(
% .:&"/' # !
( (
" (
(
& (
(
# :2 * #
+ '
# :2
#
( (
" #
#
# $
• 2 ( .:&"/' &"'
#
• 2 ( # <1 2"&
! &
% $
!
&"' ! # &
% $
INSERT [LOW_PRIORITY | DELAYED | IGNORE] [INTO] tabla
SET columna = exp | DEFAULT, columna = exp | DEFAULT, …
# 2 % = &?
# & # ",12 ' ! #
# :2 # -
Introducir en la tabla Albarán un albarán con fecha actual,
cliente con nif 30000002A, forma de envío es ‘Transporte
propio’, forma de pago 4
# <1 2"&
# & % $
INSERT [LOW_PRIORITY | DELAYED | IGNORE] [INTO] tabla
[(lista_columnas)]
VALUES (valores_de_datos)
# "
( -
Introducir en la tabla Cliente un cliente con nif
‘30000100A', razón social ‘Supermercado Mandarín’ y teléfono
957774477
" 1[" #
# #
&
# #
.3:>/" #
# & (
#
" # &
W "/"
& W "/"
* '/2: 1'" '1; "+ >W@-/.>/.'[
.=.' %
2- 1'" # #
# 2 2- 1'"
# # (
& % $
UPDATE [LOW_PRIORITY | IGNORE] tabla
SET columna = expresión [, columna = expresión] …
[WHERE condicion]
[ORDER BY exp]
[LIMIT n]
&"'
( # # =
2 " # %
2- 1'"
W "/"
>W@-/.>/.'[ (
.3:>/" ( # #
#
(
.=.' %
(
UPDATE Albaran
SET forma_pago = ( SELECT forma_pago
FROM Forma_pago
WHERE descripcion = ‘Giro 90 dias’ )
WHERE forma_pago IS NULL;
UPDATE Albaran A
SET total_albaran = ( SELECT SUM( unidades * ( precio –
precio * dto)
FROM LineaAlbaran LA
WHERE A.nalbaran = LA.nalbaran );
! ! #
1 '"/ />-
(
/"1'" '1; " * # !
+ 1 '"/ '1; " />- '1; "
8 $
• 1 1 !
# :2
7 $ R) ! + / < & $-
| MODIFY [COLUMN] declaración_columna
| RENAME [AS] nombre _tabla_nueva
| ADD [CONSTRAINT [nombre_restricción]]
PRIMARY KEY [tipo_índice] (columnas_índice)
| ADD [CONSTRAINT [nombre_restricción]]
UNIQUE [nombre_índice] [tipo_indice] (columnas_indice)
| ADD [CONSTRAINT [nombre_restricción]]
FOREIGN KEY [nombre_indice] (columnas_indice)
[referencia]
" # &
% ! 1:3" #
(
# 9 ! + "
-/.=1/[ X"[ M,>/".3:
X"[O /","/": "& " X 2:.?2" %
#
" X 2:.?2" ,./&'
1,'"/ ?
" ( #
:2 m :>':2
# :2
1
! *
< *-/.=1/[ X"[ 2:.?2"+
7 $ R) ! + / < & $ -$
Añadir a la tabla Efectos una columna llamada importe con
tipo de datos decimal(7,2). Por defecto tendrá el valor 0 y
no admitirá valores nulos
1 !
& # # # #
( # # #
7 $ R) ! + / < & $-
' ( />- '1; "
& * " "'" < %
( />- '1; "
& % = &?
.,"0.&'& />- '1; "
%
Borrar la tabla Clientes
" = &?
/>- 1'1;1&" % $
DROP DATABASE [IF EXISTS] nombre_BD;
& % = &?
.,"0.&'& />- 1'1;1&"
%
[
%
* # .,"0.&'&+
# ! # &?
" = &? # #
# # 6H !
# = &?
"
= &?
#
7 $ R) ! + / < & $ -(
#
( (
Sentencia GRANT
3/1:' #
= &? & % $
GRANT tipo_priv [(lista_col)] [, tipo_priv [(lista_col)]…
ON {*.* | * | nombre_bd.* | nombre_bd.nombre_tabla |
nombre_tabla }
TO usuario IDENTIFIED BY ‘contraseña’
[, usuario IDENTIFIED BY ‘contraseña’] …
[WITH GRANT OPTION]
" ( #
( * +
# #
*
1 '"/ 1 !
/"1'" 1
" "'" 1
/>- 1
.: "0 1 !
.:&"/' 1 #
&" " ' 1 #
2- 1'" 1 (
# #
*
,. " 1 #
-/> "&& 1 #
#
/" >1 1 #
'
& 2' >W: 1 #
1 *1 1
-/.<. "3"&+
2&13" - # E # F
>: # * + #
#
! !
# #
; .
7 $ R) ! + / < & $ -*
ee - # * ; b +
e - # * ; +
@; e - # #
@; @ - # # $
@ - # # $
( >: #
!
(
'> #
'
( Z ('
. ":'.,." ;[ )
% &
'
!@ k (
.X"
#
*‘nombre_usuario’@’nombre_host’+
Sentencia REVOKE
/"<>X" ( # #
& % $
REVOKE tipo_priv [(lista_col)] [, tipo_priv [(lista_col)]]…
ON { *.* | * | nombre_bd.* | nombre_bd.nombre_tabla |
nombre_tabla }
FROM usuario [, usuario]
7 $ R) ! + / < & $ -0
3/1:' /"<>X"
= &?
- />- 2&"/
- # # (
$
SHOW GRANTS FOR usuario;
[ # 3/1:'
) &"' -1&&W>/
) & % $
SET PASSWORD [FOR usuario] = PASSWORD(“contraseña”);
& ,>/ )
"
= &? - % #
/>- 1'1;1&" />- '1; "
) "
" = &?
# ! (
#
# !
!
# = &? #
(
1 # %
7 $ R) ! + / < & $-
Copia de seguridad con MySQLDUMP (backups)
!
%
# #
% & %
mysqldump [opciones] nombre_BD [nombre_tabla]…
% #
S
mysqldump nombre_BD > fichero_backup
: ( UU
/>- '1; " > X '1; " #
& %
mysqldump –-opt nombre_BD > fichero_backup
)
(
!
mysqldump –u root –p almacen > almacen.bak
" # # %
&?
.:&"/'
- ( # S
! ! %
mysql nombre_BD < fichero_backup
& (
# ! (
"
= &? # #
1 #
(
7 $ R) ! + / < & $ -8
2 ) +
" 7 = &? *777 + %
% $
• = &? 1 5
#
#
• = &? ? ; 7 5
" ( &?
• = &? 5 "
* &? + *
% + = &?
#
#
< #
= &? (
$ ' .7 / " (
# = &? (
9 # % (
# & # = &? VH
! ( ( ( !
O ' .7 /
# $
• 32.
• ,
# = &?
- $
D 7 = &?
G # (
4 " # ? 2
2 # (
1 %
# = &? - $
# % $
D % 5 - %
( %
- %
#
G 2 5 : & %
4 - 7 5 ) # &
% #
# (
V 5 .-
#
6 - 5 - #
- 44HN #
)
# -
)
# 1 (
# ( (
" %
# # "
# #
" ) # #
# # #
BPH H P !? ' #
!
Variables de inicio
" #
# # "
# = .&1= . ;
Administración de usuarios
!
# - )
( 8 / "
(
1 (
- #
) ' - #
" # % # &
# % 2
> ; ( W = &? 1
- %
"
%
% [ '
Health
" ( # ! # 1 !
# % ! %
#
' ! &?
Server Logs
" # #
# # 3
# # "% #
* % %
&? + '
# * # # % # +
"
& %
# "
(
"
Backups
" ( (
- S ( (
- #
#
Restore
"
- #
( #
# &?
Catálogo
"
&
' !
# # % -
"
&? & (
&? " # #
# #
- $
D 7 = &?
G # (
4 " # ? 2
V &
2 # (
1 %
= &? 1 & %
#
"
# " &?
!
(
- &? #
# # & &?
"
% & S
&" " '
A %
# &" " '
&
)
1
E F %2 # '
# #
" ! "
%
% &? 1 !
= &?
& (
(
"
1
(
% &?
- $
D 7 = &?
G # (
4 " # ? 2
V &
2 # (
# (
% 1
1 # ( (
% & %
# (
1 = &? (
" ( #
(
# = &? !
%
"
#
" &?
&
&?
# ) # #
(
= & ?