cmkl/fall-2025/sen-209/labs/Session4/commands.md

1.7 KiB

SQL Implementation

Database Creation

CREATE DATABASE library;

Table creation

CREATE TABLE book ( isbn BIGINT PRIMARY KEY, title VARCHAR(50) NOT NULL, author VARCHAR(50) 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 BIGINT 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', 1848), (9780131103627, 'C Programming Language, 2nd Edition', 'Brian W. Kernighan, Dennis M. Ritchie', 1988);

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 loan L INNER JOIN book B ON L.isbn = B.isbn INNER JOIN member M ON L.member_id = M.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 = 9780131103627 AND member_id = 10000001;

SELECT * FROM loan;