library(odbc)
library(DBI)
library(RMySQL)
mysqlconnection=dbConnect(MySQL(),user='root',password='Sri2004@',dbname='MANAGEMENT',host='localhost')
dbListTables(mysqlconnection)
[1] "course"  "enroll"  "student"

1) RETRIVE ALL STUDENTS

students <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT;")
students
  STU_ID        DOB     FIRST_NAME LAST_NAME      COURSES
1      1 2000-01-23           JOHN   JOHNSON DATA SCIENCE
2      3 1994-01-23       GRAY JOE     BRAVO  BIO SCIENCE
3      4 1999-09-23 CAPTAN AMERICA        DJ    CHEMISTRY
4      5 2003-05-23     PARTHIBAN        LEO      SCIENCE

2) TO FIND STUDENTS WHOSE LAST NAME IS ‘DOE’

doe_students <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT WHERE LAST_NAME='DOE';")
doe_students
[1] STU_ID     DOB        FIRST_NAME LAST_NAME  COURSES   
<0 rows> (or 0-length row.names)

3) TO FIND STUDENTS BORN BEFORE JAN 1,2000

students_before_2000 <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT WHERE DOB<'2000-01-01';")
students_before_2000
  STU_ID        DOB     FIRST_NAME LAST_NAME     COURSES
1      3 1994-01-23       GRAY JOE     BRAVO BIO SCIENCE
2      4 1999-09-23 CAPTAN AMERICA        DJ   CHEMISTRY

3) RETRIVE ALL COURSES WITH MORE THAN 3 CREDIT HOURS

courses_over_3_hours <- dbGetQuery(mysqlconnection, "SELECT * FROM COURSE WHERE CREDIT_HOURS > 3;")
courses_over_3_hours
  COURSE_ID CREDIT_HOURS      COURSES
1       111            4 DATA SCIENCE
2       113            5   CHEMISTRY 

4) RETRIVE STUDEJNTS ORDER BY NAME

students_ordered <- dbGetQuery(mysqlconnection, "SELECT FIRST_NAME FROM STUDENT ORDER BY FIRST_NAME ASC;")
students_ordered
      FIRST_NAME
1 CAPTAN AMERICA
2       GRAY JOE
3           JOHN
4     PARTHIBAN 

5) UPDATE

dbExecute(mysqlconnection, "UPDATE STUDENT SET LAST_NAME='JOHNSON' WHERE STU_ID=1;")
[1] 0
updated_student <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT WHERE STU_ID=1;")
updated_student
  STU_ID        DOB FIRST_NAME LAST_NAME      COURSES
1      1 2000-01-23       JOHN   JOHNSON DATA SCIENCE

6) Delete the student with STU_ID=2

dbExecute(mysqlconnection, "DELETE FROM STUDENT WHERE STU_ID=2;")
[1] 0
all_students_after_delete <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT;")
all_students_after_delete
  STU_ID        DOB     FIRST_NAME LAST_NAME      COURSES
1      1 2000-01-23           JOHN   JOHNSON DATA SCIENCE
2      3 1994-01-23       GRAY JOE     BRAVO  BIO SCIENCE
3      4 1999-09-23 CAPTAN AMERICA        DJ    CHEMISTRY
4      5 2003-05-23     PARTHIBAN        LEO      SCIENCE

7) Enroll table

enroll_data <- dbGetQuery(mysqlconnection, "SELECT * FROM ENROLL;")
enroll_data
  STU_ID COURSE_ID      COURSES
1      1       111 DATA SCIENCE
2      3       113  BIO SCIENCE
3      4       114    CHEMISTRY
4      5       115      SCIENCE

8) Join STUDENT and ENROLL tables

student_enrollments <- dbGetQuery(mysqlconnection, "SELECT * FROM STUDENT JOIN ENROLL ON STUDENT.STU_ID = ENROLL.STU_ID;")
student_enrollments
  STU_ID        DOB     FIRST_NAME LAST_NAME      COURSES STU_ID COURSE_ID
1      1 2000-01-23           JOHN   JOHNSON DATA SCIENCE      1       111
2      3 1994-01-23       GRAY JOE     BRAVO  BIO SCIENCE      3       113
3      4 1999-09-23 CAPTAN AMERICA        DJ    CHEMISTRY      4       114
4      5 2003-05-23     PARTHIBAN        LEO      SCIENCE      5       115
       COURSES
1 DATA SCIENCE
2  BIO SCIENCE
3    CHEMISTRY
4      SCIENCE

9) Count the number of students per course

course_counts <- dbGetQuery(mysqlconnection, "SELECT COUNT(STU_ID) AS student_count, COURSES FROM ENROLL GROUP BY COURSES;")
course_counts
  student_count      COURSES
1             1 DATA SCIENCE
2             1  BIO SCIENCE
3             1    CHEMISTRY
4             1      SCIENCE