Pernyataan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 membaca baris dari file teks ke dalam tabel dengan kecepatan sangat tinggi. Jika kata kunci mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;8 ditentukan, file dibaca dari host klien. Jika mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;8 tidak ditentukan, file harus berada di server. ( mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;8 tersedia di MySQL 3. 22. 6 atau lebih baru. ) Show Untuk alasan keamanan, saat membaca file teks yang terletak di server, file tersebut harus berada di direktori database atau dapat dibaca oleh semua. Selain itu, untuk menggunakan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_7 pada file server, Anda harus memiliki hak istimewa file pada host server. Jika Anda menentukan kata kunci FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'_2, eksekusi pernyataan FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'3 ditunda sampai tidak ada klien lain yang membaca dari tabel Menggunakan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_8 akan sedikit lebih lambat daripada membiarkan server mengakses file secara langsung, karena konten file harus berpindah dari host klien ke host server. Di sisi lain, Anda tidak memerlukan hak istimewa file untuk memuat file lokal Anda juga dapat memuat file data dengan menggunakan utilitas FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'5; . Opsi FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'_7 menyebabkan FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'5 membaca file data dari host klien. Anda dapat menentukan opsi FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'9 untuk mendapatkan kinerja yang lebih baik melalui jaringan lambat jika klien dan server mendukung protokol terkompresi Saat mencari file di host server, server menggunakan aturan berikut
Perhatikan bahwa aturan ini berarti file diberikan sebagai `. /file saya. txt' dibaca dari direktori data server, sedangkan file diberikan sebagai `myfile. txt' dibaca dari direktori database dari database saat ini. Perhatikan juga bahwa untuk pernyataan seperti di bawah ini, file dibaca dari direktori database untuk LINES TERMINATED BY '\n'0, bukan LINES TERMINATED BY '\n'1 mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; Kata kunci LINES TERMINATED BY '\n'_2 dan LINES TERMINATED BY '\n'3 mengontrol penanganan catatan input yang menduplikasi catatan yang ada pada nilai kunci unik. Jika Anda menentukan LINES TERMINATED BY '\n'_2, baris baru menggantikan baris yang ada yang memiliki nilai kunci unik yang sama. Jika Anda menetapkan LINES TERMINATED BY '\n'_3, baris masukan yang menduplikasi baris yang ada pada nilai kunci unik akan dilewati. Jika Anda tidak menentukan salah satu opsi, kesalahan akan terjadi saat nilai kunci duplikat ditemukan, dan sisa file teks diabaikan Jika Anda memuat data dari file lokal menggunakan kata kunci mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;8, server tidak memiliki cara untuk menghentikan transmisi file di tengah operasi, jadi perilaku defaultnya sama seperti jika LINES TERMINATED BY '\n'3 ditentukan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 adalah pelengkap dari LINES TERMINATED BY '\n'9. . Untuk menulis data dari database ke file, gunakan LINES TERMINATED BY '\n'9. Untuk membaca file kembali ke database, gunakan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7. Sintaks dari klausa mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;3 dan ________26______4 adalah sama untuk kedua perintah. Kedua klausa bersifat opsional, tetapi mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;_3 harus mendahului mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;4 jika keduanya ditentukan Jika Anda menentukan klausa mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;3, masing-masing subklausulnya ( mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;8, mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;9 dan mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ...0) juga opsional, kecuali bahwa Anda harus menentukan setidaknya salah satu dari mereka Jika Anda tidak menentukan klausa mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;_3, defaultnya sama seperti jika Anda telah menulis ini FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' Jika Anda tidak menentukan klausa mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;_4, defaultnya sama seperti jika Anda telah menulis ini LINES TERMINATED BY '\n' Dengan kata lain, default menyebabkan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 bertindak sebagai berikut saat membaca input
Sebaliknya, default menyebabkan LINES TERMINATED BY '\n'_9 untuk bertindak sebagai berikut saat menulis keluaran
Perhatikan bahwa untuk menulis mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ...5, Anda harus menentukan dua garis miring terbalik agar nilai dibaca sebagai satu garis miring terbalik Opsi mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ..._6 dapat digunakan untuk mengabaikan tajuk nama kolom di awal file mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES; Saat Anda menggunakan LINES TERMINATED BY '\n'_9 bersamaan dengan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 untuk menulis data dari database ke dalam file dan kemudian membaca file kembali ke database nanti, opsi penanganan bidang dan baris untuk kedua perintah harus cocok. Jika tidak, mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_7 tidak akan menafsirkan isi file dengan benar. Misalkan Anda menggunakan LINES TERMINATED BY '\n'_9 untuk menulis file dengan bidang yang dibatasi oleh koma mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ... Untuk membaca kembali file yang dibatasi koma, pernyataan yang benar adalah mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; Sebaliknya, jika Anda mencoba membaca dalam file dengan pernyataan yang ditunjukkan di bawah, itu tidak akan berhasil karena menginstruksikan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 untuk mencari tab di antara bidang mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t'; Hasil yang mungkin adalah bahwa setiap jalur masukan akan ditafsirkan sebagai bidang tunggal mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 juga dapat digunakan untuk membaca file yang diperoleh dari sumber eksternal. Misalnya, file dalam format dBASE akan memiliki bidang yang dipisahkan dengan koma dan dilampirkan dalam tanda kutip ganda. Jika baris dalam file diakhiri oleh baris baru, perintah yang ditunjukkan di bawah ini mengilustrasikan opsi penanganan bidang dan baris yang akan Anda gunakan untuk memuat file mysql> LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; Opsi penanganan bidang atau baris apa pun dapat menentukan string kosong ( mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';3). Jika tidak kosong, nilai mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';4 dan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';5 harus satu karakter. Nilai mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';6 dan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';7 boleh lebih dari satu karakter. Misalnya, untuk menulis baris yang diakhiri oleh pasangan carriage return-linefeed, atau untuk membaca file yang berisi baris tersebut, tentukan klausa mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';8 mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';_4 mengontrol kutipan bidang. Untuk keluaran ( LINES TERMINATED BY '\n'_9), jika Anda menghilangkan kata mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';1, semua bidang diapit oleh mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';2 karakter. Contoh keluaran tersebut (menggunakan koma sebagai pembatas bidang) ditunjukkan di bawah ini "1","a string","100.20" "2","a string containing a , comma","102.20" "3","a string containing a \" quote","102.20" "4","a string containing a \", quote and comma","102.20" Jika Anda menentukan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';1, karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';2 hanya digunakan untuk menyertakan bidang mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';5 dan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';6 mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;0 Perhatikan bahwa kemunculan karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';_2 dalam nilai bidang diloloskan dengan mengawalinya dengan karakter mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ...0. Perhatikan juga bahwa jika Anda menentukan nilai mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ...0 kosong, dimungkinkan untuk menghasilkan keluaran yang tidak dapat dibaca dengan benar oleh mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7. Misalnya, keluaran yang baru saja ditampilkan di atas akan muncul seperti yang ditunjukkan di bawah ini jika karakter escape kosong. Perhatikan bahwa kolom kedua di baris keempat berisi koma setelah tanda kutip, yang (secara keliru) muncul untuk mengakhiri kolom mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_1 Untuk masukan, karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';_2, jika ada, dihilangkan dari ujung nilai bidang. (Benar apakah mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';_1 ditentukan atau tidak; mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';1 tidak berpengaruh pada interpretasi masukan. ) Kemunculan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';2 karakter yang didahului oleh mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ...0 karakter ditafsirkan sebagai bagian dari nilai bidang saat ini. Selain itu, duplikat mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';_2 karakter yang terjadi dalam bidang ditafsirkan sebagai mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t';2 karakter tunggal jika bidang itu sendiri dimulai dengan karakter tersebut. Misalnya, jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';_8 ditentukan, tanda kutip ditangani seperti yang ditunjukkan di bawah ini mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_2 mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';5 mengontrol cara menulis atau membaca karakter khusus. Jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';5 karakter tidak kosong, digunakan untuk awalan karakter berikut pada output
Jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';5 karakter kosong, tidak ada karakter yang lolos. Mungkin bukan ide yang baik untuk menentukan karakter escape kosong, terutama jika nilai bidang dalam data Anda berisi salah satu karakter dalam daftar yang baru saja diberikan Untuk input, jika karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';_5 tidak kosong, kemunculan karakter tersebut dihilangkan dan karakter berikutnya diambil secara harfiah sebagai bagian dari nilai bidang. Pengecualian adalah `0 'atau' N 'yang diloloskan (mis. g. , "1","a string","100.20" "2","a string containing a , comma","102.20" "3","a string containing a \" quote","102.20" "4","a string containing a \", quote and comma","102.20"9 atau mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;00 jika karakter escape adalah `\'). Urutan ini ditafsirkan sebagai ASCII "1","a string","100.20" "2","a string containing a , comma","102.20" "3","a string containing a \" quote","102.20" "4","a string containing a \", quote and comma","102.20"5 (byte bernilai nol) dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;02. Lihat di bawah untuk aturan tentang mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_02 penanganan Untuk informasi lebih lanjut tentang sintaks `\'-escape, lihat Dalam kasus tertentu, opsi penanganan bidang dan garis berinteraksi
Penanganan nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;02 berbeda-beda, bergantung pada opsi mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;3 dan mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;4 yang Anda gunakan
Beberapa kasus tidak didukung oleh mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7
Contoh berikut memuat semua kolom dari tabel ________0______48 mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_4 Tidak ada daftar bidang yang ditentukan, jadi mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 mengharapkan baris input berisi bidang untuk setiap kolom tabel. Nilai default mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;3 dan mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;4 digunakan Jika Anda ingin memuat hanya beberapa kolom tabel, tentukan daftar bidang mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;5 Anda juga harus menentukan daftar bidang jika urutan bidang dalam file input berbeda dengan urutan kolom dalam tabel. Jika tidak, MySQL tidak dapat mengetahui cara mencocokkan kolom input dengan kolom tabel Jika sebuah baris memiliki terlalu sedikit bidang, kolom yang tidak memiliki bidang input akan diatur ke nilai default. Penetapan nilai default dijelaskan di Nilai bidang kosong diinterpretasikan secara berbeda dibandingkan jika nilai bidang tidak ada
mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_54 kolom hanya diatur ke tanggal dan waktu saat ini jika ada nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;02 untuk kolom, atau (untuk mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;54 kolom pertama saja) jika kolom mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;54 ditinggalkan dari daftar bidang saat daftar bidang ditentukan Jika baris input memiliki terlalu banyak kolom, kolom tambahan akan diabaikan dan jumlah peringatan akan bertambah mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 menganggap semua input sebagai string, jadi Anda tidak dapat menggunakan nilai numerik untuk mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;59 atau mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;60 kolom seperti yang Anda bisa dengan pernyataan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;61. Semua nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;59 dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;60 harus ditentukan sebagai string Jika Anda menggunakan C API, Anda bisa mendapatkan informasi tentang kueri dengan memanggil fungsi API mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;64 saat kueri mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 selesai. Format string informasi ditunjukkan di bawah ini mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_6 Peringatan terjadi dalam keadaan yang sama seperti ketika nilai dimasukkan melalui pernyataan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;61 ( ), kecuali bahwa mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 juga menghasilkan peringatan ketika ada terlalu sedikit atau terlalu banyak bidang di baris masukan. Peringatan tidak disimpan di mana pun; . Jika Anda mendapat peringatan dan ingin tahu persis mengapa Anda mendapatkannya, salah satu cara untuk melakukannya adalah dengan menggunakan LINES TERMINATED BY '\n'9 ke dalam file lain dan membandingkannya dengan file input asli Anda Untuk informasi selengkapnya tentang efisiensi mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;_61 versus mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7 dan mempercepat mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table;7, lihat Bagaimana cara memuat data MySQL infile lokal?Untuk memuat data dari file ke tabel dengan lancar di MySQL, Anda dapat melalui metode berikut. . Metode 1. Menggunakan Hevo Data untuk Memuat Data dari File ke Tabel di MySQL Metode 2. Menggunakan Command-Line dan MySQL Workbench untuk Memuat Data dari File ke Tabel di MySQL Metode 3. Menggunakan phpMyAdmin untuk Memuat Data dari File ke Tabel di MySQL Bagaimana cara memuat file data dalam SQL?LOAD DATA INFILE '/tmp/test. txt' INTO TABLE test ABAIKAN 1 BARIS; . When you use SELECT ... INTO OUTFILE bersamaan dengan LOAD DATA untuk menulis data dari database ke file dan kemudian membaca file kembali ke database nanti , bidang- dan garis .
Bagaimana cara mengimpor data ke MySQL?Impor File CSV Menggunakan Baris Perintah . Langkah 1. Akses MySQL Shell. Akses jendela terminal Anda dan masuk ke MySQL menggunakan perintah berikut. mysql –u nama pengguna –p. . Langkah 2. Buat Tabel MySQL untuk Impor CSV. . Langkah 3. Impor CSV ke Tabel MySQL Bagaimana cara memuat data lokal di MySQL Workbench?Untuk mengimpor file, buka Workbench dan klik + di sebelah opsi koneksi MySQL. Isi kolom dengan informasi koneksi. Setelah terhubung ke database, buka Data Import/Restore. Pilih opsi Impor dari File Mandiri dan pilih file |