Saya mengimpor beberapa data dari 20000 baris dari file CSV ke Mysql.
Kolom di CSV memiliki urutan yang berbeda dari kolom tabel MySQL. Bagaimana cara menetapkan kolom secara otomatis sesuai dengan kolom tabel Mysql?
Saat saya mengeksekusi
LOAD DATA INFILE'abc.csv' INTO TABLE abc
kueri ini menambahkan semua data ke kolom pertama.
Mohon sarankan sintaks otomatis untuk mengimpor data ke Mysql.
mysql
csv
import
load-data-infile
MANJEET
sumber
sumber
Jawaban:
Anda dapat menggunakan perintah LOAD DATA INFILE untuk mengimpor file csv ke dalam tabel.
Periksa tautan ini MySQL - LOAD DATA INFILE .
Untuk pengguna MySQL 8.0:
Menggunakan
LOCAL
kata kunci memiliki risiko keamanan dan pada MySQL 8.0LOCAL
kemampuan tersebut diatur keFalse
default. Anda mungkin melihat kesalahan:Anda dapat menimpanya dengan mengikuti petunjuk di dokumen . Berhati-hatilah karena penimpaan tersebut tidak menyelesaikan masalah keamanan, melainkan hanya pengakuan bahwa Anda sadar dan bersedia mengambil risiko.
sumber
IGNORE 1 LINES
persis apa yang dilakukan di sini? Terima kasih sebelumnya.Anda mungkin perlu menyetel
FIELDS TERMINATED BY ','
atau apa pun pembatasnya.Untuk file CSV, pernyataan Anda akan terlihat seperti ini:
sumber
Sebelum mengimpor file, Anda harus menyiapkan hal berikut:
Misalkan kita memiliki tabel berikut:
BUAT TABEL MENGGUNAKAN QUERY BERIKUT:
Jika semuanya baik-baik saja .. Silakan jalankan kueri berikut untuk MEMBUAT DATA DARI FILE CSV:
Jika semuanya sudah selesai. Anda telah berhasil mengekspor data dari CSV ke tabel
sumber
Sintaksis:
Lihat Contoh ini:
sumber
Masukkan lebih dari 7000000 catatan massal dalam 1 menit dalam database (kueri super cepat dengan perhitungan)
RRP dan RRP_nl dan RRP_bl tidak ada di csv tetapi kami menghitungnya dan setelah memasukkannya.
sumber
Jika Anda menjalankan
LOAD DATA LOCAL INFILE
dari shell windows, dan Anda perlu menggunakanOPTIONALLY ENCLOSED BY '"'
, Anda harus melakukan sesuatu seperti ini untuk keluar dari karakter dengan benar:sumber
misalkan Anda menggunakan xampp dan phpmyadmin
Anda memiliki nama file 'peringkat.txt' nama tabel 'peringkat' dan nama database 'film'
jika xampp Anda diinstal di "C: \ xampp \"
salin file "rating.txt" Anda di folder "C: \ xampp \ mysql \ data \ movies"
Semoga ini dapat membantu Anda menghilangkan kesalahan Anda jika Anda melakukan ini di localhost
sumber
Anda dapat memuat data dari file csv atau teks. Jika Anda memiliki file teks dengan rekaman dari tabel, Anda bisa memuat rekaman tersebut di dalam tabel. Misalnya jika Anda memiliki file teks, di mana setiap baris adalah catatan dengan nilai untuk setiap kolom, Anda dapat memuat catatan dengan cara ini.
table.sql
table.txt
--contoh di jendela
sumber
Saya mendapatkan Kode Kesalahan: 1290. Server MySQL berjalan dengan opsi --secure-file-priv sehingga tidak dapat menjalankan pernyataan ini
Ini bekerja untuk saya di windows 8.1 64 bit menggunakan wampserver 3.0.6 64bit.
Mengedit file my.ini dari C: \ wamp64 \ bin \ mysql \ mysql5.7.14
Hapus entri secure_file_priv c: \ wamp64 \ tmp \ (atau direktori apa pun yang Anda miliki di sini)
Menghentikan semuanya -keluar wamp dll- dan memulai kembali semuanya; kemudian punt file cvs saya di C: \ wamp64 \ bin \ mysql \ mysql5.7.14 \ data \ u242349266_recur (direktori terakhir adalah nama database saya)
dieksekusi LOAD DATA INFILE 'myfile.csv'
Ke dalam tabel alumnos
FIELDS DIHENTIKAN OLEH ','
DITUTUP OLEH '"'
GARIS DIHENTIKAN OLEH '\ r \ n'
ABAIKAN 1 BARIS
... dan VOILA !!!
sumber
Anda dapat mencoba memasukkan seperti ini:
sumber
Pada hari-hari ini (akhir 2019) saya lebih suka menggunakan alat seperti http://www.convertcsv.com/csv-to-sql.htm Saya Anda mendapat banyak baris Anda dapat menjalankan blok yang dipartisi menyimpan kesalahan pengguna saat csv berasal spreadsheet pengguna akhir.
sumber