Mysql memuat direktori file data

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. )

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

  • Jika nama jalur absolut diberikan, server menggunakan nama jalur apa adanya
  • Jika nama jalur relatif dengan satu atau lebih komponen utama diberikan, server mencari file relatif ke direktori data server
  • Jika nama file tanpa komponen utama diberikan, server mencari file di direktori database dari database saat ini

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

  • Cari batas garis di baris baru
  • Pisahkan garis menjadi bidang di tab
  • Jangan berharap bidang dilampirkan dalam karakter kutipan apa pun
  • Menafsirkan kemunculan tab, baris baru, atau `\' yang didahului oleh `\' sebagai karakter literal yang merupakan bagian dari nilai bidang

Sebaliknya, default menyebabkan LINES TERMINATED BY '\n' _9 untuk bertindak sebagai berikut saat menulis keluaran

  • Tulis tab di antara bidang
  • Jangan sertakan bidang dalam karakter kutipan apa pun
  • Gunakan `\' untuk keluar dari instance tab, baris baru, atau `\' yang terjadi di dalam nilai bidang
  • Tulis baris baru di akhir baris

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

  • Karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; _5
  • Karakter mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; _4
  • Karakter pertama dari 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
  • 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 (apa yang sebenarnya ditulis setelah karakter escape adalah 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" 6, bukan byte bernilai nol)

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

  • Jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; _7 adalah string kosong dan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6 tidak kosong, baris juga diakhiri dengan mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6
  • Jika nilai mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6 dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 keduanya kosong (mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 3), format baris tetap (tidak dibatasi) digunakan. Dengan format baris tetap, tidak ada pembatas yang digunakan antar bidang. Sebagai gantinya, nilai kolom ditulis dan dibaca menggunakan lebar kolom ``tampilan''. Misalnya, jika kolom dideklarasikan sebagai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 10, nilai untuk kolom ditulis menggunakan bidang 7 karakter. Pada input, nilai kolom diperoleh dengan membaca 7 karakter. Format baris tetap juga memengaruhi penanganan nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02; . Perhatikan bahwa format ukuran tetap tidak akan berfungsi jika Anda menggunakan kumpulan karakter multi-byte

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

  • Untuk nilai 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 default, mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 ditulis sebagai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 00 untuk output dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 00 dibaca sebagai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 untuk input (dengan asumsi karakter mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM ... 0 adalah `\')
  • Jika mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 tidak kosong, bidang yang berisi kata literal mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 karena nilainya dibaca sebagai nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 (ini berbeda dari kata mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 yang diapit dalam mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 karakter, yang dibaca sebagai string mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 27)
  • Jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; _5 kosong, mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 ditulis dengan kata mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02
  • Dengan format baris tetap (yang terjadi ketika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6 dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 keduanya kosong), mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 ditulis sebagai string kosong. Perhatikan bahwa ini menyebabkan nilai mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 02 dan string kosong dalam tabel tidak dapat dibedakan saat ditulis ke file karena keduanya ditulis sebagai string kosong. Jika Anda harus dapat membedakan keduanya saat membaca file kembali, Anda sebaiknya tidak menggunakan format baris tetap

Beberapa kasus tidak didukung oleh mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 7

  • Baris berukuran tetap (mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6 dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 keduanya kosong) dan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 38 atau mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 39 kolom
  • Jika Anda menentukan satu pemisah yang sama dengan atau awalan yang lain, mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 7 tidak akan dapat menginterpretasikan input dengan benar. Misalnya, klausa mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES; 3 berikut akan menyebabkan masalah. mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; _3
  • Jika mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; _5 kosong, nilai bidang yang berisi kemunculan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 08 atau mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 7 diikuti dengan nilai mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 6 akan menyebabkan mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; 7 berhenti membaca bidang atau baris terlalu dini. Ini terjadi karena mysql> USE db1; mysql> LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_table; _7 tidak dapat menentukan dengan tepat di mana nilai bidang atau garis berakhir

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

  • Untuk tipe string, kolom disetel ke string kosong
  • Untuk tipe numerik, kolom disetel ke "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
  • Untuk jenis tanggal dan waktu, kolom disetel ke nilai ``nol'' yang sesuai untuk jenis tersebut.

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

Postingan terbaru

LIHAT SEMUA