SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS STUDENT;
DROP TABLE IF EXISTS CAMPUS;
DROP TABLE IF EXISTS ROOM;
DROP TABLE IF EXISTS COURSE;
DROP TABLE IF EXISTS INSTRUCTOR;
DROP TABLE IF EXISTS APPROVED_INSTRUCTOR;
DROP TABLE IF EXISTS CLASS;
DROP TABLE IF EXISTS STUDENT_GRADE;
SET FOREIGN_KEY_CHECKS=1;
 
 
 
CREATE TABLE STUDENT (
Student_ID int NOT NULL AUTO_INCREMENT,
Last_Name VARCHAR(255) NOT NULL,
First_Name VARCHAR(255) NOT NULL,
Address VARCHAR(255),
Zip int,
Major VARCHAR(255),
Class VARCHAR(255),
Status VARCHAR(255),
PRIMARY KEY (Student_ID)
);
 
 
 
CREATE TABLE CAMPUS (
Campus_Name VARCHAR(255) NOT NULL,
Address VARCHAR(255),
Zip int,
Phone_No int(10),
PRIMARY KEY (Campus_Name)
);
 
 
 
 
 
 
 
CREATE TABLE ROOM (
Room_No int NOT NULL AUTO_INCREMENT,
Campus_Name VARCHAR(255),
Facility VARCHAR(255),
Capacity int,
FOREIGN KEY (Campus_Name) REFERENCES CAMPUS(Campus_Name) ON DELETE CASCADE ON UPDATE CASCADE,
PRIMARY KEY(Room_No)
);

 
CREATE TABLE INSTRUCTOR (
Instructor_ID int NOT NULL AUTO_INCREMENT,
Last_Name VARCHAR(255) NOT NULL,
First_Name VARCHAR(255) NOT NULL,
Address VARCHAR(255),
Zip int,
Office_No int(10),
PRIMARY KEY (Instructor_ID)
);

CREATE TABLE COURSE (
Course_No int NOT NULL AUTO_INCREMENT,
Course_Name VARCHAR(255) NOT NULL,
UNIQUE (Course_Name),
PRIMARY KEY (Course_No),
CreditHours int
 CHECK (CreditHours BETWEEN 1 AND 4)
);
 
 

CREATE TABLE CLASS (
Class_ID int NOT NULL AUTO_INCREMENT,
Room_No int,
Course_No int,
Section_No int,
Semester_Name VARCHAR(25),
Years int,
Instructor_ID int,
Campus_Name VARCHAR(255),
Start_Date DATE,
Start_Time TIME,
PRIMARY KEY (Class_ID),
FOREIGN KEY (Room_No) REFERENCES ROOM(Room_No) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Course_No) REFERENCES COURSE(Course_No) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Instructor_ID) REFERENCES INSTRUCTOR(Instructor_ID) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Campus_Name) REFERENCES CAMPUS(Campus_Name) ON DELETE CASCADE ON UPDATE CASCADE
);
 
 

CREATE TABLE STUDENT_GRADE (
Student_ID int,
Class_ID int,
FOREIGN KEY (Student_ID) REFERENCES STUDENT(Student_ID) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Class_ID) REFERENCES CLASS(Class_ID) ON DELETE CASCADE ON UPDATE CASCADE,
Student_Grade CHAR(1) NOT NULL
CHECK (Student_Grade IN ('A' , 'B' , 'C' , 'D' , 'F' , 'I' , 'W' , 'E'))
);
 
 
 

 

 
 
 
 
 
 
CREATE TABLE APPROVED_INSTRUCTOR (
Instructor_ID int,
Course_No int,
FOREIGN KEY (Instructor_ID) REFERENCES INSTRUCTOR(Instructor_ID) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Course_No) REFERENCES COURSE(Course_No) ON DELETE CASCADE ON UPDATE CASCADE
);
 

 
 
INSERT INTO STUDENT(Last_Name, First_Name, Address, Zip, Major, Class, Status) 
VALUES ('student1','Student1','235, Mayfair',10203,'Maths','stats','Enrolled'), 
('Barack','Obama','236, Parker',2023,'Maths','stats','Enrolled'), 
('Tyrese','Banks','237, Parker',2022,'Maths','pure Maths','Enrolled'),
('Sandra','jones','238, Jefferson',2023,'Maths','Applied','Withdrawn'),
('Demarel','Gray','239, Englewood',2024,'CS','computer science','Withdrawn');
 
 
 
 
 
 
INSERT INTO CAMPUS(Campus_Name,Address,Zip,Phone_No)
VALUES ('Main Campus','London,UK',8393,344522113),
('Uphill Campus','Minneapolis',9090,987820632),
('Detroit Campus','Detroit',99011,090938222),
('Boston','Boston',80115,5204204502),
('Denver','Denver',80541,5204204655);
 
INSERT INTO ROOM(Campus_Name,Facility,Capacity)
VALUES ('uphill campus','Room 1',900),
('Detroit Campus','Asia1 ',805),
('Boston','Europe1',720),
('Main Campus','Antarctica 1',890),
('Denver','America1',780);


 
INSERT INTO COURSE(Course_Name,CreditHours)
VALUES ('Computer Science',3),
('Maths',2),
('Philosophy',4),
('Machine Learning',4),
('Graphics',3);
 
INSERT INTO INSTRUCTOR(Last_Name, First_Name, Address, Zip,Office_No)
VALUES ('Barack','Obama','23R, Colorado',30909,25788256), 
('Tee','Enock','344, Parker',24543,45678900), 
('Redmond','Aga','888, Pretoria',20203,8909000),
('Ben','Stokes','009, Joburg',80113,8704521200),
('Simon','Bitok','887, Emarald',90004,9809877676);
 
INSERT INTO APPROVED_INSTRUCTOR(Instructor_ID,Course_No)
VALUES (1,3), 
(2,3), 
(3,4),
(5,2),
(4,4);
 
INSERT INTO CLASS(Room_No,Course_No,Section_No,Semester_Name,Years,Instructor_ID,Campus_Name,Start_Date,Start_Time)
VALUES (1,1,1,'Summer',2,1,'Denver','2021-01-09','1:30:00'),
(1,1,2,'Summer',2,2,'Detroit Campus','2021-10-01','5:30:00'),
(1,2,3,'winter',2,3,'Main Campus','2021-03-19','03:30:00'),
(2,3,4,'fall',2,4,'uphill campus','2021-12-23','1:30:00'),
(4,1,5,'Fall',2,5,'Boston','2021-12-12','4:30:00');

INSERT INTO STUDENT_GRADE(Student_ID,Class_ID,Student_Grade)
VALUES (1,1,'A'), 
(2,4,'B'), 
(3,2,'A'),
(2,3,'C'),
(4,4,'D');
 

 
 SELECT * FROM CAMPUS;
SELECT * FROM CLASS;
SELECT * FROM STUDENT;
SELECT * FROM COURSE;
SELECT * FROM INSTRUCTOR;
SELECT * FROM ROOM;
SELECT * FROM APPROVED_INSTRUCTOR;

SELECT * FROM STUDENT_GRADE;
 
COMMIT;
 

 

MySQL online editor

Write, Run & Share MySQL queries online using OneCompiler's MySQL online editor and compiler for free. It's one of the robust, feature-rich online editor and compiler for MySQL. Getting started with the OneCompiler's MySQL editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose language as 'MySQL' and start writing queries to learn and test online without worrying about tedious process of installation.

About MySQL

MySQL is a open-source, free and very popular relational database management system which is developed, distributed and supported by Oracle corporation.

Key Features:

  • Open-source relational database management systems.
  • Reliable, very fast and easy to use database server.
  • Works on client-server model.
  • Highly Secure and Scalable
  • High Performance
  • High productivity as it uses stored procedures, triggers, views to write a highly productive code.
  • Supports large databases efficiently.
  • Supports many operating systems like Linux*,CentOS*, Solaris*,Ubuntu*,Windows*, MacOS*,FreeBSD* and others.

Syntax help

Commands

1. CREATE

CREATE TABLE table_name (
                column1 datatype,
                column2 datatype,
                ....);

Example

CREATE TABLE EMPLOYEE (
  empId INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  dept TEXT NOT NULL
);

2. ALTER

ALTER TABLE Table_name ADD column_name datatype;

Example

INSERT INTO EMPLOYEE VALUES (0001, 'Dave', 'Sales');

3. TRUNCATE

TRUNCATE table table_name;

4. DROP

DROP TABLE table_name;

5. RENAME

RENAME TABLE table_name1 to new_table_name1; 

6. COMMENT

Single-Line Comments:

 --Line1;

Multi-Line comments:

   /* Line1,
   Line2 */

DML Commands

1. INSERT

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

Note: Column names are optional.

Example

INSERT INTO EMPLOYEE VALUES (0001, 'Ava', 'Sales');

2. SELECT

SELECT column1, column2, ...
FROM table_name
[where condition]; 

Example

SELECT * FROM EMPLOYEE where dept ='sales';

3. UPDATE

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition; 

Example

UPDATE EMPLOYEE SET dept = 'Sales' WHERE empId='0001'; 

4. DELETE

DELETE FROM table_name where condition;

Example

DELETE from EMPLOYEE where empId='0001'; 

Indexes

1. CREATE INDEX

  CREATE INDEX index_name on table_name(column_name);
  • To Create Unique index:
  CREATE UNIQUE INDEX index_name on table_name(column_name);

2. DROP INDEX

DROP INDEX index_name ON table_name;

Views

1. Create a View

Creating a View:
CREATE VIEW View_name AS 
Query;

2. How to call view

SELECT * FROM View_name;

3. Altering a View

ALTER View View_name AS 
Query;

4. Deleting a View

DROP VIEW View_name;

Triggers

1. Create a Trigger

CREATE TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW [trigger_order] trigger_body
/* where
trigger_time: { BEFORE | AFTER }
trigger_event: { INSERT | UPDATE | DELETE }
trigger_order: { FOLLOWS | PRECEDES } */

2. Drop a Trigger

DROP TRIGGER [IF EXISTS] trigger_name;

Stored Procedures

1. Create a Stored Procedure

CREATE PROCEDURE sp_name(p1 datatype)
BEGIN
/*Stored procedure code*/
END;

2. How to call Stored procedure

CALL sp_name;

3. How to delete stored procedure

DROP PROCEDURE sp_name;

Joins

1. INNER JOIN

SELECT * FROM TABLE1 INNER JOIN TABLE2 where condition;

2. LEFT JOIN

SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON condition;

3. RIGHT JOIN

SELECT * FROM TABLE1 RIGHT JOIN TABLE2 ON condition;

4. CROSS JOIN

SELECT select_list from TABLE1 CROSS JOIN TABLE2;