CREATE DATABASE Biblioteca;
USE Biblioteca;
CREATE TABLE Estudiante (
id_estudiante INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
correo VARCHAR(100),
telefono VARCHAR(20)
);
CREATE TABLE Libro (
id_libro INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
autor VARCHAR(80),
editorial VARCHAR(60),
anio_publicacion INT
);
CREATE TABLE Prestamo (
id_prestamo INT AUTO_INCREMENT PRIMARY KEY,
fecha_prestamo DATE,
fecha_devolucion DATE,
estado VARCHAR(20),
id_estudiante INT,
id_libro INT,
FOREIGN KEY (id_estudiante)
REFERENCES Estudiante(id_estudiante),
FOREIGN KEY (id_libro)
REFERENCES Libro(id_libro)
);
SHOW TABLES;
DESCRIBE Estudiante;
DESCRIBE Libro;
DESCRIBE Prestamo;
CREATE
INSERT INTO Estudiante(nombre, apellido, correo, telefono)
VALUES
('Ana','Mora','ana@gmail.com','88881111'),
('Carlos','Rojas','carlos@gmail.com','88882222'),
('Laura','Solis','laura@gmail.com','88883333');
INSERT INTO Libro(titulo,autor,editorial,anio_publicacion)
VALUES
('SQL Básico','Mario Pérez','Alfa',2023),
('Programación Web','Luis Vargas','Beta',2025),
('Redes Cisco','Andrea Jiménez','Gamma',2024);
INSERT INTO Prestamo
(fecha_prestamo,fecha_devolucion,estado,id_estudiante,id_libro)
VALUES
('2026-07-01','2026-07-08','Activo',1,1),
('2026-07-02','2026-07-09','Activo',2,3);
READ
SELECT * FROM Estudiante;
SELECT * FROM Libro;
SELECT * FROM Prestamo;
Mostrar solo los nombres de estudiantes:
SELECT nombre, apellido
FROM Estudiante;
Mostrar libros publicados después de 2023
SELECT *
FROM Libro
WHERE anio_publicacion > 2023;
Mostrar estudiantes ordenados por apellido
SELECT *
FROM Estudiante
ORDER BY apellido;
Mostrar préstamos con JOIN
SELECT
Estudiante.nombre,
Estudiante.apellido,
Libro.titulo,
Prestamo.fecha_prestamo,
Prestamo.estado
FROM Prestamo
INNER JOIN Estudiante
ON Prestamo.id_estudiante = Estudiante.id_estudiante
INNER JOIN Libro
ON Prestamo.id_libro = Libro.id_libro;
UPDATE
Cambiar el teléfono de Ana
UPDATE Estudiante
SET telefono='88889999'
WHERE id_estudiante=1;
UPDATE Prestamo
SET estado='Devuelto'
WHERE id_prestamo=2;
DELETE
DELETE FROM Prestamo
WHERE estado='Devuelto';
FUNCIONES
COUNT()
SELECT COUNT(*) AS Total_Estudiantes
FROM Estudiante;
SELECT COUNT(*) AS Total_Libros
FROM Libro;
SELECT COUNT(*) AS Prestamos_Activos
FROM Prestamo
WHERE estado='Activo';
MAX()
SELECT MAX(anio_publicacion) AS Libro_Mas_Reciente
FROM Libro;
MIN()
SELECT MIN(anio_publicacion) AS Libro_Mas_Antiguo
FROM Libro;
AVG()
****ACTUALIZACIÓN****
ALTER TABLE Libro
ADD precio DECIMAL(8,2);
UPDATE Libro
SET precio=12500
WHERE id_libro=1;
UPDATE Libro
SET precio=18000
WHERE id_libro=2;
UPDATE Libro
SET precio=15500
WHERE id_libro=3;
SELECT AVG(precio) AS Precio_Promedio
FROM Libro;
SUM()
SELECT SUM(precio) AS Valor_Total
FROM Libro;
UPPER()
SELECT UPPER(nombre)
FROM Estudiante;
LOWER()
SELECT LOWER(titulo)
FROM Libro;
LENGTH()
SELECT
nombre,
LENGTH(nombre) AS Cantidad
FROM Estudiante;
CONCAT()
SELECT
CONCAT(nombre,' ',apellido)
AS Nombre_Completo
FROM Estudiante;
CURDATE()
SELECT CURDATE();
YEAR()
SELECT
YEAR(fecha_prestamo)
FROM Prestamo;
MONTH()
SELECT
MONTH(fecha_prestamo)
FROM Prestamo;
DAY()
SELECT
DAY(fecha_prestamo)
FROM Prestamo;
To embed this project on your website, copy the following code and paste it into your website's HTML: