EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
LA TIENDA DE INFORMATICA
INSTRUCCIONES: En el siguiente ejercicio se describen cada uno de los comandos para llevar a cabo cada una de las
consultas solicitadas, ejecuta cada uno de ellos en el compilador de MySQL.
ACTIVIDADES A REALIZAR
1. Crea una base de datos llamada TIENDA
CREATE DATABASE TIENDA;
2. Muestra las Bases de datos almacenadas
SHOW DATABASES;
3. Habilita la Base de datos TIENDA
USE TIENDA;
4. Genera las siguientes tablas:
FABRICANTES
Clave Principal
NOMBRE DE COLUMNA
Clave_fabricante
Nombre
TIPO DE DATO
Int
Varchar(30)
NOMBRE DE COLUMNA
Clave_articulo
Nombre
Precio
Clave_fabricante
TIPO DE DATO
Int
Varchar(30)
Int
Int
ARTICULOS
Clave Principal
Clave Fornea
CREATE TABLE FABRICANTES (Clave_fabricante
INT NOT NULL, Nombre VARCHAR(30), PRIMARY
KEY (Clave_fabricante));
CREATE TABLE ARTICULOS (Clave_articulo INT NOT
NULL, Nombre VARCHAR(30), Precio INT,
Clave_fabricante INT, PRIMARY KEY (Clave_articulo),
FOREIGN KEY(Clave_fabricante) REFERENCES
FABRICANTES (Clave_fabricante));
5. Muestra las tablas de la Base de datos TIENDA
SHOW TABLES;
6. Muestra los atributos de la tabla ARTICULOS;
DESCRIBE ARTICULOS;
7. Introduce los siguientes datos en cada tabla:
TABLA: FABRICANTES
CLAVE_FABRICANTE
1
2
3
4
5
NOMBRE
Kingston
Adata
Logitech
Lexar
Seagate
INSERT INTO FABRICANTES VALUES ( 1 , Kingston);
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
TABLA: ARTICULOS
CLAVE_ARTICULO
1
2
3
4
5
6
7
8
9
10
NOMBRE
Teclado
Disco duro 300 Gb
Mouse
Memoria USB
Memoria RAM
Disco duro extrable 250 Gb
Memoria USB
DVD Rom
CD Rom
Tarjeta de red
PRECIO
$ 100
$ 500
$ 80
$ 140
$ 290
$ 650
$ 279
$ 450
$ 200
$ 180
CLAVE_FABRICANTE
3
5
3
4
1
5
1
2
2
3
INSERT INTO ARTICULOS VALUES ( 1 , Teclado, 100 , 3 );
8. Genera las siguientes consultas:
a) Obtener todos los datos de los productos de la tienda
SELECT * FROM ARTICULOS;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
b) Obtener los nombres de los productos de la tienda
SELECT Nombre FROM ARTICULOS;
c) Obtener los nombres y precio de los productos de la tienda
SELECT Nombre,Precio FROM ARTICULOS;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
d) Obtener los nombres de los artculos sin repeticiones
SELECT DISTINCT Nombre FROM ARTICULOS;
e) Obtener todos los datos del artculo cuya clave de producto es 5
SELECT * FROM ARTICULOS WHERE Clave_articulo=5;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
f)
Obtener todos los datos del artculo cuyo nombre del producto es Teclado
SELECT * FROM ARTICULOS WHERE Nombre=Teclado;
g) Obtener todos los datos de la Memoria RAM y memorias USB
SELECT * FROM ARTICULOS WHERE Nombre=Memoria RAM OR Nombre=Memoria USB ;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
h) Obtener todos los datos de los artculos que empiezan con M
SELECT * FROM ARTICULOS WHERE Nombre LIKE M%;
i)
Obtener el nombre de los productos donde el precio sea $ 100
SELECT Nombre FROM ARTICULOS WHERE Precio = 100;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
j)
Obtener el nombre de los productos donde el precio sea mayor a $ 200
SELECT Nombre FROM ARTICULOS WHERE Precio > 200;
k) Obtener todos los datos de los artculos cuyo precio este entre $100 y $350
/* OPERADOR AND */
SELECT * FROM ARTICULOS WHERE Precio >= 100 AND Precio<=350;
/* OPERADOR BETWEEN */
SELECT * FROM ARTICULOS WHERE Precio BETWEEN 100 AND 350;
AND
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
BETWEEN
l)
Obtener el precio medio de todos los productos
SELECT AVG(Precio) FROM ARTICULOS;
m) Obtener el precio medio de los artculos cuyo cdigo de fabricante sea 2
SELECT AVG(Precio) FROM ARTICULOS WHERE Clave_fabricante=3;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
n) Obtener el nombre y precio de los artculos ordenados por Nombre
SELECT Nombre, Precio FROM ARTICULOS ORDER BY Nombre;
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
o) Obtener todos los datos de los productos ordenados descendentemente por Precio
SELECT * FROM ARTICULOS ORDER BY Precio DESC;
p) Obtener el nombre y precio de los artculos cuyo precio sea mayor a $ 250 y ordenarlos descendentemente por precio
y luego ascendentemente por nombre
SELECT Nombre, Precio FROM ARTICULOS
WHERE Precio >= 250 ORDER BY Precio DESC, Nombre;
10
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
q) Obtener un listado completo de los productos, incluyendo por cada articulo los datos del articulo y del fabricante
SELECT * FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
11
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
r)
Obtener la clave de producto, nombre del producto y nombre del fabricante de todos los productos en venta
SELECT ARTICULOS.Clave_articulo, ARTICULOS.Nombre, FABRICANTES.Nombre
FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
s) Obtener el nombre y precio de los artculos donde el fabricante sea Logitech ordenarlos alfabticamente por nombre
del producto
SELECT ARTICULOS.Nombre, ARTICULOS.Precio FROM ARTICULOS, FABRICANTES
WHERE FABRICANTES.Nombre=Logitech AND
ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
ORDER BY ARTICULOS.Nombre;
12
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
t)
Obtener el nombre, precio y nombre de fabricante de los productos que son marca Lexar o Kingston ordenados
descendentemente por precio
SELECT ARTICULOS.Nombre, ARTICULOS.Precio, FABRICANTES.Nombre
FROM ARTICULOS, FABRICANTES
WHERE FABRICANTES.Nombre=Lexar OR FABRICANTES.Nombre=Kingston
AND ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
ORDER BY ARTICULOS.Precio DESC;
13
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
u) Aade un nuevo producto: Clave del producto 11, Altavoces de $ 120 del fabricante 2
INSERT INTO ARTICULOS VALUES (11 ,Altavoces, 120, 2);
v) Cambia el nombre del producto 6 a Impresora Laser
UPDATE ARTICULOS SET Nombre=Impresora Laser
WHERE Clave_articulo = 8
w) Aplicar un descuento del 10% a todos los productos.
UPDATE ARTICULOS SET Precio=Precio *0.10
14
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
x) Aplicar un descuento de $ 10 a todos los productos cuyo precio sea mayor o igual a $ 300
UPDATE ARTICULOS SET Precio=Precio 10
WHERE Precio >= 300
y) Borra el producto numero 6
DELETE FROM ARTICULOS WHERE Clave_articulo= 6
ANTES
AHORA: LA FILA 6 ELIMINADA
15
DIEGO ROBERTO GARCIA YACTAYO
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL TDW
16
DIEGO ROBERTO GARCIA YACTAYO