Soluciones

English version (when available)

P02.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))


P02.002- Consulta la tabla

select * from xx
Obviamente, la tabla está vacía y muestra 0 filas.

P02.003- Inserta en la tabla la fila (1,’AA’)

insert into preg values ('CMA',999)
Solución alternativa:
insert into xx values (1,'AA')
Ningún problema, fila insertada.

P02.004- inserta en la tabla la fila ('BB',2)

insert into xx values ('BB',2)
Esta orden falla porque los valores no están en el orden adecuado. En este caso deberíamos escribir:

insert into xx (col2,col1) values ('BB',2)

NOTA: en nuestro servidor MySQL, el sistema lanza un warning pero ejecuta la sentencia realizando una conversión de tipos de varchar a int, pero como 'BB' no sabe interpretarlo, lo almacena como 0.


P02.005- Inserta en la tabla la fila (2,'BB')

insert into xx values (2,'BB')
Hemos cambiado el orden de los valores y coinciden con la estructura de la tabla.

P02.006- Consulta la tabla XX

select * from xx
Deberías ver 2 filas.

P02.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

En realidad, si lo tienes claro, no hace falta que lo hagas. Lo que se pretende es comprobar la persistencia de la tabla creada y los datos que pueda contener: el cierre de sesión no borra lo almacenado. Sólo drop table puede eliminar la tabla del catálogo.

select * from xx
Al volver a entrar, identificarte correctamente y seleccionar tu base de datos, la consulta devuelve otra vez las mismas 2 filas, la información se ha mantenido intacta.

P02.008- Borra la tabla XX

drop table xx
Borrar una tabla elimina todo del sistema, sus filas y la propia tabla. Si intentas ahora select * from xx obtendrás un mensaje de error.

P02.009- Crea una tabla YY con 3 columnas

col1(integer),
col2(char(2)) y
col3(varchar(10)),

y con clave primaria (col1, col2)

create table yy (
col1 integer,
col2 char(2),
col3 varchar(10),
primary key (col1, col2))
Ahora la clave primaria está compuesta por 2 columnas.

P02.010- Inserta los siguientes datos y consulta la tabla para ver los datos almacenados

(1,'AA','primera')
(2,'AA','segunda')
(2,'BB','tercera')
(1,'AA','cuarta')
(NULL,NULL,'quinta')
(NULL,'CC','sexta')
(3,NULL,'séptima')
(0,'','octava') --0, cadena vacía, 'octava'
(3,'AA',NULL)

insert into yy values (1,'AA','primera');
insert into yy values (2,'AA','segunda');
insert into yy values (2,'BB','tercera');
insert into yy values (1,'AA','cuarta');
insert into yy values (NULL,NULL,'quinta');
insert into yy values (NULL,'CC','sexta');
insert into yy values (3,NULL,'séptima');
insert into yy values (0,'','octava');
insert into yy values (3,'AA',NULL);
* insert into yy values (1,'AA','cuarta') falla por que estamos introduciendo un duplicado de clave primaria.
* insert into yy values (NULL,NULL,'quinta') falla por que la clave primaria no admite nulos.
* insert into yy values (NULL,'CC','sexta') falla por que tampoco los admite parcialmente.
* insert into yy values (3,NULL,'séptima') falla por la misma razón.
* insert into yy values (0,'','octava') NO falla porque cadena vacía es un valor, NO es NULL.



P02.011- Estando en tu espacio de BD, crea una nueva tabla de nombre MIAREA con la misma estructura que la tabla AREA de la BD Hospital y rellénala con los datos actualmente almacenados en ella.

create table miarea (
  id int(11),
  tipo varchar(50),
  color varchar(50),
  orientacion varchar(50),
  primary key (id)
);
insert into miarea select * from hospital.area;
Solución alternativa:
create table miarea select * from hospital.area;
alter table miarea add primary key (id);


P02.012- De la tabla MIAREA:
a) Borra las áreas de id menor que 4.
b) Borra el área de orientación 'Suroeste' y también la 'Sureste' en una única instrucción.
c) Borra todas las filas de la tabla sin establecer ningún filtro.
d) Elimina la tabla de tu base de datos.

Conviene que hagas un "select" previo y otro después de cada orden para comprobar lo que ha ocurrido en la tabla.

delete from miarea where id < 4; 
delete from miarea where orientacion='Suroeste' or orientacion='Sureste'; 
delete from miarea; 
drop table miarea;  
-- la última consulta no muestra nada salvo un mensaje de error.