Skip to content Skip to sidebar Skip to footer

Tutorial R : Cara Menghubungkan R dengan My SQL dan Query di Pemrograman R

Tutorial R : Cara Menghubungkan R dengan My SQL dan Query di Pemrograman R



Data sistem database relasional disimpan dalam format yang dinormalisasi. Jadi, untuk melakukan komputasi statistik, kita memerlukan kueri Sql yang sangat canggih dan kompleks. Tetapi R dapat terhubung dengan mudah ke banyak database relasional seperti MySql, Oracle, Sql server dll. Dan mengambil catatan dari mereka sebagai bingkai data. Setelah data tersedia di lingkungan R, itu menjadi kumpulan data R normal dan dapat dimanipulasi atau dianalisis menggunakan semua paket dan fungsi yang kuat.

Dalam tutorial ini kami akan menggunakan MySql sebagai database referensi kami untuk menghubungkan ke R.

Paket RMySQL

R memiliki paket built-in bernama "RMySQL" yang menyediakan konektivitas asli antara database MySql. Anda dapat menginstal paket ini di lingkungan R menggunakan perintah berikut.

install.packages("RMySQL")

Menghubungkan R ke MySql

Setelah paket diinstal, kami membuat objek koneksi di R untuk terhubung ke database. Dibutuhkan username, password, nama database dan nama host sebagai masukan.

# Create a connection Object to MySQL database.
# We will connect to the sampel database named "sakila" that comes with MySql installation.
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila',
   host = 'localhost')

# List the tables available in this database.
 dbListTables(mysqlconnection)

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

 [1] "actor"                      "actor_info"                
 [3] "address"                    "category"                  
 [5] "city"                       "country"                   
 [7] "customer"                   "customer_list"             
 [9] "film"                       "film_actor"                
[11] "film_category"              "film_list"                 
[13] "film_text"                  "inventory"                 
[15] "language"                   "nicer_but_slower_film_list"
[17] "payment"                    "rental"                    
[19] "sales_by_film_category"     "sales_by_store"            
[21] "staff"                      "staff_list"                
[23] "store"                     

Mengkueri Tabel

Kita bisa query tabel database di MySql menggunakan fungsi dbSendQuery () . Kueri dijalankan di MySql dan set hasil dikembalikan menggunakan fungsi R fetch () . Akhirnya disimpan sebagai bingkai data di R.

# Query the "actor" tables to get all the rows.
result = dbSendQuery(mysqlconnection, "select * from actor")

# Store the result in a R data frame object. n = 5 is used to fetch first 5 rows.
data.frame = fetch(result, n = 5)
print(data.fame)

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

        actor_id   first_name    last_name         last_update
1        1         PENELOPE      GUINESS           2006-02-15 04:34:33
2        2         NICK          WAHLBERG          2006-02-15 04:34:33
3        3         ED            CHASE             2006-02-15 04:34:33
4        4         JENNIFER      DAVIS             2006-02-15 04:34:33
5        5         JOHNNY        LOLLOBRIGIDA      2006-02-15 04:34:33

Query dengan Filter Clause

Kita bisa melewatkan kueri pemilihan yang valid untuk mendapatkan hasilnya.

result = dbSendQuery(mysqlconnection, "select * from actor where last_name = 'TORN'")

# Fetch all the records(with n = -1) and store it as a data frame.
data.frame = fetch(result, n = -1)
print(data)

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

        actor_id    first_name     last_name         last_update
1        18         DAN            TORN              2006-02-15 04:34:33
2        94         KENNETH        TORN              2006-02-15 04:34:33
3       102         WALTER         TORN              2006-02-15 04:34:33

Memperbarui Baris di Tabel

Kita bisa mengupdate baris dalam tabel Mysql dengan meneruskan query update ke fungsi dbSendQuery ().

dbSendQuery(mysqlconnection, "update mtcars set disp = 168.5 where hp = 110")

Setelah menjalankan kode di atas kita dapat melihat tabel yang diperbarui di Lingkungan MySql.

Memasukkan Data ke dalam Tabel

dbSendQuery(mysqlconnection,
   "insert into mtcars(row_names, mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, carb)
   values('New Mazda RX4 Wag', 21, 6, 168.5, 110, 3.9, 2.875, 17.02, 0, 1, 4, 4)"
)

Setelah menjalankan kode di atas kita dapat melihat baris yang dimasukkan ke dalam tabel di Lingkungan MySql.

Membuat Tabel di MySql

Kita bisa membuat tabel di MySql menggunakan fungsi dbWriteTable () . Ini menimpa tabel jika sudah ada dan mengambil bingkai data sebagai masukan.

# Create the connection object to the database where we want to create the table.
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', 
   host = 'localhost')

# Use the R data frame "mtcars" to create the table in MySql.
# All the rows of mtcars are taken inot MySql.
dbWriteTable(mysqlconnection, "mtcars", mtcars[, ], overwrite = TRUE)

Setelah menjalankan kode di atas kita dapat melihat tabel yang dibuat di Lingkungan MySql.

Tabel Menjatuhkan di MySql

Kita bisa meletakkan tabel di database MySql dengan meneruskan pernyataan drop table ke dbSendQuery () dengan cara yang sama kita menggunakannya untuk menanyakan data dari tabel.

dbSendQuery(mysqlconnection, 'drop table if exists mtcars')

Setelah menjalankan kode di atas, kita dapat melihat tabel di-drop di MySql Environment.

Post a Comment for "Tutorial R : Cara Menghubungkan R dengan My SQL dan Query di Pemrograman R"

close