cloud-hosting-terbaik-indonesia

Tutorial Belajar MySQL Part 20: Cara Menambahkan data dari File (LOAD DATA INFILE)

Posted on

Di panduan MySQL sebelumnya: Cara Menambahkan data ke dalam Tabel (INSERT), kita menambahkan data seketika di cmd MySQL. Bagi kebutuhan menambahkan data pada jumlah besar, akan lebih efisien dan gampang bila data tersebut kita siapkan pada format file terlebih dahulu, dan kemudian diload ke pada tabel. Bagi kebutuhan ini MySQL menyediakan query LOAD DATA INFILE.


Mempersiapkan Tabel Contoh: daftar_dosen

Selaku tabel contoh bagi mempelajari cara menambahkan data menggunakan query LOAD DATA INFILE, kita akan mempersiapkan tabel daftar_dosen, dengan query selaku berikut:


Cara Penulisan mendasar query LOAD DATA INFILE

Query MySQL: LOAD DATA INFILE digunakan bagi menginput data kedalam tabel dimana data yang diinput berasal dari sebuah file. Kita akan mempelajari cara penggunaannya dengan contoh pada panduan kali ini.

Query komplit dari LOAD DATA INFILE sesuai dari manual MySQL yakni selaku berikut:

Dapat kita lihat bahwa MySQL menyediakan banyak alternatif opsional (pada tanda kurung siku) yang dapat digunakan tergantung keperluan. Pada panduan MySQL ini, kita akan membahas beberapa diantaranya.


Cara Pemakaian query LOAD DATA INFILE pada MySQL

Agar lebih gampang dimengerti, kita akan seketika mencoba query LOAD DATA INFILE, dengan membangun sebuah file input_data.txt. Kamu bebas bagi meletakkan file tersebut. Di contoh ini, saya akan menempatkannya di folder “D:MySQL”.

Buka notepad, lalu tuliskan data berikut ke pada file text tersebut, dan save selaku input_data.txt:

Berikut tampilan file input_data.txt

Di ketika membangun file, pastikan menekan Enter di ahir baris bagi membangun baris baru. Berikutnya buka MySQL Client command prompt dan jalankan query berikut:

Mari kita bahas mengenai penulisan petunjuk LOAD DATA INFILE diatas:

  • Hal pertama-tama yang kita tulis setelah petunjuk LOAD DATA INFILE yakni lokasi tempat file input_data.txt berada. Pada query diatas, file tersebut berada di D:MySQLinput_data.txt. Tetapi karena didalam MySQL karakter ‘’adalah karakter khusus, karenanya penulisannya mesti di-double, sehingga menjadi D:MySQLinput_data.txt. Sekiranya lokasi file kamu berbeda, tinggal menyesuaikan saja.

  • Setelah lokasi file, berikutnya kita menambahkan petunjuk ke tabel mana file tersebut akan diinput. Di contoh kita, tabel tersebut yakni daftar_dosen, sehingga ditulis …INTO TABLE daftar_dosen…

  • Petunjuk FIELDS TERMINATED BY ‘,’  dimaksudkan selaku instruksi di MySQL bahwa setiap kolom di input_data.txt dipisahkan oleh karakter koma ‘,’. Namun tak mesti tanda koma, tanda lain seperti titik, tanda ‘|’, maupun karakter tab dapat kita gunakan selaku tanda pemisah, dan instruksikan MySQL
    bagi menggunakan tanda tersebut selaku penanda kolom.

  • Instruksi ENCLOSED BY ‘”‘ memberitahu MySQL agar menghapus penanda kutip dua (“) dari tiap kolom. Namun bila di daftar_dosen.txt kita tak menambahkan tanda kutip dua diawal data, MySQL tetap akan menerima data tersebut.

  • Di ahir query, petunjuk …LINES TERMINATED BY ‘rn’ menginstruksikan MySQL agar tiap baris diakhiri dengan karakter new line dan carriage return. Karakter khusus ini terbentuk ketika kita menekan Enter di keyboard bagi pindah baris di notepad. ‘r‘ adalah cara penulisan bagi karakter carriage return, sedangkan ‘n‘ yakni karakter new line.


Berjenis-jenis alternatif instruksi dari query LOAD DATA INFILE

Sekiranya kita melihat format penulisan query LOAD DATA INFILE, terdapat beberapa alternatif opsi lainnya, kita akan membahas beberapa diantaranya:

Penjelasan opsi LOCAL

Opsi LOCAL disini digunakan bagi menentukan lokasi dari text yang diinput. Sekiranya kita menuliskan LOCAL, karenanya file text akan dicari pada komputer Client MySQL. Namun bila tak ditulis, karenanya lokasi file akan dicari di komputer MySQL Server. Karena kita mengistall MySQL di satu komputer, opsi LOCAL tak akan berpengaruh, karena MySQL Server dan MySQL Client berada di komputer yang sama, dan pun folder yang sama (file mysqld.exe yakni MySQL Server, dan file mysql.exe yakni MySQL Client). Contoh pemakaian query-nya: LOAD DATA LOCAL INFILE ‘path_to_file’

Penjelasan opsi [REPLACE | IGNORE]

Opsi [REPLACE | IGNORE] berkaitan dengan cara MySQL menangani duplikasi data di kolom PRIMARY KEY. Sekiranya opsi REPLACE digunakan, karenanya ketika ditemukan data yang sama, karenanya data yang baru akan menimpa data lama, namun bila menggunakan opsi IGNORE, data yang baru akan diabaikan dan MySQL akan menjalankan baris berikutnya.

Penjelasan opsi LINES STARTING BY ‘string’ dan TERMINATED BY ‘string’

Opsi ini digunakan bagi menentukan awal dari data dan ahir dari data. String disini dapat berupa karakter seperti “,” atau “*”, maupun karakter new line dan carriage return.

Pemakaian karakter-karakter khusus dapat dilihat dari tabel dibawah ini:

Penulisan Penjelasan Karakter
Karakter ASCII bagi NULL (0x00)
Karakter tanda kutip satu (‘)
Karakter tanda kutip dua()
b Karakter backspace
n Karakter newline (linefeed)
r Karakter carriage return
t Karakter bagi tab
Z ASCII 26 (Control+Z)
Karakter bagi backslash ()
% Karakter bagi tanda persen (%)
_ Karakter bagi tanda garis bawah (_)

Penjelasan opsi IGNORE number

Opsi IGNORE dapat digunakan bagi mengistruksikan MySQL agar melompati beberapa baris dan memulai dari baris ke demikianlah. Hal ini bermanfaat bila di awal text adalah penjelasan nama kolom.


 

Contoh Cara Pemakaian query LOAD DATA INFILE dengan opsi LOCAL, REPLACE dan LINES STARTING BY

Agar memahami pemakaian LOCAL, REPLACE dan LINES STARTING BY, kita akan mencoba menggunakan query LOAD DATA INFILE bagi file kedua berikut.

Kali ini saya akan membangun file data_lagi.txt, dengan isian selaku berikut:

Berikut tampilan file input_data.txt

Perhatikan bahwa setiap baris diawali dengan tanda bintang dua kali (**), diakhiri dengan karakter pipa (|) dan setiap kolom dibatasi dengan tab. Pun di baris ke 2 dan 3 akan terdapat duplikasi bagi kolom NIP dengan data sebelumnya. Baris pertama-tama dari text yakni judul kolom.

Agar file diatas dapat diproses oleh MySQL, kita perlu menggunakan petunjuk tambahan. Penulisan query bagi menginput file ini yakni selaku berikut:

Query diatas menambahkan 4 baris dan menghapus 2 baris, hal ini dapat dilihat setelah query dijalankan Records: 4  Deleted: 2  Skipped: 0  Warnings: 0. Hal ini dikarenakan opsi REPLACE yang menggantikan 2 baris yang mempunyai NIP yang sama.


Pada panduan belajar MySQL kali ini kita telah membahas cara menambahkan data ke tabel MySQL dari sebuah file text external menggunakan query LOAD DATA INFILE. Melanjutkan pembahasan mengenai query mendasar MySQL, berikutnya kita akan membahas mengenai Cara Menampilkan Data MySQL dengan query SELECT.


Sumber https://www.duniailkom.com/