EJERCICIO DE TABLAS Y CONSULTAS EN MySQL
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 CREATE TABLE FABRICANTES
NOMBRE DE COLUMNA TIPO DE DATO
(Clave_fabricante INT NOT NULL,
Clave Principal Clave_fabricante Int
Nombre Varchar(30)
Nombre VARCHAR(30), PRIMARY
ARTICULOS CREATE TABLE ARTICULOS
NOMBRE DE COLUMNA TIPO DE DATO (Clave_articulo INT NOT NULL, Nombre
Clave Principal Clave_articulo Int VARCHAR(30), Precio INT,
Nombre Varchar(30) Clave_fabricante INT, PRIMARY KEY
Precio Int (Clave_articulo), FOREING
Clave Fornea Clave_fabricante Int KEY(Clave_fabricante) REFERENCES
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 NOMBRE
1 Kingston
2 Adata
3 Logitech
4 Lexar
5 Seagate
INSERT INTO FABRICANTES VALUES ( 1 ,
1
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL
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 ,
8. Genera las siguientes consultas:
a) Obtener todos los datos de los productos de la tienda
SELECT * FROM
b) Obtener los nombres de los productos de la tienda
SELECT Nombre FROM
c) Obtener los nombres y precio de los productos de la tienda
SELECT Nombre,Precio FROM
d) Obtener los nombres de los artculos sin repeticiones
SELECT DISTINCT Nombre FROM
e) Obtener todos los datos del artculo cuya clave de producto es 5
SELECT * FROM ARTICULOS WHERE
f) Obtener todos los datos del artculo cuyo nombre del producto es Teclado
SELECT * FROM ARTICULOS WHERE
g) Obtener todos los datos de la Memoria RAM y memorias USB
SELECT * FROM ARTICULOS WHERE Nombre=Memoria RAM OR
h) Obtener todos los datos de los artculos que empiezan con M
SELECT * FROM ARTICULOS WHERE
i) Obtener el nombre de los productos donde el precio sea $ 100
2
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL
SELECT Nombre FROM ARTICULOS
j) Obtener el nombre de los productos donde el precio sea mayor a $ 200
SELECT Nombre FROM ARTICULOS
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
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
n) Obtener el nombre y precio de los artculos ordenados por Nombre
SELECT Nombre, Precio FROM ARTICULOS
o) Obtener todos los datos de los productos ordenados descendentemente por Precio
SELECT * FROM ARTICULOS ORDER
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;
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.C
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
3 WHERE
EJERCICIO DE TABLAS Y CONSULTAS EN MySQL
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;
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
u) Aade un nuevo producto: Clave del producto 11, Altavoces de $ 120 del fabricante 2
INSERT INTO ARTICULOS VALUES
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
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
y) Borra el producto numero 6
DELETE FROM ARTICULOS WHERE