31 - Búsqueda de patrones (like y not like) |
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;
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';