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