A nice little addition from my mom's iMac

This commit is contained in:
Win 2025-09-14 13:11:40 +00:00
parent 2d7b6bb1dc
commit c6a63e11ef
1 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,74 @@
# SQL Implementation
## Database Creation
CREATE DATABASE library;
## Table creation
CREATE TABLE book (
isbn INT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(100) NOT NULL,
year INT NOT NULL
);
CREATE TABLE member (
member_id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50) NOT NULL
);
CREATE TABLE loan (
isbn INT REFERENCES book(isbn),
member_id INT REFERENCES member(member_id),
loan_date DATE NOT NULL,
return_date DATE NOT NULL,
PRIMARY_KEY(isbn, member_id)
);
SHOW TABLES;
## CRUD Queries
### Insert at least 3 books and 2 members
INSERT INTO book VALUES
(9781927077030, 'The Three Principles of the People - San Min Chu I', 'Sun Yat-Sen', 2011),
(9780717802418, 'The Communist Manifesto', 'Karl Marx, Friedrich Engels', ''),
(9780131103627, 'C Programming Language, 2nd Edition', 'Brian W. Kernighan, Dennis M. Ritchie');
INSERT INTO member VALUES
(10000001, 'Winnie The Pooh', 'winniethepooh@gmail.com'),
(10000002, 'Gary the Dinosaur', 'garythedino@gmail.com');
SELECT * FROM book;
SELECT * FROM member;
### Insert 2 loans
INSERT INTO loan VALUES
(9780131103627, 10000001, '2025-09-11', '2025-09-14'),
(9781927077030, 10000002, '2025-08-10, '2025-10-12')
SELECT * FROM loan;
### Select all loans with member name and book title (JOIN)
SELECT B.title, M.name
FROM loans L
INNER JOIN book B ON B.isbn = L.isbn,
INNER JOIN member M ON M.member_id = L.member_id;
### Update one Loan's ReturnDate
UPDATE loan
SET return_date = '2025-11-10'
WHERE
isbn = 9781927077030
AND
member_id = 10000002;
SELECT * FROM loan;
### Delete one loan record
DELETE FROM loan
WHERE
isbn = 9870131103627
AND
member_id = 10000001;
SELECT * FROM loan;