Problema:
Trabaje con la tabla "agenda" que registra la información referente a sus amigos.
1- Elimine la tabla si existe.
2- Cree la tabla con la siguiente estructura:
create table agenda(
apellido varchar(30),
nombre varchar(20) not null,
domicilio varchar(30),
telefono varchar(11),
mail varchar(30)
);
3- Ingrese los siguientes registros:
insert into agenda values('Perez','Juan','Sarmiento 345','4334455','juancito@gmail.com');
insert into agenda values('Garcia','Ana','Urquiza 367','4226677','anamariagarcia@hotmail.com');
insert into agenda values('Lopez','Juan','Avellaneda 900',null,'juancitoLopez@gmail.com');
insert into agenda values('Juarez','Mariana','Sucre 123','0525657687','marianaJuarez2@gmail.com');
insert into agenda values('Molinari','Lucia','Peru 1254','4590987','molinarilucia@hotmail.com');
insert into agenda values('Ferreyra','Patricia','Colon 1534','4585858',null);
insert into agenda values('Perez','Susana','San Martin 333',null,null);
insert into agenda values('Perez','Luis','Urquiza
444','0354545256','perezluisalberto@hotmail.com');
insert into agenda values('Lopez','Maria','Salta 314',null,'lopezmariayo@gmail.com');
4- Busque todos los mails que contengan la cadena "gmail":
select *from agenda
where mail regexp 'gmail';
5- Busque los nombres que no tienen "z" ni "g":
select * from agenda
where nombre not regexp '[zg]';
6- Busque los apellidos que tienen por lo menos una de las letras de la "v" hasta la "z" (v,w,x,y,z):
select * from agenda
where apellido regexp '[v-z]';
7- Seleccione los apellidos que terminen en "ez":
select * from agenda
where apellido regexp 'ez$';
8- Seleccione los apellidos, nombres y domicilios de los amigos cuyos apellidos contengan 2 letras "i":
select apellido,nombre,domicilio from agenda
where nombre regexp 'i.*i';
9- Seleccione los teléfonos que tengan 7 caracteres exactamente:
select * from agenda
where telefono regexp '^.......$';
10- Seleccione el nombre y mail de todos los amigos cuyos mails tengan al menos 20 caracteres:
select nombre,mail from agenda
where mail regexp '....................';
Otros problemas:
Un comercio que vende artículos de computación registra los datos de sus artículos en una tabla con
ese nombre.
1- Elimine "articulos", si existe:
drop table if exists articulos;
2- Cree la tabla, con la siguiente estructura:
create table articulos(
codigo int unsigned auto_increment,
nombre varchar(25) not null,
descripcion varchar(30),
precio decimal(6,2) unsigned,
cantidad tinyint unsigned,
primary key(codigo)
);
3- Ingrese algunos registros:
insert into articulos (nombre, descripcion, precio,cantidad)
values ('impresora','Epson Stylus C45',400.80,20);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('impresora','Epson Stylus C85',500,30);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('monitor','Samsung 14',800,10);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('teclado','ingles Biswal',100,50);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('teclado','español Biswal',90,50);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('impresora multifuncion','HP 1410',300,20);
4- Seleccione todos los artículos que comienzan con "impresora":
select * from articulos
where nombre regexp '^impresora';
5-Busque los artículos en los cuales el campo "descripcion" no tienen "H" ni "W":
select * from articulos
where descripcion not regexp '[hw]';
6- Seleccione las descripciones que contengan una letra "s" seguida de un caracter cualquiera y
luego una "n":
select * from articulos
where descripcion regexp 's.n';