Problema:
Trabaje con la tabla llamada "medicamentos" de una farmacia.
1- Elimine la tabla, si existe:
drop table if exists medicamentos;
2- Cree la tabla con la siguiente estructura:
create table medicamentos(
codigo int unsigned auto_increment,
nombre varchar(20) not null,
laboratorio varchar(20),
precio decimal(6,2) unsigned,
cantidad int unsigned,
primary key(codigo)
);
3- Visualice la estructura de la tabla "medicamentos".
4- Ingrese los siguientes registros:
insert into medicamentos (nombre, laboratorio,precio)
values('Sertal gotas','Roche',5.2);
insert into medicamentos (nombre, laboratorio,precio)
values('Buscapina','Roche',4.10);
insert into medicamentos (nombre, laboratorio,precio)
values('Amoxidal 500','Bayer',15.60);
insert into medicamentos (nombre, laboratorio,precio)
values('Paracetamol 500','Bago',1.90);
insert into medicamentos (nombre, laboratorio,precio)
values('Bayaspirina','Bayer',2.10);
insert into medicamentos (nombre, laboratorio,precio)
values('Amoxidal jarabe','Bayer',5.10);
insert into medicamentos (nombre, laboratorio,precio)
values('Sertal compuesto','Bayer',5.10);
insert into medicamentos (nombre, laboratorio,precio)
values('Paracetamol 1000','Bago',2.90);
insert into medicamentos (nombre, laboratorio,precio)
values('Amoxinil','Roche',17.80);
5- Recupere los medicamentos cuyo nombre comiencen con "Amox":
select codigo,nombre,laboratorio,precio
from medicamentos
where nombre like 'Amox%';
Quedaron 3 registros seleccionados.
6- Recupere los medicamentos "Paracetamol" cuyo precio sea menor a 2:
select codigo,nombre,laboratorio,precio
from medicamentos
where nombre like 'Paracetamol%' and
precio<2;
7- Busque todos los medicamentos cuyo precio tenga .10 centavos:
select codigo,nombre,laboratorio,precio
from medicamentos
where precio like '%.1%';
8- Muestre todos los medicamentos que no contengan la cadena "compuesto":
select codigo,nombre,laboratorio,precio
from medicamentos
where nombre not like'%compuesto%';
9- Elimine todos los registros cuyo laboratorio contenga la letra "y":
delete from medicamentos
where laboratorio like '%y%';
10- Cambie el precio por 5, al "Paracetamol" cuyo precio es mayor a 2:
update medicamentos set precio=5
where nombre like 'Paracetamol%' and
precio>2;
Otros problemas:
A) Trabaje con la tabla "peliculas" de un video club.
1- Elimine la tabla, si existe.
2- Créela con la siguiente estructura:
-codigo (entero sin signo, autoincrementable),
-titulo (cadena de 30), not null,
-actor (cadena de 20),
-duracion (entero sin signo no mayor a 200 aprox.),
-clave primaria (codigo).
3- Visualice la estructura de la tabla "peliculas".
4- Ingrese los siguientes registros:
insert into peliculas (titulo,actor,duracion)
values('Mision imposible','Tom Cruise',120);
insert into peliculas (titulo,actor,duracion)
values('Harry Potter y la piedra filosofal','Daniel R.',180);
insert into peliculas (titulo,actor,duracion)
values('Harry Potter y la camara secreta','Daniel R.',190);
insert into peliculas (titulo,actor,duracion)
values('Mision imposible 2','Tom Cruise',120);
insert into peliculas (titulo,actor,duracion)
values('Mujer bonita','Richard Gere',120);
insert into peliculas (titulo,actor,duracion)
values('Tootsie','D. Hoffman',90);
insert into peliculas (titulo,actor,duracion)
values('Un oso rojo',null,100);
insert into peliculas (titulo,actor,duracion)
values('Elsa y Fred','China Zorrilla',110);
insert into peliculas (titulo,actor,duracion)
values('Mrs. Johns','Richard Gere',180);
5- Actualice el valor del campo "actor" cambiando por 'R. Gere- J. Roberts', de la película cuyo
código es 5:
update peliculas set actor='R. Gere-J. Roberts'
where codigo=5;
6- Seleccione todas las películas en las cuales trabaje el actor "Gere". Use "like". (2 registros
seleccionados).
7- Recupere los registros que NO contengan la letra "y" en el título y contenga "ch" en el
campo "actor" (2 registros):
select * from peliculas
where titulo not like '%y%' and
actor like '%ch%';
8- Seleccione las películas que comiencen con "M" y cuya duración sea menor a 150 (3 registros):
select * from peliculas
where titulo like 'M%' and
duracion<150;
9- Cambie el valor de la duración a 100 en las películas en las cuales el campo "actor" comience
con "D":
update peliculas set duracion=100
where actor like 'D%';
10- Recupere los registros que cumplan la condición del punto anterior, para verificar el cambio de
la duración:
select * from peliculas
where actor like 'D%';
11- Vea si existen películas con títulos nulos:
select * from peliculas
where titulo like null;
12- Vea si existen películas con valor nulo en el campo "actor":
select * from peliculas
where actor like null;
B) Trabaje con la tabla "usuarios" que almacena el nombre y clave de cada usuario.
1- Elimine la tabla, si existe.
- Créela con la siguiente estructura:
-nombre (cadena de 20),
-clave (cadena de 10),
-clave primaria (clave).
3- Visualice la estructura de la tabla "usuarios".
4- Ingrese los siguientes registros:
insert into usuarios (nombre, clave) values ('Leonardo','payaso');
insert into usuarios (nombre, clave) values ('MarioPerez','Marito');
insert into usuarios (nombre, clave) values ('Marcelo','River');
insert into usuarios (nombre, clave) values ('Gustavo','Boca');
insert into usuarios (nombre, clave) values ('MarcosMercado','RealMadrid');
insert into usuarios (nombre, clave) values ('Susana','chapita');
insert into usuarios (nombre, clave) values ('Gonzalo','Z80');
insert into usuarios (nombre, clave) values ('GustavoPereyra','RealMadrid');
5- Busque los registros cuya clave contenga sólo 5 letras:
select * from usuarios
where clave like '_____';
6- Busque los registros cuyo nombre de usuario termine con "o":
select * from usuarios
where nombre like '%o';