Menggunakan mysql pada Batch Mode


Pada bagian sebelumnya, anda menggunakan mysql interaktif untuk memasukkan query dan melihat hasilnya. Anda juga dapat menjalankan mysql dalam mode batch. Untuk melakukan hal ini, menempatkan perintah yang ingin anda jalankan dalam file, kemudian memberitahu mysql untuk membaca input dari file:

shell> mysql < batch-file

Jika anda menjalankan mysql pada Windows dan memiliki beberapa karakter khusus dalam file yang menyebabkan masalah, anda dapat melakukan ini:

C:\> mysql -e “source batch-file”

Jika anda perlu menentukan parameter koneksi pada command line, perintah akan terlihat seperti ini:

shell> mysql -h host -u user -p < batch-file
Enter password: ********

Bila anda menggunakan mysql dengan cara ini, anda membuat file script, kemudian mengeksekusi script.

Jika anda ingin script untuk berlanjut bahkan jika beberapa pernyataan di dalamnya menghasilkan kesalahan, anda harus menggunakan --force command-line option.

Mengapa menggunakan script? Berikut adalah beberapa alasan:

  • Jika anda menjalankan query berulang kali (misalnya, setiap hari atau setiap minggu), sehingga script memungkinkan anda untuk menghindari mengetik ulang setiap kali anda menjalankannya.
  • Anda dapat menghasilkan query baru dari yang sudah ada yang serupa dengan menyalin dan mengedit file script.
  • Mode batch juga dapat berguna selama anda sedang mengembangkan query, terutama untuk multiple-line command atau multiple-statement sequences of comman. Jika anda membuat kesalahan, anda tidak perlu mengetik ulang segalanya. Hanya mengedit naskah anda untuk memperbaiki kesalahan, kemudian memberitahu mysql untuk mengeksekusi lagi.
  • Jika anda memiliki query yang menghasilkan banyak output, anda dapat menjalankan output melalui pager :

shell> mysql < batch-file | more

  • Anda dapat menangkap output dalam sebuah file untuk diproses lebih lanjut:

shell> mysql < batch-file > mysql.out

  • Anda dapat mendistribusikan script anda kepada orang lain sehingga mereka juga dapat menjalankan command.
  • Situasi tertentu tidak memungkinkan untuk penggunaan interaktif, misalnya, ketika anda menjalankan query dari cron job. Dalam hal ini, anda harus menggunakan mode batch.

Format output default berbeda (lebih ringkas) ketika anda menjalankan mysql dalam mode batch daripada ketika anda menggunakannya secara interaktif. Sebagai contoh, output dari SELECT DISTINCT FROM spesies Binatang_Peliharaan terlihat seperti ini ketika mysql dijalankan secara interaktif:

Dalam mode batch, output terlihat seperti ini sebagai gantinya:

spesies
Kucing
Anjing
Burung

Jika anda ingin mendapatkan format output interaktif dalam mode batch, gunakan mysql -t. Untuk echo ke output perintah yang dijalankan, gunakan mysql -vvv.

Anda juga dapat menggunakan script dari prompt mysql dengan menggunakan perintah source atau \. perintah.

mysql> source filename;
mysql> \. filename

Iklan
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: