domingo, 17 de abril de 2011

Soluciones T06

T06.001- Crea una tabla de nombre XX con 2 columnas, col1 de tipo integer, y col2 de tipo char(3), con col1 como clave primaria.
create table XX ( col1 integer, col2 char(3),
primary key (col1))
engine = innodb;

T06.002- Consulta la tabla.
select * from XX;

T06.003- Inserta en la tabla la fila (1,’AA’).
insert into XX values(1,'AA');

T06.004- inserta en la tabla la fila ('BB',2).
insert into XX(col2,col1) values('BB', 2)

T06.005- Inserta en la tabla la fila (2,’BB’).
insert into XX values(2,'BB');

T06.006- Consulta la tabla XX.
select * from XX;

T06.007- Cierra la sesión e identifícate de nuevo (“salte y vuelve a entrar” o "desconecta" y "conecta"). A continuación consulta de nuevo XX.
Podemos  comprobar que la tabla creada con su datos siguen ahí; es decir, cerrar la sesión no borra la tabla. Por ello solo lo podremos hacer con el “drop table”

T06.008- Borra la tabla XX
drop table XX;

T06.009- Crea una tabla YY con 3 columnas
col1(integer),
col2(char(2)) y
col3(varchar(10)),
y con clave primaria (col1, col2).
drop table if exists YY;
create table YY (col1 integer, col2 char(2), col3 varchar(10), primary key (col1, col2)) engine=innodb;

T06.010-  Inserta los siguientes datos y consulta la tabla para ver los datos almacenados
(1,'AA','primera')
(2,'AA','segunda')
(2,'BB','tercera')à No lo introduce porque se repite el ‘2’.
(1,'AA','cuarta')à  No lo introduce porque se repite el ‘1’
(NULL,NULL,'quinta')à No lo introduce porque col1 es inter.
(NULL,'CC','sexta')à Como antes.
(3,NULL,'séptima')à No lo introduce porque NULL es mayor que char (2).
(0,'','octava') --0, cadena vacía, 'octava' à
(3,'AA',NULL) 

T06.011- Ejecuta lo siguiente:
create table T1(a int,b int,c int,
primary key(a)) engine innodb;
create table T2(a int,d int,e int,
primary key(d),foreign key(a) references T1(a))
engine innodb;
y comprueba, buscando el porqué en caso de fallo, el resultado de cada
una de las órdenes de la siguiente secuencia:
a) insertar en T1(1,10,100).
Insert into T1 values (1,10,100);
b) insertar en T1(NULO,20,NULO).
Como es clave principal no puede ser nula
c) insertar en T1(2,20,NULO)
Error al introducir un char en un int;
d) insertar en T1(3,NULO,300)
error al introducir un char en un int;
e) insertar en T2(2,NULO,NULO)
Como la b.
f) insertar en T2(2,20,NULO)
Dará error al introducir un char en un int;
g) insertar en T1(1,20,200)
insert into T1 values (1, 20, 200);
h) insertar en T2(4,10,100)
insert into T2 values (4, 10, 100);
i) insertar en T2(2,30,230)
insert into T2 values (2, 30, 230);

T06.012- Continúa el anterior
j) modificar T1(1,10,100) a (2,10,100)
update T1 set a=2;
k) modificar T1(1,10,100) a (5,10,100)
update T1 set a=5;
l) modificar T2(2,20,NULO) a (2,20,220)
No puede ser NULO.
m) modificar T2(2,20,220) a (5,20,220)
update T2 set a=5;
n) modificar T2(5,20,220) a (2,10,100)
update T2 set a=2, b=10, c=100;
o) modificar T1(2,20,200) a (6,60,600)
update T1 set a=6, b=60, c=600;
p) modificar T1(3,NULO,300) a (7,70,700)
No puede ser NULO.
q) modificar T2(2,10,100) a (7,10,100)
update T2 set a=7;
r) modificar T2(2,30,230) a (7,30,230)
update T2 set a=7;
s) modificar T1(2,20,NULO) a (6,60,600)
No puede ser NULO.

T06.013- Continúa el anterior
Primero habría que crear las columnas o modificar la que tenemos.
t) borrar T2(7,30,230)
delete from T2 where a=7 and b=30 and c=230;
u) borrar T1(7,70,700)
delete from T2 where a=7 and b=30 and c=230;
v) borrar T1(5,10,100)
delete from T2 where a=7 and b=30 and c=230;
w) borrar T2(7,10,100)
delete from T2 where a=7 and b=10 and c=100;
x) borrar T1(7,70,700)
delete from T1 where a=7 and b=70 and c=700;
y) borrar T1(6,60,600)
delete from T1 where a=6 and b=60 and c=600;

No hay comentarios:

Publicar un comentario