Mengetahui cara import data dari file Excel ke dalam database MySQL memiliki banyak manfaat, terutama jika Anda rutin menggunakan kedua aplikasi tersebut. Di dalam postingan ini, kita akan membahas dengan lengkap cara melakukan import data yang diambil dari file Excel ke dalam database MySQL.
Langkah Pertama: Persiapan File Excel
Sebelum memulai proses import data, ada beberapa hal yang harus Anda persiapkan pada file Excel Anda:
- Pertama-tama, pastikan bahwa semua data yang ingin di-impor terletak dalam satu lembar kerja Excel.
- Pastikan baris pertama pada lembar kerja tersebut berisi judul kolom, atau nama atribut yang ingin Anda import.
- Pastikan bahwa data yang ingin Anda impor terletak dalam kolom yang relevan dengan atribut di dalam database MySQL.
- Anda juga bisa menambahkan tanda kutip ganda (“) pada setiap data yang berisi tanda koma atau karakter yang terkadang dapat menyebabkan kesalahan saat diimpor.
Langkah Kedua: Setting up MySQL Database
Sebelum memulai langkah mengimpor data dari file Excel, pastikan bahwa database MySQL yang akan kita gunakan sudah disiapkan terlebih dahulu. Jika belum, Anda dapat membuat database dengan menggunakan perintah SQL CREATE DATABASE
.
Setelah database dibuat, Anda dapat membuat tabel baru untuk menampung data yang akan diimpor. Pastikan bahwa atribut di dalam tabel sudah dibuat sesuai dengan nama kolom di dalam file Excel yang akan diimpor.
Sebagai contoh, jika di dalam file Excel yang akan di-impor kolom pertama adalah “name”, maka atribut yang di dalam tabel MySQL juga harus bernama “name”. Perhatikan juga tipe data yang akan digunakan dalam setiap atribut, untuk memastikan bahwa data yang diimpor dapat disimpan dengan benar.
Langkah Ketiga: Import Data Dari File Excel ke Database MySQL
Setelah Excel dan database MySQL sudah siap, kita bisa melakukan langkah selanjutnya yaitu mengimpor data dari Excel ke dalam database MySQL. Ada dua metode untuk melakukan import data, yaitu menggunakan Developer Tools atau menggunakan perintah SQL.
Menggunakan Developer Tools
Kita bisa menggunakan Developer Tools di dalam Excel untuk mengimpor data ke dalam database MySQL, berikut langkah-langkahnya:
- Buka file Excel yang ingin diimpor, lalu pilih tab Developer di dalam menu bar.
- Klik pada tombol Visual Basic untuk membuka jendela kode.
- Di dalam jendela kode, klik pada menu Insert dan pilih Modul.
- Copy dan paste kode VBA berikut ini ke dalam jendela kode:
Private Sub btnImportSQL_Click()
On Error GoTo ErrHandleDim cnn As ADODB.Connection
Dim strSQL As String
Dim strWorksheet As String
Dim strFileName As String
Dim lngRow As Long
Dim lngCol As Long
Dim rst As ADODB.Recordset
Dim strHeader As String
Dim strValue As String
Dim lngCount As LongSet cnn = New ADODB.Connection
Dim strServerName As String
strServerName = “localhost”
Dim strDatabaseName As String
strDatabaseName = “mydatabase”
Dim strUserName As String
strUserName = “root”
Dim strPassword As String
strPassword = “password”cnn.ConnectionString = “driver=MySQL ODBC 3.51 Driver;server=” & strServerName &
“;database=” & strDatabaseName & “;user=” & strUserName & “;password=” & strPassword & “”
cnn.OpenstrWorksheet = InputBox(“Enter worksheet name: “)
If strWorksheet = “” Then
Exit Sub
End IfstrFileName = Application.GetOpenFilename(“Excel files (*.xlsx), *.xlsx”)
If strFileName = “False” Or strFileName = “” Then
Exit Sub
End IfstrSQL = “INSERT INTO tbl_excel_import (”
lngCount = 0
For lngCol = 1 To Columns.Count
If Cells(1, lngCol).Value “” Then
If lngCount > 0 Then strSQL = strSQL & “, ”
strSQL = strSQL & Cells(1, lngCol).Value
lngCount = lngCount + 1
End If
Next lngColstrSQL = strSQL & “) VALUES (”
Set rst = New ADODB.Recordset
rst.Open “tbl_excel_import”, cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirectWith Worksheets(strWorksheet)
For lngRow = 2 To Rows.Count
If Cells(lngRow, 1).Value = “” Then
Exit For
End If
strSQL = “INSERT INTO tbl_excel_import (”
lngCount = 0
For lngCol = 1 To Columns.Count
If Cells(1, lngCol).Value <> “” Then
If lngCount > 0 Then strSQL = strSQL & “, ”
strSQL = strSQL & Cells(1, lngCol).Value
lngCount = lngCount + 1
End If
Next lngCol
strSQL = strSQL & “) VALUES (”
lngCount = 0
For lngCol = 1 To Columns.Count
If Cells(lngRow, lngCol).Value = “” Then
strValue = “NULL”
ElseIf IsNumeric(Cells(lngRow, lngCol).Value) Then
strValue = Cells(lngRow, lngCol).Value
ElseIf Len(Cells(lngRow, lngCol).Value) > 255 Then
strValue = “’” & Left(Cells(lngRow, lngCol).Value, 255) & “…” & “’”
Else
strValue = “’” & Cells(lngRow, lngCol).Value & “’”
End If
If lngCount > 0 Then strSQL = strSQL & “, ”
strSQL = strSQL & strValue
lngCount = lngCount + 1
Next lngCol
strSQL = strSQL & “)”
rst.AddNew
rst.Fields(“import_data”) = strSQL
rst.Update
Next lngRow
End Withrst.Close
cnn.CloseExit Sub
ErrHandle:
MsgBox “An error occurred while importing data: ” & vbCrLf & vbCrLf & Err.Description
End Sub
- Simpan modul dan kembalilah ke lembar kerja Excel.
- Klik pada menu Daftar Objek dan pilih Control Toolbox dan klik tombol More Controls.
- Gulir hingga menemukan Microsoft Command Button.
- Saat menu Command Button muncul, seret dan letakkan pada lembar kerja Excel.
- Klik kanan pada tombol command baru, dan pilih Properties.
- Ubah Caption menjadi “Import ke MySQL”.
- Pastikan bahwa “Command” adalah btnImportSQL_Click (), dan klik OK.
- Klik tombol import untuk memulai proses impor data.
Menggunakan Perintah SQL
Alternatif lain untuk mengimpor data adalah menggunakan perintah SQL. Berikut langkah-langkahnya:
- Buka aplikasi database MySQL dan pastikan telah masuk ke database yang ingin Anda gunakan.
- Ketikkan perintah SQL berikut ini untuk membuat tabel baru yang akan menampung data import:
CREATE TABLE MyTable (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT
); - Setelah tabel terbuat, ketikkan perintah SQL berikut untuk mengimport data dari file Excel:
LOAD DATA INFILE '/path/to/excel/file.csv'
INTO TABLE MyTable
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"' - Gantilah “/path/to/excel/file.csv” dengan alamat file Excel yang ingin Anda import.
- Pastikan juga untuk mengganti tabel “MyTable” dengan nama tabel yang Anda gunakan dalam database MySQL Anda
- Jalankan perintah SQL diatas dalam aplikasi database MySQL Anda untuk memulai proses impor data.
FAQ
1. Apakah saya bisa mengimport data dari file Excel ke database MySQL tanpa menggunakan VBA?
Ya, Anda bisa menggunakan beberapa tools pihak ketiga yang memudahkan Anda untuk melakukan import data dari file Excel ke dalam database MySQL tanpa memerlukan VBA atau perintah SQL. Beberapa software yang bisa Anda gunakan adalah:
- Data Loader: aplikasi gratis yang memungkinkan Anda untuk mengimpor data dari berbagai kemampuan sumber seperti Excel, Access, Oracle, MySQL, dan banyak lainnya.
- MySQL for Excel: Adalah plugin yang dapat diinstal di Microsoft Excel yang memungkinkan import & export data ke dan dari database MySQL.
- Navicat for MySQL: Adalah alat manajemen database multi-platform yang memungkinkan Anda untuk import dan eksport data ke dan dari berbagai sumber data, termasuk file Excel. Namun, software ini tidak gratis.
2. Apa yang harus saya lakukan jika proses impor data gagal atau mengalami kesalahan?
Beberapa penyebab impor data yang gagal dapat disebabkan oleh file Excel yang tidak memenuhi persyaratan, tabel MySQL yang belum disiapkan dengan benar, atau kesalahan saat mengetikkan perintah SQL. Berikut langkah-langkah yang bisa Anda lakukan apabila terjadi kesalahan:
- Cek kembali file Excel Anda. Pastikan bahwa data yang akan Anda impor sesuai dengan persyaratan
- Cek kembali nama atribut di dalam Excel dan tabel MySQL, pastikan secara akurat sesuai agar data dapat diimpor dengan benar.
- Jangan ragu untuk mengulangi proses pengimporan atau menggunakan metode pengimporan data lainnya.
Video Tutorial
Inilah video tutorial tentang cara mengimpor data dari file Excel ke database MySQL.