Iklan
  • Kategori

  • Arsip

Variasi Perintah Insert ke MYSQL

Setelah klinong-klinong dengan menggunakan search engine, akhirnya terhenti pula pada suatu halaman website yang cukup menarik perhatian. Artikelnya sepintas terlihat biasa namun bisa jadi luar biasa kegunaannya bagi mereka yang suka otak atik Kode PHP.

Apakah gerangan artikel tersebut ?

7 Variasi perintah Insert di MYSQL yang dikemas dan dirangkum oleh Kang Achmatim di http://www.achmatim.net. Berikut ini penjelasan dari 7 Variasi tersebut…

  1. INSERT INTO (field1, field2, …) VALUES (…)

    Pada perintah di atas maka penulisan kode harus dibuat secara detil baik itu jumlah dan nama field pada tabel harus sama persis dengan data yang akan dimasukkan. Misal seperti dibawah ini

    INSERT INTO

    inbox_multipart

    (UpdatedInDB, ReceivingDateTime, Text, SenderNumber, Coding, UDH, SMSCNumber, Class,TextDecoded, ID, RecipientID, Processed, stat, udhstat, id_user, id_divisi)

    VALUES

    (‘$UpdatedInDB_multi’,’$ReceivingDateTime_multi’,’$Text_multi’,’$SenderNumber_multi’,’$Coding_multi’,’$UDH_multi’,’$SMSCNumber_multi’,’$Class_multi’,’$TextDecoded_multi’,’$ID_multi’,’$RecipientID_multi’,’false’,’0′,’$udhstat_multi’,’$id_user_multi’,’$id_divisi_multi’)

  2. INSERT … SELECT …

    Perintah di atas berfungsi untuk memindah data dari tabel satu ke tabel yang lain. Contohnya adalah sebagai berikut :

    INSERT

    inbox_multipart

    SELECT * FROM inbox WHERE RIGHT(UDH,2)=’01’ AND stat=’0′ AND Processed=’false’

  3. INSERT IGNORE …

    Perintah diatas berfungsi untuk memasukkan data dari tabel 1 ke tabel lain hanya saja sebelum data di insert (dimasukkan/copy) maka akan dilakukan pemeriksaan terlebih dahulu. Jika data sudah ada maka proses insert dihentikan dan sebaliknya jika data belum ada di tabel baru (tujuan) maka proses insert di lanjutkan. Berikut ini contoh jika ingin melakukan insert data dari tabel 1 ke tabel 2 dengan catatan jika data kunci (primary key) belum ada di tabel 2.

    Pemeriksaan data didasarkan pada field yang menjadi primary key. Jadi jika terjadi duplikasi primary key maka data akan diabaikan (ignored).

    INSERT IGNORE INTO tabel 1 VALUES(‘dataTabel 2′,’ dataTabel 2′, ‘ dataTabel 2’);

  4. INSERT DELAYED …

    Adalah sebuah perintah yang sering digunakan untuk aktifitas transaksi dimana perintah penambahan akan ditangguhkan hingga tidak ada yang mengakses tabel yang berhubungan dengan insert delayed

    Berikut ini adalah contoh perintah penulisan kodenya

    INSERT DELAYED INTO tbl1 (field1, field2) VALUES (‘value1’, ‘ value2’);

  5. INSERT LOW PRIORITY | HIGH PRIORITY …

    Perintah LOW PRIORITY atau HIGH PRIORITY dibelakang perintah INSERT dapat digunakan untuk mengatur prioritas dari perintah INSERT yang akan dijalankan. Perintah dengan prioritas lebih tinggi tentu akan didahulukan untuk dijalankan.

    Sama seperti bentuk perintah INSERT DELAYED, perintah ini juga berguna saat kita “bermain” dengan proses transaksional. Berikut ini contoh sederhananya:

    INSERT DELAYED INTO tbl1 (field1, field2) VALUES (‘value1’, ‘ value2’);

  6. INSERT … ON DUPLICATE KEY UPDATE

    Variasi perintah INSERT ini mungkin suatu saat akan kita perlukan. Misalnya pada kasus dimana pada proses insert sejumlah data, jika datanya sudah ada, dalam arti terjadi duplikasi primary key, maka lakukan perintah update untuk kolom tertentu. Sebagai contoh, kita akan melakukan penambahan data ke tblmhs, jika datanya sudah ada, maka update field alamat dengan alamat yang baru. Berikut ini perintahnya:

    INSERT INTO tblmhs (nim, nama, alamat) VALUES(‘1111500111’, ‘WULAN’, ‘MALANG’) ON DUPLICATE KEY UPDATE alamat=’JAKARTA’;

    Untuk penjelasan lebih rinci terkait perintah ini dapat dilihat di dokumentasi MySQL (http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html)

  7. REPLACE INTO …

    Perintah ini sangatlah membantu saat ingin melakukan penambahan data secara massal seperti pada kasus import absensi karyawan. Jika pada proses import, kita menginginkan agar data selalu up to date, maka jika data sudah ada harus dilakukan proses update. Perintah REPLACE INTO berperan untuk melakukan dua tugas sekaligus, yaitu INSERT jika datanya belum ada dan UPDATE jika datanya sudah ada. Berikut ini contoh perintah ini:

    REPLACE INTO tblmhs VALUES(‘1011500100’, ‘ACHMAD SOLICHIN’, ‘TANGERANG SELATAN’);

Demikian ketujuh bentuk variasi perintah INSERT di dalam MySQL yang sering terlupakan namun seringkali kita butuhkan. Semoga postingan ini bermanfaat untuk kita semua. Mari terus semangat berbagi demi Indonesia!

Sumber: http://achmatim.net/2011/02/15/7-variasi-perintah-insert-di-mysql-yang-sering-terlupakan

Iklan

2 Tanggapan

  1. Artikel di atas memang bersumber pada link tersebut sesuai dengan sumber artikel yang telah saya cantumkan. Hal ini sengaja saya copas sebagai arsip pribadi.
    Dan terima kasih atas kunjungannya.

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: