Lab Assignment 5
Lab Assignment 5
Lab Assignment 5
● Students:
Columns: student_id (Primary Key), name, age, gender
● Courses:
Columns: course_id (Primary Key), course_name, instructor
● Enrollments:
Columns: enrollment_id (Primary Key), student_id (Foreign Key references Students table),
course_id (Foreign Key references Courses table), grade
● STUDENTS TABLE
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(create_table_query)
mydb.commit()
print("Table created successfully.")
mycursor.executemany(insert_data_query, data)
mydb.commit()
print("\n",mycursor.rowcount, "record(s) inserted.")
mycursor.execute(display_data_query)
result = mycursor.fetchall()
print("\nData in table 'Students' :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
● COURSES TABLE
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
user="root",
password="student",
database="CO_82"
)
create_table_query = """
CREATE TABLE IF NOT EXISTS courses (
course_id INT PRIMARY KEY,
couse_name VARCHAR(255),
instructor VARCHAR(255)
)
"""
insert_data_query = """
INSERT INTO courses (course_id, course_name, instructor ) VALUES (%s, %s, %s)
"""
data_to_insert = [
(101, 'Math', 'Prof.Smith'),
(102, 'Physics','Prof.Johnson'),
(103, 'Chemistry', 'Prof.White'),
]
display_data_query = """
SELECT * FROM courses
"""
try:
cursor = mydb.cursor()
cursor.execute(create_table_query)
mydb.commit()
print("Table created successfully.")
cursor.executemany(insert_data_query, data_to_insert)
mydb.commit()
print(cursor.rowcount, "record(s) inserted.")
cursor.execute(display_data_query)
result = cursor.fetchall()
print("Data in example_table:")
for row in result:
print(row)
finally:
if mydb.is_connected():
cursor.close()
mydb.close()
print("MySQL connection closed.")
Output:-
● ENROLLMENTS TABLE
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
user="root",
password="student",
database="CO_82"
)
create_table_query = """
CREATE TABLE IF NOT EXISTS enrollments (
enrollment_id INT PRIMARY KEY,
id Int,
course_id Int,
FOREIGN KEY(id) REFERENCES students(id),
FOREIGN KEY(course_id) REFERENCES courses(course_id),
grade VARCHAR(255)
)
"""
insert_data_query = """
INSERT INTO enrollments (enrollment_id, id, course_id, grade ) VALUES (%s, %s, %s,
%s)
"""
data_to_insert = [
( 1, 1,101, 'A'),
( 2, 2,101, 'B'),
( 3, 3,102, 'A'),
( 4, 4,103, 'B'),
( 5, 1,103, 'C')
]
display_data_query = """
SELECT * FROM enrollments
"""
try:
cursor = mydb.cursor()
cursor.execute(create_table_query)
mydb.commit()
print("Table created successfully.")
cursor.executemany(insert_data_query, data_to_insert)
mydb.commit()
print(cursor.rowcount, "record(s) inserted.")
cursor.execute(display_data_query)
result = cursor.fetchall()
print("Data in example_table:")
for row in result:
print(row)
finally:
if mydb.is_connected():
cursor.close()
mydb.close()
print("MySQL connection closed.")
Output:-
1. Retrieve the names of all students who have enrolled in the Math course.
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nNames of all students who have enrolled in the Math course :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nAverage age of students :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
3. List all courses along with the number of students enrolled in each course.
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nList all courses along with the number of students enrolled in each course:\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
4. Retrieve the names of students who have scored an A grade in any course.
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nNames of students who have scored an A grade in any course:\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(update_table_query)
result = mycursor.fetchall()
print("\nTable Updates Succesfully..!!!\n")
mycursor.execute(update_table_query)
mydb.commit()
print("Table updated successfully.")
mycursor.execute(display_table_query)
result = mycursor.fetchall()
print("\nData in table 'Students' :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
6. Delete the enrollment of the student with ID 2 from the Physics course.
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(delete_table_query)
mydb.commit()
print("Data deleted successfully.")
mycursor.execute(display_table_query)
result = mycursor.fetchall()
print("\nData in table 'Enrollments' :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nThe course with the highest enrollment :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nNames of instructors who have courses with no enrollments :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nAverage grade for each course:\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-
10. Retrieve the students who have enrolled in more than one course.
Code:-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="student",
database="CO_82"
)
mycursor = mydb.cursor()
try:
mycursor.execute(query)
result = mycursor.fetchall()
print("\nNames of students who have enrolled in more than one course :\n")
for row in result:
print(row)
finally:
if mydb.is_connected():
mycursor.close()
mydb.close()
print("\nMySQL connection closed.")
Output:-