Está en la página 1de 26

UNIVERSIDAD TÉCNICA DE MANABÍ

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

Cognitive Cities Management Research Group (CMMA)


ADMINISTRACIÓN DE MYSQL
MEDIANTE CONSOLA
PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS
Wamp Server
 Para ejecutar la consola de MySQL en Windows, tendremos que
estar situados dentro de la carpeta que contiene la aplicación.
 Para el efecto práctico se utilizará el proveedor “Wamp Server” el
cual al ser instalado se ubica en la ruta:
C:\wamp64\bin\mysql\mysql5.7.14\bin>_
 Considere que la ruta especificada se accede mediante la
consola de Windows y utilizando WAMP que son iniciales de
Windows Apache Mysql Php.
 Para prácticas puede utiliza el Shell de Windows para acceder y
ejecutar la consola de MySQL, esto porque sus aplicaciones están
organizadas y guardadas en carpetas especiales, la ubicación de
éstas carpetas pueden variar dependiendo del proveedor y la
versión de los servidores.
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS
Wamp Server
Ruta donde se encuentra
instalado el wamp server

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS
CONECCIÓN CON EL SERVIDOR MYSQL
MEDIANTE CONSOLA
 La orden de acceso al sistema gestor de MySQL mediante consola
% mysql
Con el signo "%" se expresa que puede ser cualquier Shell, ya sea en Windows o Linux. Ese
principio “%” se le denomina prontuario, (C:\wamp\bin\mysql\mysql5.7.14\bin>).
 La sintaxis modelo sería la siguiente:
% mysql -h nombre_servidor -u nombre_usuario -p
 Sí se desea conectar al servidor local se utiliza el parámetro “-h localhost”, si es un
servidor remoto “-h dirección IP del Host”, por ahora se utilizará como nombre de
usuario “–u root”, para escribir la clave de acceso se debe especificar “-p” de lo que
significa que se tendría que escribir:
% mysql -h localhost -u root –p
% mysql -h localhost -u root -pmi_clave
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS
Ejecutar CMD, cambiar la
ubicación al directorio donde se
encuentra instalado MySQL

Ejecutar el comando mysql


para ingresar
PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS

 Puede ingresar a MYSQL de las dos formas


C:\wamp\bin\mysql\mysql5.7.14\bin>mysql -h localhost -u root –p

Cognitive Cities Management Research Group (CMMA)


GESTIÓN DE TABLAS
PRÁCTICA GESTIÓN DE TABLAS
Nos muestra las bases de datos que existen

Mysql> show databases; Creamos una base de


datos llamada Practica
Mysql> create database Practica;
Mysql> use Practica; Nos conectamos a la base de datos Practica

Mysql> show tables; Nos muestra las tablas que existen

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;

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA GESTIÓN DE TABLAS

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA GESTIÓN DE TABLAS

CREATE TABLE IF NOT EXISTS personas(


IdPersona Int PRIMARY KEY auto_increment,
ApellidoPaterno Varchar(50) not null,
ApellidoMaterno Varchar(50) not null,
Nombres Varchar(50) not null,
Direccion Varchar(150),
telefono Varchar(15),
sexo enum('M','F'),
FechaNacimiento date,
EstadoCivil enum('S','C','D','V','U') ) ENGINE=INNODB;
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA GESTIÓN DE TABLAS
CREATE TABLE IF NOT EXISTS profesores(
IdPersona int,
cargo Varchar(50) not null,
Titulacion Varchar(50),
Fechaingreso date,
PRIMARY KEY(Idpersona),
FOREIGN KEY(IdPersona) REFERENCES personas(Idpersona)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS padres(
IdPersona int,
Aumente en la tabla Profesores cargasfamiliares int(2),
después del campo Cargo, el TelefonoTrabajo varchar(15),
campo Tiempo y que permita DireccionTrabajo varchar(100),
valores TC (Tiempo completo), ocupacion varchar(80),
MT (Medio Tiempo), TP (Tiempo PRIMARY KEY(Idpersona),
parcial). FOREIGN key(IdPersona) REFERENCES
Cognitive Cities Management Research Group (CMMA)personas(Idpersona)) ENGINE=INNODB;
PRÁCTICA GESTIÓN DE TABLAS

CREATE TABLE IF NOT EXISTS Estudiante(


IdPersona int not null,
IdPersonaPapa int not null,
IdPersonaMama int not null,
Procedencia varchar(80),
Primary Key(Idpersona),
FOREIGN KEY(IdPersona) references personas(Idpersona),
FOREIGN KEY(IdPersonaPapa) references personas(Idpersona),
FOREIGN KEY(IdPersonaMama) references personas(Idpersona)
) ENGINE=InnoDB;
Cambie el nombre del campo Procedencia a InstitutoEducacion.
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA SENTENCIAS DE MODIFICACIÓN DE SQL
Insertar datos
 INSERT INTO personas (ApellidoPaterno, ApellidoMaterno, Nombres,
Direccion, telefono, sexo, FechaNacimiento, EstadoCivil)
VALUES ('Demera', 'Ureta', 'Gabriel', 'Cdla. Parque Forestal‘, '052123456',
'M', '1974-03-18','C');
 INSERT INTO personas (ApellidoPaterno, ApellidoMaterno, Nombres,
Direccion, telefono, sexo, FechaNacimiento, EstadoCivil)
VALUES ('Montero', 'Zambrano','Paola', ‘Urbanización Los Jazmines',
'052698745', 'F', '1979-04-23','C');
 INSERT INTO personas (ApellidoPaterno, ApellidoMaterno, Nombres,
telefono, sexo, FechaNacimiento, EstadoCivil)
VALUES (‘Cedño', ‘García',‘Laura Celeste', '052654123', 'F', '1982-09-03','C');

Ingresar 5 registros en la tabla Personas.


Cognitive Cities Management Research Group (CMMA)
PRÁCTICA SENTENCIAS DE MODIFICACIÓN DE SQL

Modificar y Eliminar datos

UPDATE personas
SET estadocivil = “D”,
Telefono = “052682008”
WHERE sexo = “F”;

DELETE FROM personas


WHERE dirección is NULL;

Modifique todos los nombres y apellidos de las tablas


Personas para que sean mayúsculas.
Cognitive Cities Management Research Group (CMMA)
GESTIÓN DE SUBCONSULTAS
CONSULTAS MULTITABLAS
PRÁCTICA CONSULTA SQL
EXTRACCIÓN DE DATOS
Seleccionar todos los campos y registros de la tabla PERSONAS.
SELECT * FROM personas;

Seleccionar 5 campos (información básica) de la tabla PERSONAS.


SELECT ApellidoPaterno, ApellidoMaterno, Nombres, Direccion,
FechaNacimiento
FROM personas;

Seleccionar información de aquellas personas que son mujeres.


SELECT ApellidoPaterno, ApellidoMaterno, Nombres, Direccion,
FechaNacimiento
FROM personas
WHERE sexo=“f”;
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA CONSULTA SQL

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;

Mostrar la edad de las tres personas más jóvenes.


SELECT TIMESTAMPDIFF(YEAR,fechanacimiento,CURRENT_DATE) as edad
FROM personas
ORDER BY FechaNacimiento ASC
LIMIT 3;

Seleccionar los nombres de las personas que están casadas y tengan menos de 30
años.

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA CONSULTA SQL
Mostrar los hombres que están casados y ordenarlos por apellidos paternos.
SELECT ApellidoPaterno, ApellidoMaterno, Nombres, Direccion, FechaNacimiento
FROM personas
WHERE sexo=“M” and EstadoCivil=“C”
ORDER BY ApellidoPaterno;

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;

¿Qué información nos da?


SELECT concat(personas.ApellidoPaterno,” “,personas.ApellidoMaterno ,” “,
personas.Nombres) As Estudiante, IF (sexo=“F”,”Femenino”,”Masculino”) As Sexo,
date_format(FechaNacimiento,”%d/%m/%Y”)
FROM personas
ORDER BY ApellidoPaterno DESC;
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA DE UNIÓN DE DATOS

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”);

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA DE SUBCONSULTA

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”);

Seleccione los nombres de las personas que sean mujeres y


sean madres de familia.

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA DE CONSULTA MULTITABLA
PRODUCTO CARTESIANO

Combinar todos los cursos con todos los paralelos que


hay.
SELECT *
FROM Cursos, paralelos;

Combinar todas personas con todos los profesores.


SELECT concat(ApellidoPaterno,” “, ApellidoMaterno,” “,
Nombres) AS Personas, cargo, titulacion
FROM Personas, Profesores;

Cognitive Cities Management Research Group (CMMA)


PRÁCTICA DE CONSULTA MULTITABLA

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;

Un listado de todos los estudiantes matriculados con sus respectivos


representantes.
SELECT concat(personas.ApellidoPaterno,” “,personas.ApellidoMaterno,
“ “,personas.Nombres)As Estudiantes, Matriculas.IdMatricula As Matricula,
Concat(personas_1.ApellidoPaterno,” “, personas_1.ApellidoMaterno,” “,
personas_1.Nombres) As Representante
FROM Personas AS personas_1, Personas, Matriculas
WHERE personas.IdPersona = matriculas.IdPersonaEstudiante
AND personas_1.IdPersona = matriculas.IdPersonaRepresentante;
Cognitive Cities Management Research Group (CMMA)
PRÁCTICA DE CONSULTA MULTITABLA

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;

Mostra todos los profesores que sean Licenciados.


SELECT personas.ApellidoPaterno, personas.ApellidoMaterno,
personas.Nombres, profesores.cargo, profesores.Titulacion
FROM personas INNER JOIN profesores
ON personas.IdPersona = profesores.IdPersona
WHERE titulacion LIKE “%Lcdo%”;

Mostrar un listado de los estudiantes que su padre tenga


ocupación Electricista.
Cognitive Cities Management Research Group (CMMA)

También podría gustarte