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 ;
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];