Sabtu, 04 Mei 2013

BERHUBUNGAN DENGAN MYSQL

Bahasa Pemograman MySql Tingkat Lanjut

1.      Between dan Not Between

Operator yang digunakan untuk menangani operasi jangkauan.
Syntak :
SELECT namafield1,namafield2 FROM table
WHERE namafield BETWEEN ‘nilai1’ AND ‘nilai2’ ;
Contoh Between :
Select  nama,kelamin from guru Where  kode_pelajaran between ‘001’ and ‘005’ ;
Contoh Not Between :
Select  nama,kelamin from guru Where  kode_pelajaran not between ‘001’ and ‘005’ ;

2.      In dan Not In
Operator yang berguna untuk melakukan pencocokan dengan salah satu yang ada pada daftar nilai.
Syntak :
SELECT namafield1,namafield2 FROM table
WHERE namafield IN (‘nilai1’ , ‘nilai2’ , ‘nilai3’) ;
Contoh In :
Select  nama,kelamin from guru Where  kode_pelajaran in(‘001’,’002’,’003’) ;
Contoh Not In :
Select  nama,kelamin from guru Where  kode_pelajaran not in(‘001’,’002’,’003’) ;

3.      Like dan Not Like
Operator yang berguna mencari data dengan criteria tertentu ,dengan menggunakan wildcard(_: sebuah karakter , % : beberapa karakter).
Pola
Keterangan
%a%
Cocok dengan apa saja yang mengandung karakter a
%a
Cocok dengan karakter yang berakhiran a
a%
Cocok dengan karakter yang berawalan a
Operator LIKE bersifat case sensitive.
Syntak :
SELECT namafield,namafield2 FROM table
WHERE namafield LIKE ‘char%’
Contoh Like :
Select nama , kelamin from guru Where nama like ‘a%’ ;
Contoh Not Like :
Select nama , kelamin from guru Where nama like ‘%a’ ;


4.      Mengurutkan Data
Untuk menmpilkan data secara urut berdasarkan criteria tertentu dapat dilakukan dengan menggunakan klausa ORDER BY.
Syntak :
SELECT namafield1nnamafield2 FROM table
ORDER BY namafield;
Contoh :
Select nip , nama from guru Order by nama ;

5.      Pengelpmpokkan Data
Untuk menmpilkan data berdasarkan kelompok tertentu dengan menggunakan klausa GROUP BY
Syntak :
SELECT namafield1,namafield2 FROM table
GROUP BY namafield ;
Contoh :
Select nip , nama from guru Group by nama ;

TRIGGER

  Trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika       terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau   beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel.

  Trigger sering digunakan, antara lain untuk:
 1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam system penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis.
 2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
 3.Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.
  Syntak untuk membuat trigger baru :
                                                        
  CREATE TRIGGER name
  [BEFORE|AFTER] [INSERT|UPDATE|DELETE]
    ON tablename
  FOR EACH ROW statement

  Keterangan dari bentuk umum perintah membuat trigger:
  • name, Nama trigger mengikuti peraturan penamaan variabel / identifier dalam MySQL
  • [BEFORE | AFTER] digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
  • [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses) yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
  • tablename, merupakan nama tabel dimana trigger berada.
  • statement, merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan jika event / proses yang didefinisikan sebelumnya aktif.

  Statement atau perintah dalam trigger dapat berupa satu perintah saja, dan dapat juga beberapa perintah sekaligus. Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan mengakhiri perintah.
Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah proses dengan menggunakan NEW dan OLD. NEW digunakan untuk mengambil record yang akan diproses (insert atau update), sedangkan OLD digunakan untuk mengakses record yang sudah diproses (update atau delete).

   Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya. Berikut ini bentuk umum dan contoh perintah untuk menghapus trigger.
 Bentuk umum dan contoh menghapus trigger,syntak nya  :

   DROP TRIGGER tablename.triggername;

PENGGUNAAN CROSS JOIN , NATURAL JOIN , EQUI JOIN
CROSS JOIN => untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua seperti pada gambar di bawah.Cross Join akan mengembalikan semua catatan di mana setiap baris dari tabel pertama digabungkan dengan setiap baris dari tabel kedua.
Syntak Cross Join:
         select*from [Tabel_1] cross join [Tabel_2];

NATURAL JOIN => Natural join digunakan untuk menampilkan data dari dua tabel yang berisi data. .Natural join membandingkan semua kolom di kedua tabel yang memiliki kolom yang sama-nama dalam tabel bergabung. Tabel bergabung dihasilkan hanya berisi satu kolom untuk setiap pasangan kolom sama bernama.
Syntak Natural Join :
         select*from [Tabel_1] natural join [Tabel_2];
EQUI JOIN => Equi Join merupakan Join yang menggunakan tanda equal (=) untuk membandingkan Operatornya. 
Syntak Equi Join :
          select*from [Tabel_1] equi join [Tabel_2];