Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEPARTAMENTO DE INFORMÁTICA
Práctica de
Administración de Base
de Datos
Tercer Semestre
Ing. Lorena Bowen Mendoza
ADMINISTRACIÓN DE BASES DE DATOS
2
CONTENIDO A TRATAR HOY:
Ingreso a MySQL mediante consola
Creación de Bases de Datos
Gestión de Datos
Formulación avanzada de consultas SQL
Subconsultas y Multitablas
Objetivo de la Clase:
✓ Acceder y ejecutar la consola de MySQL.
✓Crear y actualizar Bases de Datos y sus objetos.
✓Escribir sentencias SELECT para consultas con
operadores de restricción, proyección y
enlaces multitablas
Crear la tabla
CREATE TABLE usuario (
id_usuario INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50) NOT NULL,
direccion VARCHAR(50) NOT NULL,
ciudad VARCHAR(20) NOT NULL,
edad TINYINT NOT NULL);
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA GESTIÓN DE TABLAS
Ambas instrucciones nos muestra la
estructura de la tabla
Mysql> Describe usuario;
Mysql> SHOW FULL COLUMNS FROM usuario;
Modificar la tabla
Mysql> ALTER TABLE usuario ADD email varchar(50);
Mysql> ALTER TABLE usuario ADD UNIQUE(email);
Mysql> Describe usuario;
Eliminar la tabla
Mysql> DROP TABLE usuario;
UPDATE personas
SET estadocivil = “D”,
Telefono = “052682008”
WHERE sexo = “F”;
Se desea obtener los años de nacimiento de las personas, que se muestre solo una
vez el año si se repite.
SELECT DISTINCT YEAR(FechaNacimiento) AS anio
FROM personas;
Seleccionar los nombres de las personas que están casadas y tengan menos de 30
años.
Mostras a las personas que tengan más de 36 años ( o que hayan nacido antes
del 30 de junio de 1984).
SELECT ApellidoPaterno, ApellidoMaterno, Nombres, telefono, sexo,
FechaNacimiento
FROM personas
WHERE FechaNacimiento < “1984/06/30”
OR TIMESTAMPDIFF(YEAR,fechanacimiento,CURRENT_DATE) > 36;
UNION
Listar las personas que tengan un apellido Zambrano
( SELECT ApellidoPaterno, ApellidoMaterno, Nombres
FROM personas
WHERE ApellidoPaterno=“Zambrano”)
UNION
( SELECT ApellidoPaterno, ApellidoMaterno, Nombres
FROM personas
WHERE ApellidoMaterno=“Zambrano”);
SUBCONSULTA
Seleccionar las personas que trabajan en la unidad educativa y
no son profesores.
SELECT ApellidoPaterno, ApellidoMaterno, Nombres
FROM personas
WHERE IdPersona IN (SELECT IdPersona
FROM Profesores
WHERE cargo <>”Profesor”);
COMPOSICIÓN
Mostrar un listado de los profesores con su cargo y titulación.
SELECT concat(ApellidoPaterno,” “, ApellidoMaterno,” “, Nombres) AS
Personas, cargo, titulacion
FROM Personas, Profesores
WHERE Personas.IdPersona=Profesores.IdPersona;
INNER JOIN
Mostrar un listado de los profesores con su cargo y titulación.
SELECT personas.ApellidoPaterno, personas.ApellidoMaterno,
personas.Nombres, profesores.cargo, profesores.Titulacion
FROM personas INNER JOIN profesores
ON personas.IdPersona = profesores.IdPersona;