Mysql load data infile abaikan kolom pertama

Tutorial ini menunjukkan cara menggunakan pernyataan LOAD DATA INFILE untuk mengimpor file CSV ke tabel MySQL

Pernyataan  LOAD DATA INFILE memungkinkan Anda membaca data dari file teks dan mengimpor data file ke tabel database dengan sangat cepat

Sebelum mengimpor file, Anda perlu menyiapkan yang berikut ini

  • Tabel database tempat data dari file akan diimpor
  • File CSV dengan data yang cocok dengan jumlah kolom tabel dan tipe data di setiap kolom
  • Akun, yang terhubung ke server database MySQL, memiliki hak istimewa FILE dan INSERT

Misalkan kita memiliki tabel bernama discounts dengan struktur berikut

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Kami menggunakan pernyataan CREATE TABLE untuk membuat tabel discounts sebagai berikut

CREATE TABLE discounts ( id INT NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, expired_date DATE NOT NULL, amount DECIMAL(10 , 2 ) NULL, PRIMARY KEY (id) );

Code language: SQL (Structured Query Language) (sql)

File  discounts.csv berikut berisi baris pertama sebagai judul kolom dan tiga baris data lainnya

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Pernyataan berikut mengimpor data dari file  

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
_0 ke dalam tabel discounts

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
_

Bidang file diakhiri dengan koma yang ditunjukkan dengan 

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
2 dan diapit oleh tanda kutip ganda yang ditentukan oleh

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
3 '

Setiap baris file CSV diakhiri dengan karakter baris baru yang ditunjukkan dengan

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
4

Karena file tersebut memiliki baris pertama yang berisi judul kolom, yang seharusnya tidak diimpor ke dalam tabel, oleh karena itu kita mengabaikannya dengan menentukan opsi 

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
5

Sekarang, kita dapat memeriksa tabel discounts_ untuk melihat apakah data telah diimpor

SELECT * FROM discounts;

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Mengubah data saat mengimpor

Terkadang format data tidak sesuai dengan kolom target dalam tabel. Dalam kasus sederhana, Anda dapat mengubahnya dengan menggunakan klausa

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
7 dalam pernyataan  LOAD DATA INFILE

Misalkan kolom tanggal kedaluwarsa di file 

LOAD DATA INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)
_9 dalam format 

SELECT * FROM discounts;

0

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Saat mengimpor data ke tabel discounts, kita harus mengubahnya menjadi format tanggal MySQL dengan menggunakan fungsi str_to_date() sebagai berikut

LOAD DATA INFILE 'c:/tmp/discounts_2.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (title,@expired_date,amount) SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');

Code language: SQL (Structured Query Language) (sql)

Mengimpor file dari klien ke server basis data MySQL jarak jauh

Dimungkinkan untuk mengimpor data dari klien (komputer lokal) ke server database MySQL jarak jauh menggunakan pernyataan LOAD DATA INFILE

Saat Anda menggunakan opsi 

SELECT * FROM discounts;

3 di LOAD DATA INFILE , program klien membaca file pada klien dan mengirimkannya ke server MySQL. File akan diunggah ke folder sementara sistem operasi server database e. g. , 

SELECT * FROM discounts;

5 di Windows atau 

SELECT * FROM discounts;

6 di Linux. Folder ini tidak dapat dikonfigurasi atau ditentukan oleh MySQL

Mari kita lihat contoh berikut

LOAD DATA LOCAL INFILE 'c:/tmp/discounts.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Code language: SQL (Structured Query Language) (sql)

Satu-satunya perbedaan adalah

SELECT * FROM discounts;

_3 opsi dalam pernyataan itu. Jika Anda memuat file CSV besar, Anda akan melihat bahwa dengan opsi 

SELECT * FROM discounts;

3, akan sedikit lebih lambat untuk memuat file karena butuh waktu untuk mentransfer file ke server database

Akun yang terhubung ke server MySQL tidak perlu memiliki hak istimewa FILE untuk mengimpor file saat Anda menggunakan opsi

SELECT * FROM discounts;

3

Mengimpor file dari klien ke server database jarak jauh menggunakan 

LOAD DATA INFILE 'c:/tmp/discounts_2.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (title,@expired_date,amount) SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');

Code language: SQL (Structured Query Language) (sql)
0 memiliki beberapa masalah keamanan yang harus Anda waspadai untuk menghindari potensi risiko keamanan

Mengimpor file CSV menggunakan MySQL Workbench

Meja kerja MySQL menyediakan alat untuk mengimpor data ke dalam tabel. Ini memungkinkan Anda untuk mengedit data sebelum melakukan perubahan

Berikut ini adalah langkah-langkah yang Anda inginkan untuk mengimpor data ke dalam tabel

Buka tabel tempat data dimuat

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Klik tombol Impor, pilih file CSV dan klik tombol Buka

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Tinjau data, klik tombol Terapkan

Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama
Mysql load data infile abaikan kolom pertama

Meja kerja MySQL akan menampilkan dialog “Terapkan SQL Script ke Database”, klik tombol Terapkan untuk memasukkan data ke dalam tabel

Kami telah menunjukkan kepada Anda cara mengimpor CSV ke tabel MySQL menggunakan

LOAD DATA INFILE 'c:/tmp/discounts_2.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (title,@expired_date,amount) SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');

Code language: SQL (Structured Query Language) (sql)
0 dan menggunakan MySQL Workbench. Dengan teknik ini, Anda dapat memuat data dari format file teks lain seperti tab-delimited

Bagaimana cara mengabaikan baris pertama di MySQL?

Klausa IGNORE number LINES dapat digunakan untuk mengabaikan baris di awal file . Misalnya, Anda dapat menggunakan IGNORE 1 LINES untuk melewati baris header awal yang berisi nama kolom. LOAD DATA INFILE '/tmp/test.

Bagaimana cara memuat data infile di MySQL?

Metode 2. Menggunakan Command-Line dan MySQL Workbench untuk Memuat Data dari File ke Tabel di MySQL .
Langkah 1. Buat tabel
Langkah 2. Mengimpor Data ke Tabel Anda
Langkah 3. Mengubah Data saat Mengimpor
Langkah 4. Mengimpor File dari Klien ke Server Database MySQL jarak jauh
Langkah 5. Mengimpor File CSV menggunakan MySQL Workbench

Apa yang dimaksud dengan kolom yang diakhiri oleh klausa dalam memuat data infile?

Jika FIELDS ESCAPED BY kosong, nilai bidang yang berisi kemunculan FIELDS ENCLOSED BY atau LINES TERMINATED BY diikuti dengan nilai FIELDS TERMINATED BY akan menyebabkan LOAD DATA INFILE berhenti . .

Bagaimana cara memasukkan kolom yang dipilih dari file CSV ke database MySQL menggunakan data beban INFILE?

Kodenya seperti ini. LOAD DATA INFILE '/path/filename. csv' INTO TABLE table_name FIELDS DIHENTIKAN OLEH ',' LINES DIHENTIKAN OLEH '\r\n' (column_name3, column_name5); Di sini Anda mulai menambahkan data .