Setup local infile
Sebelum dapat melakukan load data secara local ke dalam database, maka perlu memastikan bahwa load infile dalam kondisi aktif
Periksa status local infile
mysql> show global variables like 'local_infile';
Akan memberikan informasi seperti di bawah ini:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile | OFF |
+---------------+-------+
1 row in set (0.00 sec)
Untuk mengaktifkan gunakan perintah berikut:
mysql> set global local_infile=true;
Setelah itu silahkan connect ke database dengan parameter local infile
mysql --local_infile=1 -u root -ppassword DB_name
Dan lakukan load data local, seperti:
mysql> load data local infile 'path/file_name.extention' into table table_name;
INSERT
Misalkan kita memiliki table berikut ini:
mysql> desc temp_user_info_data;
+------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+----------------+
| id | bigint(10) | NO | PRI | NULL | auto_increment |
| userid | bigint(10) | NO | MUL | 0 | |
| fieldid | bigint(10) | NO | | 0 | |
| data | longtext | NO | | NULL | |
| dataformat | tinyint(2) | NO | | 0 | |
+------------+------------+------+-----+---------+----------------+
Catatan: untuk melihat info lebih detail tentang table dan bagaimana table tersebut di buat, Anda dapat menggunakan perintah:
mysql> desc namatable
atau
mysql> show create table namatable;
Kemudian file data kita diletakkan di /root dengan nama file data *.csv: contoh.csv seperti berikut:
5791,23,11
19766,23,11
Lalu lakukan load data:
mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' (userid,fieldid,data);
Query OK, 2 rows affected (0.01 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
Jika data Anda memiliki satu baris pertama yang berisi nama kolom, maka berikan ignore 1 lines seperti berikut:
mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' ignore 1 lines (userid,fieldid,data);