EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
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
2. Muestra las Bases de datos almacenadas
3. Habilita la Base de datos TIENDA
4. Genera las siguientes tablas:
FABRICANTES
NOMBRE DE TIPO DE DATO ARTICULOS
COLUMNA NOMBRE DE TIPO DE
Clave Clave_fabricante Int COLUMNA DATO
Principal Clave Clave_articulo Int
Nombre Varchar(30) Principal
Nombre Varchar(30)
Precio Int
5. Muestra las tablas de la Base de datos TIENDA Clave Clave_fabricante Int
6. Muestra los atributos de la tabla ARTICULOS; Fornea
7. Introduce los siguientes datos en cada tabla:
TABLA: FABRICANTES
CLAVE_FABRICANTE NOMBRE
1 Kingston
2 Adata
3 Logitech
4 Lexar
5 Seagate
A: ARTICULOS
CLAVE_ARTICU PRECI CLAVE_FABRICA
NOMBRE
LO O NTE
1 Teclado $ 100 3
2 Disco duro 300 Gb $ 500 5
3 Mouse $ 80 3
4 Memoria USB $ 140 4
5 Memoria RAM $ 290 1
6 Disco duro extrable $ 650 5
250 Gb
7 Memoria USB $ 279 1
8 DVD Rom $ 450 2
9 CD Rom $ 200 2
10 Tarjeta de red $ 180 3
8. Genera las siguientes consultas:
a) Obtener todos los datos de los productos de la tienda
b) Obtener los nombres de los productos de la tienda
c) Obtener los nombres y precio de los productos de la tienda
d) Obtener los nombres de los artculos sin repeticiones
e) Obtener todos los datos del artculo cuya clave de producto es 5
1
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
f) Obtener todos los datos del artculo cuyo nombre del producto es Teclado
g) Obtener todos los datos de la Memoria RAM y memorias USB
h) Obtener todos los datos de los artculos que empiezan con M
i) Obtener el nombre de los productos donde el precio sea $ 100
j) Obtener el nombre de los productos donde el precio sea mayor a $ 200
k) Obtener todos los datos de los artculos cuyo precio este entre $100 y $350
l) Obtener el precio medio de todos los productos
m) Obtener el precio medio de los artculos cuyo cdigo de fabricante sea 2
n) Obtener el nombre y precio de los artculos ordenados por Nombre
o) Obtener todos los datos de los productos ordenados descendentemente por Precio
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
q) Obtener un listado completo de los productos, incluyendo por cada articulo los datos del
articulo y del fabricante
r) Obtener la clave de producto, nombre del producto y nombre del fabricante de todos los
productos en venta
s) Obtener el nombre y precio de los artculos donde el fabricante sea Logitech ordenarlos
alfabticamente por nombre del producto
t) Obtener el nombre, precio y nombre de fabricante de los productos que son marca Lexar o
Kingston ordenados descendentemente por precio
u) Aade un nuevo producto: Clave del producto 11, Altavoces de $ 120 del fabricante 2
v) Cambia el nombre del producto 6 a Impresora Laser
w) Aplicar un descuento del 10% a todos los productos.
x) Aplicar un descuento de $ 10 a todos los productos cuyo precio sea mayor o igual a $ 300
y) Borra el producto numero 6
2
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
RESUELTO 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
9. Crea una base de datos llamada TIENDA
CREATE DATABASE TIENDA;
10. Muestra las Bases de datos almacenadas
SHOW DATABASES;
11. Habilita la Base de datos TIENDA
USE TIENDA;
12. Genera las siguientes tablas:
FABRICANTES CREATE TABLE FABRICANTES (Clave_fabricante
NOMBRE DE COLUMNA TIPO DE DATO
INT NOT NULL, Nombre VARCHAR(30), PRIMARY
Clave Principal Clave_fabricante Int
Nombre Varchar(30)
KEY (Clave_fabricante));
ARTICULOS CREATE TABLE ARTICULOS (Clave_articulo INT NOT
NOMBRE DE COLUMNA TIPO DE DATO NULL, Nombre VARCHAR(30), Precio INT,
Clave Principal Clave_articulo Int Clave_fabricante INT, PRIMARY KEY (Clave_articulo),
Nombre Varchar(30) FOREING KEY(Clave_fabricante) REFERENCES
Precio Int FABRICANTES (Clave_fabricante));
Clave Fornea Clave_fabricante Int
13. Muestra las tablas de la Base de datos TIENDA
SHOW TABLES;
14. Muestra los atributos de la tabla ARTICULOS;
DESCRIBE ARTICULOS;
15. Introduce los siguientes datos en cada tabla:
TABLA: FABRICANTES
CLAVE_FABRICANTE NOMBRE
1 Kingston
2 Adata
3 Logitech
4 Lexar
5 Seagate
INSERT INTO FABRICANTES VALUES ( 1 , Kingston);
3
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
TABLA: ARTICULOS
CLAVE_ARTICULO NOMBRE PRECIO CLAVE_FABRICANTE
1 Teclado $ 100 3
2 Disco duro 300 Gb $ 500 5
3 Mouse $ 80 3
4 Memoria USB $ 140 4
5 Memoria RAM $ 290 1
6 Disco duro extrable 250 Gb $ 650 5
7 Memoria USB $ 279 1
8 DVD Rom $ 450 2
9 CD Rom $ 200 2
10 Tarjeta de red $ 180 3
INSERT INTO ARTICULOS VALUES ( 1 , Teclado, 100 , 3 );
16. Genera las siguientes consultas:
z) Obtener todos los datos de los productos de la tienda
SELECT * FROM ARTICULOS;
aa) Obtener los nombres de los productos de la tienda
SELECT Nombre FROM ARTICULOS;
bb) Obtener los nombres y precio de los productos de la tienda
SELECT Nombre,Precio FROM ARTICULOS;
cc) Obtener los nombres de los artculos sin repeticiones
SELECT DISTINCT Nombre FROM ARTICULOS;
dd) Obtener todos los datos del artculo cuya clave de producto es 5
SELECT * FROM ARTICULOS WHERE Clave_articulo=5;
ee) Obtener todos los datos del artculo cuyo nombre del producto es Teclado
SELECT * FROM ARTICULOS WHERE Nombre=Teclado;
ff) Obtener todos los datos de la Memoria RAM y memorias USB
SELECT *
FROM ARTICULOS
WHERE Nombre=Memoria RAM
OR Nombre=Memoria USB ;
4
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
gg) Obtener todos los datos de los artculos que empiezan con M
SELECT *
FROM ARTICULOS
WHERE Nombre LIKE M%;
hh) Obtener el nombre de los productos donde el precio sea $ 100
SELECT Nombre
FROM ARTICULOS
WHERE Precio = 100;
ii) Obtener el nombre de los productos donde el precio sea mayor a $ 200
SELECT Nombre
FROM ARTICULOS
WHERE Precio > 200;
jj) 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;
kk) Obtener el precio medio de todos los productos
SELECT AVG(Precio)
FROM ARTICULOS;
ll) Obtener el precio medio de los artculos cuyo cdigo de fabricante sea 2
SELECT AVG(Precio)
FROM ARTICULOS
WHERE Clave_fabricante=3;
mm) Obtener el nombre y precio de los artculos ordenados por Nombre
SELECT Nombre, Precio
FROM ARTICULOS
ORDER BY Nombre;
nn) Obtener todos los datos de los productos ordenados descendentemente por Precio
SELECT *
FROM ARTICULOS
ORDER BY Precio DESC;
5
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
oo) 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;
pp) 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
qq) Obtener la clave de producto, nombre del producto y nombre del fabricante de todos los productos en venta
SELECT ARTICULOS.Clave_articulo, [Link], [Link]
FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
rr) Obtener el nombre y precio de los artculos donde el fabricante sea Logitech ordenarlos alfabticamente por
nombre del producto
SELECT [Link], [Link]
FROM ARTICULOS, FABRICANTES
WHERE [Link]=Logitech AND
ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
ORDER BY [Link];
ss) Obtener el nombre, precio y nombre de fabricante de los productos que son marca Lexar o Kingston ordenados
descendentemente por precio
SELECT [Link], [Link], [Link]
FROM ARTICULOS, FABRICANTES
WHERE [Link]=Lexar OR [Link]=Kingston
AND ARTICULOS.Clave_fabricante=FABRICANTES.Clave_fabricante
ORDER BY [Link] DESC;
tt) Aade un nuevo producto: Clave del producto 11, Altavoces de $ 120 del fabricante 2
INSERT INTO ARTICULOS VALUES (11 ,Altavoces, 120, 2);
uu) Cambia el nombre del producto 6 a Impresora Laser
UPDATE ARTICULOS SET Nombre=Impresora Laser
WHERE Clave_articulo = 8
6
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL BD
vv) Aplicar un descuento del 10% a todos los productos.
UPDATE ARTICULOS SET Precio=Precio *0.10
ww) 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
xx) Borra el producto numero 6
DELETE FROM ARTICULOS WHERE Clave_articulo= 6