knitr::opts_chunk$set(echo = TRUE)

CODE

mysqldbconn <- function(schema, uid, pwd){
     
     
     library(RMySQL)
     
     rmysql.settingsfile<-"C:/ProgramData/MySQL/MySQL Server 5.6/my.ini"
     
  #  rmysql.settingsfile<-"https://raw.githubusercontent.com/DataDriven-MSDA/DATA607/master/Week2A/config/my.ini"
     conn <- dbConnect(RMySQL::MySQL(), dbname = schema, username=uid ,password = pwd)
     
          return(conn)
     
}
##################################################################################################
# @ Kumudini Bhave 
# DATA 607 Week 2 Assignment
# 
# Libraries Used : RCurl, countrycode, ggplot2, ggthemes, gcookbook
# ################################################################################################

# Loading RCurl package to help scrape data from web (stored on GitHub).
library(RCurl)
## Loading required package: bitops
library(ggplot2)
library(gcookbook)
library(countrycode)
library(ggthemes)

# Library for data display in tabular format

library(DT)

# Forming MYSQL DB Connection

conn <- mysqldbconn("entertainment","root","WhiteLotus21")
## Loading required package: DBI
# List the database tables

entdbtables <- dbListTables(conn)

entdbtables
## [1] "certificate" "genre"       "movies"      "survey"
# List Survey Table Details

for(i in entdbtables)  # for each row
{
     cat("\nTable Name : ", i,"\n")
     
     coltab <- dbListFields(conn,i)
     cat("Columns : ","\n",coltab,"\n")
     
     
     if (i == "survey")
     {
          cat(" We have a SURVEY!!")
          cat("\n\n")
          querystr<-paste("select count(*) from ",i)
          
          if(isIdCurrent(conn))
          {
               cat("\nConn current")
               sres <- dbGetQuery(conn,querystr)
               print(sres)
               
               
          }
          
     }
}
## 
## Table Name :  certificate 
## Columns :  
##  certificateid certificatedesc 
## 
## Table Name :  genre 
## Columns :  
##  genreid genretype 
## 
## Table Name :  movies 
## Columns :  
##  movieid moviename genre yearreleased leadcast dirrectedby countryreleased language watchtimemin certificate awards info 
## 
## Table Name :  survey 
## Columns :  
##  respondentid movieid rating responsedt 
##  We have a SURVEY!!
## 
## 
## Conn current  count(*)
## 1       90
# Capturing genre based movie lists

if(isIdCurrent(conn))
{
     
     action <- dbGetQuery(conn,"select movieid, genre from movies where genre='A'")
     horror <- dbGetQuery(conn,"select movieid, genre from movies where genre='H'")
     animated <- dbGetQuery(conn,"select movieid, genre from movies where genre='N'")
     adventure <- dbGetQuery(conn,"select movieid, genre from movies where genre='V'")
     western <- dbGetQuery(conn,"select movieid, genre from movies where genre='W'")
     
}

#    View(action)
#   View(horror)
#   View(animated)
#   View(adventure)
#   View(western)

# Viewing the movie, survey join

     joinstr<-paste("select respondentid, survey.movieid, moviename, genre, rating from movies, survey where movies.movieid = survey.movieid")
     smjoinres <- dbGetQuery(conn,joinstr)
     

     
     datatable(smjoinres, options = list(
          searching = FALSE, 
          pageLength = 5,
          lengthMenu = c(5, 10, 15, 20)
     ), rownames = FALSE)
    # print(dim(smjoinres))
     
     ratehi <- subset(smjoinres, rating >= 5 )
     
     View(ratehi)
     
     resp1liked <- subset(ratehi, respondentid == 1, select=c(movieid,genre))
 #    recom1 <- sample(horror$movieid - resp1liked$movieid, size=1, replace = FALSE)
     
     
     
   #  plot(smjoinres$moviename,smjoinres$rating)
     View(smjoinres)
  
dbDisconnect(conn)
## [1] TRUE
#@https://raw.githubusercontent.com/DataDriven-MSDA/DATA607/master/Week2A/sql/entertainment.sql
#gapminder.gitdata <- getURL(data.giturl)