Upload data dengan mysqlimport dan LOAD DATA LOCAL INFILE

Pada mysqlimport, nama file yang akan diimport harus sama dengan nama table yang akan diisi. Untuk melakukan upload banyak file ke banyak database bisa menggunakan spasi sebagai pembatas antar file yang akan diimport.

contoh: mengupload ke table employee dari file employee.txt dan table manager dari file manager.txt

# mysqlimport -u root -ptmppassword –local test employee.txt manager.txt

Menggunakan LOAD DATA LOCAL INFILE

mysqlimport berfungsi sama dengan LOAD DATA LOCAL INFILE, hanya saja LOAD DATA LOCAL INFILE dijalankan dari dalam mysql sebagai command mysql.

# mysql -u root -ptmppassword

mysql> use test;

mysql> LOAD DATA LOCAL INFILE ‘/home/me/employee.txt’

-> INTO TABLE employee

-> FIELDS TERMINATED BY ‘\t’

-> LINES TERMINATED BY ‘\n’

-> (empno, ename, job);

Query OK, 3 rows affected (0.01 sec)

Records: 3 Deleted: 0 Skipped: 0 Warnings: 0

Opsi-opsi mysqlimport dan LOAD DATA LOCAL FILE yang sering digunakan adalah sebagai berikut:

  1. compress : Mengkompress seluruh informasi yang dikirim antara client dan server.
  2. delete : mengosongkan table sebelum melakukan insert.
  3. local : membaca file lokal dari komputer client.
  4. lock-tables : mengunci seluruh table sebelum proses import selesai.
  5. columns : menentukan nama-nama field yang akan diinsert
  6. fields-terminated-by : menentukan delimiter antar field.
  7. fields-enclosed-by : menentukan range awal s/d akhir suatu field
  8. fields-escaped-by : menentukan karakter yang akan diinterpretasikan contoh: escaped by ‘\’ pada data dengan isi ‘\n’ akan membuat baris baru pada field.
  9. lines-terminated-by: menentukan pembatas antar row/baris.
  10. force : proses tetap dilanjutkan meskipun ada error.
  11. replace : menghapus duplikasi data
  12. verbose : mengeluarkan detail proses ke layar

contoh:

# mysqlimport \

–user=root \

–password=tmppassword \

–columns=empno,ename,job \

–compress \

–delete \

–fields-optionally-enclosed-by=’"’ \

–fields-terminated-by=’\t’ \

–fields-escaped-by=” \

–lines-terminated-by=’\n’ \

–local \

–lock-tables \

–verbose \

test employee.txt

Output dari command di atas:

Connecting to localhost

Selecting database test

Locking tables for write

Deleting the old data from table employee

Loading data from LOCAL file: /home/me/employee.txt into employee

test.employee: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0

Disconnecting from localhost

Advertisement
This entry was posted in sql. Bookmark the permalink.

One Response to Upload data dengan mysqlimport dan LOAD DATA LOCAL INFILE

  1. andihendra says:

    kira2 kalo mau mulai belajar MySql enaknya darimana yah mas?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s