Sei sulla pagina 1di 18

Lenguaje MySQL, DDL

(Lenguaje de definicin de datos)


Ing. Linda Masias Morales
Motor de base de datos
MyISAM
Es el tipo de tabla por defecto en MySQL desde
la versin 3.23. Optimizada para sistemas
operativos de ! bits.
Motor de base de datos
InnoDB
Inno"# provee a MySQL con el soporte para traba$ar con
transacciones% adem&s de 'acer (n me$or blo)(eo de
registros para las instr(cciones SELE*+ m(y parecido al
(sado por Oracle% con lo )(e incrementa el rendimiento y
la conc(rrencia en ambientes m(lti(s(ario% por otro lado%
Inno"# es el ,nico formato )(e tiene MySQL para
soportar llaves for&neas -.O/EI01 2E34. 5dem&s de todo
lo comentado% Inno"# ofrece (nos rendimientos
s(periores a la anterior tecnolog6a de tablas de MySQL
-MyIS5M4.
5lter
*ambiar el tipo de motor de #".
*reate table e$emplo3 -
aa int not n(ll a(to7increment% primary 8ey -aa4%
bb int%
cc c'ar
4 engine myisam
alter table e$emplo3 engine9innodb
alter
*ambiar el nombre de (na tabla. -rename4
alter table e$emplo2 rename practica2
5lter y drop
Eliminar (na col(mna.
alter table practica2 drop col(mn cc
alter table practica2 drop col(mn cc% drop
col(mn bb
5lter% c'ange y modify
Modificar los tipos de datos.
5lter table practica2 c'ange bb cc c'ar
5lter table practica2 c'ange cc dd int
5lter table practica2 modify dd int-2:4
5lter table practica2 c'ange cc cc c'ar-2:4
5lter% add
5nadir (na col(mna a (na tabla
5lter table practica2 add bb int
5nadir (n 6ndice a (na tabla
5lter table practica2 add inde;-bb4
5lter% add
5<adir clave primaria a (na tabla
create table e$emplo=- infoI int% infoII int% infoIII
c'ar% InfoI> int4 engine innodb
alter table e$emplo= add primary 8ey -infoI4
5lter% add
5<adir agroI desp(es de InfoI
alter table e$emplo= add agroI c'ar-?:4 after
infoI
/estricciones -foreign 8ey4
Las definiciones de claves for&neas est&n s($etas
a las sig(ientes condiciones@
5mbas tablas deben ser Inno"# y no deben
ser tablas temporales.
En la tabla )(e 'ace referencia% debe 'aber (n
6ndice donde las col(mnas de clave e;tran$era
estAn listadas en primer l(gar% en el mismo
orden.
/estricciones -foreign 8ey4
*(ando el (s(ario intenta borrar o act(alizar
(na fila de (na tabla padre% Inno"# soporta
cinco acciones respecto a la accin a tomar@
*5S*5"E
SE+ 0BLL
0O 5*+IO0
/ES+/I*+
SE+ "E.5BL+
CASCADE
#orra o act(aliza el registro en la tabla padre y
a(tom&ticamente borra o act(aliza los registros
coincidentes en la tabla 'i$a.
C O0 "ELE+E *5S*5"E
C O0 BD"5+E *5S*5"E
SET NLL
#orra o act(aliza el registro en la tabla padre y
establece en 0BLL la o las col(mnas de clave
for&nea en la tabla 'i$a.
esto solamente es v&lido si las col(mnas de
clave for&nea no 'an sido definidas como 0O+
0BLL.
C O0 "ELE+E SE+ 0BLL
C O0 BD"5+E SE+ 0BLL
N! ACTI!N
0ing(na accin en el sentido de )(e (n intento
de borrar o act(alizar (n valor de clave primaria
no ser& permitido si en la tabla referenciada 'ay
(na valor de clave for&nea relacionado.
Inno"# rec'aza la operacin de eliminacin o
act(alizacin en la tabla padre.
"EST"ICT
/ec'aza la operacin de eliminacin o
act(alizacin en la tabla padre.
C 0O 5*+IO0
C /ES+/I*+
son similares en tanto omiten la cl&(s(la O0
"ELE+E ( O0 BD"5+E.
SET DE#ALT
Esta accin es reconocida por el procesador de
sentencias -parser4% pero Inno"# rec'aza
definiciones de tablas )(e contengan
C O0 "ELE+E SE+ "E.5BL+
C O0 BD"5+E SE+ "E.5BL+.
Eje$%&o
*/E5+E +5#LE padre-
id I0+ 0O+ 0BLL% D/IM5/3 2E3 -id4 4
E01I0E9I00O"#
*/E5+E +5#LE 'i$a-
id I0+%
padre7id I0+%
I0"EE pad7ind -padre7id4%
.O/EI10 2E3 -padre7id4
/E.E/E0*ES padre-id4
O0 "ELE+E *5S*5"E 4
E01I0E9I00O"#

Potrebbero piacerti anche