contoh trigger SQL

Membuat Trigger sederhana di MySQL

Trigger merupakan suatu fasilitas yang disediakan pada MySQL untuk melakukan sebuah aksi Data Manipulation Language (DML) secara otomatis setelah action tertentu , dalam hal ini (before/after).

Untuk menjalankan sebuah trigger, pertama kali kita harus mengetahui alur dan event yang akan dijalankan oleh sebuah trigger. Saya akan mempraktekan secara sederhana pada 2 buah table, yakni table buku dan table log, dimana setelah kita menginput data buku , secara otomatis data trigger akan menginput pula data log.

Berikut contoh table buku dan log nya :

Alurnya, jika kita menginput 1 row buku, maka secara otomatis trigger akan menjalankan fungsi insert 1 row pula pada table log. Untuk itu kita buat dulu triggernya sebagai berikut :

contoh trigger SQL

Fungsi CREATE TRIGGER  [nama trigger] akan membuat trigger baru
AFTER INSERT ON [table] menandakan trigger dibuat setelah menginput data di table buku
FOR EACH ROW menandakan dimulainya perintah baru
BEGIN-END, menandakan area baris perintah yang akan ditulis (bisa lebih dari 1 perintah)

DELIMITER, berfungsi untuk membari tahu kepada MySQL, delimiter yang digunakan, secara default biasanya menggunaan semicolon (;) tapi diatas kita menggunakan $$

oke selajutnya kia tinggal jalankan query tersebut hingga muncul pesan berhasil sbb :

trigger mysql success

Jika sudah berhasil , maka kita tinggal mencoba, menginput 1 data pada table buku, kemudian kita mengecek data pada table log,maka secara otomatis data pada table log juga akan terisi.

Oh iya untuk mencoba trigger secara GUI, kita bisa juga membuat trigger pada PHPMyAdmin pada menu more > triggers, seperti gambar dbawah ini :

Demikian penjelasan tentang trigger, selamat mencoba

By : Adji Hendrawan
1 hari menjelang lebaran 😉

 

Tipe data dan table MySQL

Tipe-tipe data pada MySQL

Hai ketemu lg hehe..

Kali ini saya ingin menyampaikan informasi dasar kembali tentang tipe-tipe data yang terdapat pada MySQL. Beberapa tipe data ini biasanya yang paling sering digunakan dalam membuat database.

Kita bebas menentukan tipe data yang akan digunakan , dengan disesuaikan kebutuhan karakteristik datanya. Beberapa tipe data umum yang sering digunakan yaitu :

  1. NUMERIK (INT)

Tipe data ini biasanya digunakan untuk menyimpan angka numerik. Bilangan numeriknya bernilai bilangan bulat positif atau negatif. Nilai INT yakni -2.147.483.648 s/d 2.147.483.647 atau 4 byte (32 bit). Turunan dari INT antara lain :

  • TINYINT, Jangkauan -128 s/d 127 dan bernilai 1 Byte (8 bit).
  • SMALLINT, jangkauan -32.768 s/d 32.767 dan bernilai 2 Byte (16 bit).
  • MEDIUMINT, jangkauan -8.388.608 s/d 8.388.607 dan bernilai 3 byte (24 bit).
  • BIGINT, jangkauan ± 9,22 x 1018 dan bernilai 8 byte (64 bit).
  • FLOAT, untuk menyimpan bilangan pecahan negatif  presisi tunggal dan positif , bernilai 4 byte (32bit).
  • DOUBLE, untuk menyimpan bilangan pecahan negatif  presisi ganda  dan positif , bernilai 8 byte (64bit).
  • DECIMAL, untuk menyimpan bilangan pecahan positif dan negatif bernilai 8 byte (64 bit)

2. TEKS (STRING)

Tipe data ini digunakan untuk menyimpan data teks/string pada database MySQL. Beberapa tipe data yang sering digunakan antara lain :

  • CHAR, untuk menyimpan data string berukuran tetap, yakni 0-255 karakter
  • VARCHAR, untuk menyimpan data string berukuran dinamis sesuai jumlah karakter 0 – 65.535
  • TINYTEXT, menyimpan data teks dalam ukuran yang kecil yakni 0 – 255 karakter
  • TEXT, menyimpan data teks s/d 65.535  karakter
  • MEDIUMTEXT, menyimpan data teks berukuran medium 0 s/d 224 – 1 karakter
  • LONGTEXT, menyimpan data teks berukuran panjang 0 s/d 232 – 1 karakter

3. DATE TIME

    Tipe data ini digunakan untuk menyimpan data tanggal dan waktu. Biasanya pada tipe data ini memiliki model waktu yang berbeda-beda sesuai kebutuhan. Beberapa tipe data ini yang sering digunakan antara lain :

  • DATE, menyimpan data tanggal antara 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) dan berukuran 3 byte.
  • TIME, menyimpan data waktu -838:59:59 s/d +838:59:59 (HH:MM:SS) berukuran 3 byte
  • DATETIME, menyimpan data gabungan tanggal beserta waktu, yakni 1000-01-01 00:00:00′ s/d ‘9999-12-31 23:59:59’ dan bernilai 8 byte.
  • YEAR, digunakan untuk menyimpan data tahun, jangkauan 1900 s/d 2155 bernilai 1 byte.

4. BLOB

Merupakan singkatan dari Binary Large Object. Digunakan untuk menyimpan data biner pada database.

5. ENUM

Singkatan dari Enumerasi, tipe data ini khusus digunakan untuk menyimpan beberapa kumpulan data. Saya biasanya menggunakan untuk pilihan  beberapa data (option) pada aplikasi web. Misalnya data agama yang bersifat tetap di Indonesia : ‘Islam’, ‘Kristen’, ‘Katolik’, ‘Hindu’ , ‘Budha’

6. SET

Digunakan untuk mengisi data berupa himpunan data.

 

Selain tipe-tipe data, ada pula yang dimaksud dengan tipe table database ,  yakni tipe yang digunakan pada table. Pada MySQL jika kita tidak men setting tipe table secara manual, maka MySQL akan mengeset nya secara otomatis di konfigurasi pada variabel default-table-type. Berikut beberapa tipe table MySQL yang umum digunakan :

  1. MyISAM, merupakan tipe table yang sederhana, stabil, dan mudah digunakan, sehingga menjadi default pada MySQL. Tipe table ini mampu mengcover semua tipe data mysql yang ada. hanya saja belum mendukung relasi table.
  2. InnoDB, merupakan tipe table yang mendukung transaksi dan hubungan / relasi antar table
  3. HEAP, merupakan tipe table temporary yang disediakan untuk menyimpan data sementara pada proses pengelolaan data di MySQL

 

Demikian beberapa tipe data/field dan table yang umum digunakan pada MySQL, semoga mengingatkan kita kembali dalam merancang database dengan baik ya!

By : Adji Hendrawan
Pondok Aren, 23 Juni 2017, 2 hari menjelang lebaran 🙂