MySql
We will use RMySQL package to connect to database.
Install you own database
Install via brew
brew install mysql
Or do it manually:
Download MySql
Install MySql
Use existing MySql
We can connect to MySql database.
mysql --user=genome --host=genome-mysql.cse.ucsc.edu -A
Install package for Mac OSX
Sys.setenv(PKG_CPPFLAGS = "-I/usr/local/include/mysql")
Sys.setenv(PKG_LIBS = "-L/usr/local/lib -lmysqlclient")
install.packages("RMySQL")
library(RMySQL)
When installation of RMySQL package fails, have a look here: adding-rmysql-package-to-r-fails or installing-rmysql-in-mavericks
Connect
db <- dbConnect(
MySQL(),
user="genome",
db="hg19",
host="genome-mysql.cse.ucsc.edu"
)
Query
allDatabases <- dbGetQuery(db, "show databases;")
allTables <- dbListTables(db)
length(allTables)
allFields <- dbListFields(db, "wgEncodeUwDgfHmvecfSig")
queryResult <- dbGetQuery(db, "SELECT COUNT(1) FROM wgEncodeUwDgfHmvecfSig")
dbDisconnect(db)
Read from table
result <- dbReadTable(db, "wgEncodeUwDgfHmvecfSig")
dbDisconnect(db)
Lazy loading
When there is too much valuse in a table, so almost always, fetch only little data into memory.
query <- dbSendQuery(db, "SELECT * FROM affyU133Plus2")
result <- fetch(query, n=10)
dbClearResult(query)
dbDisconnect(db)
Last updated
Was this helpful?