A nice little addition from my mom's iMac
This commit is contained in:
parent
2d7b6bb1dc
commit
c6a63e11ef
|
|
@ -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;
|
||||||
Loading…
Reference in New Issue