Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
-- Yazan Mousa Alrehailie / 4304033 -- Drop tables if they exist (MySQL syntax) DROP TABLE IF EXISTS Purchase; DROP TABLE IF EXISTS Book; DROP TABLE IF EXISTS Customer; -- Create Customer table (MySQL syntax) CREATE TABLE Customer ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(30) NOT NULL, City VARCHAR(20), Phone VARCHAR(12), UNIQUE (Phone) ); -- Create Book table CREATE TABLE Book ( BookID INT PRIMARY KEY, BookTitle VARCHAR(40) NOT NULL, Author VARCHAR(30), Price DECIMAL(6,2), CHECK (Price >= 0) ); -- Create Purchase table CREATE TABLE Purchase ( PurchaseID INT PRIMARY KEY, CustomerID INT, BookID INT, Quantity INT DEFAULT 1, PurchaseDate DATE DEFAULT (CURRENT_DATE), FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID), FOREIGN KEY (BookID) REFERENCES Book(BookID) ); -- Insert data into Customer INSERT INTO Customer VALUES (101, 'Sarah Ali', 'Jeddah', '0501234567'); INSERT INTO Customer VALUES (102, 'Mohammed Ahmed', 'Riyadh', NULL); INSERT INTO Customer VALUES (103, 'Fatima Noor', 'Dammam', '0507654321'); -- Insert data into Book INSERT INTO Book VALUES (201, 'Introduction to Databases', 'Elmasri', 120.50); INSERT INTO Book VALUES (202, 'Learning SQL', 'Alan Beaulieu', 95.00); INSERT INTO Book VALUES (203, 'Oracle Essentials', 'Rick Greenwald', 140.75); -- Insert data into Purchase (using MySQL date format) INSERT INTO Purchase VALUES (301, 101, 201, 1, '2025-03-20'); INSERT INTO Purchase VALUES (302, 102, 202, 2, '2025-03-23'); INSERT INTO Purchase VALUES (303, 103, 203, 1, '2025-03-25'); INSERT INTO Purchase VALUES (304, 101, 202, 3, '2025-04-01'); INSERT INTO Purchase VALUES (305, 103, 201, 2, '2025-04-05'); -- Update operations UPDATE Book SET Price = Price * 1.10 WHERE BookID = 202; UPDATE Customer SET City = 'Mecca' WHERE CustomerID = 102; DELETE FROM Purchase WHERE Quantity = 1; -- Query 1: Customers in Jeddah SELECT * FROM Customer WHERE City = 'Jeddah'; -- Query 2: Books over 100 SAR SELECT * FROM Book WHERE Price > 100; -- Query 3: Join all tables SELECT c.CustomerName, b.BookTitle, p.PurchaseDate FROM Customer c JOIN Purchase p ON c.CustomerID = p.CustomerID JOIN Book b ON b.BookID = p.BookID; -- Query 4: Total quantity by BookID SELECT BookID, SUM(Quantity) AS TotalQuantity FROM Purchase GROUP BY BookID; -- Query 5: Max and min prices SELECT MAX(Price) AS MaxPrice, MIN(Price) AS MinPrice FROM Book; -- Create view (MySQL syntax) CREATE OR REPLACE VIEW View_Customer_Purchases AS SELECT c.CustomerName, b.BookTitle, p.PurchaseDate FROM Customer c JOIN Purchase p ON c.CustomerID = p.CustomerID JOIN Book b ON b.BookID = p.BookID; -- Query the view SELECT * FROM View_Customer_Purchases WHERE PurchaseDate > '2025-03-23'; -- Drop the view DROP VIEW IF EXISTS View_Customer_Purchases;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear