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;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: