Pendahuluan
MySQL SHOW TRIGGERS
pernyataan menampilkan semua pemicu yang ditentukan dalam tabel database. Perintah tersebut membantu memberikan detail untuk pemicu yang ada, termasuk nama, waktu peristiwa, dan detail lainnya.
Meskipun pernyataannya sederhana dan berfungsi tanpa opsi apa pun, penambahan opsi memperhalus dan memfilter kolom data lebih lanjut. Hasilnya, perintah membantu mengambil informasi yang diinginkan dengan cepat, memberikan gambaran umum yang lebih baik tentang pernyataan pemicu dalam database.
Tutorial ini menjelaskan SHOW TRIGGERS
pernyataan di MySQL secara rinci menggunakan contoh.
Prasyarat
- Akses ke server MySQL melalui terminal atau MySQL Workbench.
- Hak istimewa Sudo.
- Akses root ke MySQL atau akun dengan hak pengguna TRIGGER.
- Tabel database dengan pemicu.
Sintaks
Sintaks untuk SHOW TRIGGERS
pernyataannya adalah:
SHOW TRIGGERS
[{FROM | IN} <database name>]
[ WHERE <expression> LIKE '<pattern>']
Untuk memahami cara kerja pernyataan, inilah yang dilakukan setiap bagian:
SHOW TRIGGERS
bekerja tanpa opsi tambahan untuk database default saat ini.FROM <database name>
atauIN <database name>
menyediakan nama database untuk dicari. TambahkanFROM
atauIN
klausa dan nyatakan nama database untuk menampilkan pemicu dari database tertentu.WHERE <expression>
memilih baris dari hasil berdasarkan ekspresi yang disediakan.LIKE '<pattern>'
memfilterWHERE
ekspresi dan hanya menampilkan nilai yang cocok dengan pola.
MySQL SHOW TRIGGERS:Bagaimana Pernyataan Bekerja?
SHOW TRIGGERS
pernyataan menunjukkan semua pemicu yang ditentukan dalam database yang berfungsi. Menambahkan opsi tertentu memungkinkan menampilkan informasi pemicu dari database tanpa memilih database. Selain itu, opsi lebih lanjut memungkinkan pemfilteran output untuk penelusuran yang disempurnakan.
Sebelum memulai, buka terminal (CTRL +ALT +B ) dan sambungkan ke server basis data:
sudo mysql -u <username> -p
Prompt berubah menjadi mysql>
, menunjukkan koneksi yang berhasil ke monitor MySQL.
Daftar Pemicu
Ada dua cara untuk membuat daftar pemicu menggunakan SHOW TRIGGERS
pernyataan:
1. Untuk membuat daftar pemicu tanpa menghubungkan ke database, tambahkan FROM
atau IN
klausa dan memberikan nama database.
Misalnya:
SHOW TRIGGERS IN <database name>\G
SHOW TRIGGERS FROM <database name>\G
2. Atau, sambungkan ke database terlebih dahulu:
USE <database name>;
Kemudian, jalankan perintah tanpa parameter apa pun:
SHOW TRIGGERS\G
Dalam kedua kasus, output menunjukkan tabel yang berisi semua pemicu yang ditentukan.
TAMPILKAN Kolom PEMICU di Kumpulan Hasil
Output yang dihasilkan dari SHOW TRIGGERS
pernyataan menampilkan setiap baris dengan detail tentang pemicu tertentu.
Setiap kolom berisi atribut berikut:
- Pemicu adalah nama pemicunya.
- Acara menunjukkan tindakan saat pemicu diaktifkan.
- Tabel adalah nama tabel tempat pemicu berada.
- Pernyataan menunjukkan apa yang dilakukan pemicu. Secara khusus, pernyataan SQL lengkap yang dijalankan saat pemicu mengaktifkan cetakan di bidang ini.
- Waktu menunjukkan kapan pemicu dijalankan relatif terhadap suatu peristiwa.
- Dibuat mencetak tanggal dan waktu saat pengguna membuat pemicu.
- sql_mode mencantumkan mode server SQL yang berlaku saat pemicu dijalankan.
- Penentu menentukan pengguna yang membuat pemicu dan koneksi sebagai
[email protected]
. - character_set_client menunjukkan set karakter untuk pernyataan yang berasal dari klien.
- koneksi_koneksi mendefinisikan aturan kumpulan karakter untuk membandingkan dan menyortir string saat penentu membuat pemicu.
- Pengumpulan Basis Data menunjukkan set karakter untuk database saat menyortir dan membandingkan string yang terkait dengan pemicu.
MySQL SHOW TRIGGERS:Contoh
Gunakan WHERE
atau LIKE
pernyataan untuk memilih kolom dari SHOW TRIGGER
keluaran dan gunakan AND
, OR
dan NOT
operator untuk menyaring pencarian lebih lanjut. Contoh di bawah menunjukkan kasus penggunaan yang umum.
Tampilkan Pemicu menurut Tabel
Untuk membuat daftar pemicu berdasarkan nama tabel, gunakan salah satu dari dua metode:
1. Tampilkan pemicu dari tabel tanpa menghubungkan ke database dengan:
SHOW TRIGGERS
FROM <database name>
WHERE `Table`='<table name>'\G
Misalnya, jika nama database adalah people
dan nama tabelnya adalah person
, gunakan:
SHOW TRIGGERS
FROM people
WHERE `Table`='person'\G
2. Atau, sambungkan ke database terlebih dahulu:
USE <database name>;
Kemudian, gunakan SHOW TRIGGERS
hanya dengan WHERE
klausa:
SHOW TRIGGERS
WHERE `Table`='<table name>'\G
Misalnya, untuk database people
dengan tabel person
, jalankan:
USE people;
SHOW TRIGGERS
WHERE `Table`='person'\G
Dalam kedua kasus, output mencantumkan semua pemicu untuk tabel tertentu berdasarkan baris.
Tampilkan Pemicu menurut Peristiwa
Setiap pemicu diaktifkan pada pernyataan peristiwa MySQL tertentu. Untuk membuat daftar pemicu berdasarkan peristiwa, gunakan sintaks berikut:
SHOW TRIGGERS
FROM <database name>
WHERE `Event`='<event>'\G
Atau, sambungkan ke database terlebih dahulu:
USE <database name>;
SHOW TRIGGERS
WHERE `Event`='<event>'\G
Opsi yang memungkinkan untuk <event>
adalah:
INSERT
- Mengaktifkan pemicu saat pengguna memasukkan data ke dalam tabel.UPDATE
- Menjalankan pemicu saat pengguna memperbarui data tabel.DELETE
- Menjalankan pemicu saat pengguna menghapus data dari tabel.
Misalnya:
SHOW TRIGGERS
FROM people
WHERE `Event`='DELETE'\G
Keluaran hanya menampilkan pemicu yang kejadiannya DELETE
.
Tampilkan Pemicu berdasarkan Waktu
Waktu tautan parameter ke Peristiwa , menunjukkan apakah pemicu mengaktifkan BEFORE
atau AFTER
pernyataan peristiwa. Untuk menampilkan pemicu berdasarkan waktu tanpa menghubungkan ke database, gunakan sintaks berikut:
SHOW TRIGGERS
FROM <database name>
WHERE `Timing`='<timing>'\G
Untuk menghubungkan ke database terlebih dahulu dan kemudian membuat daftar pemicu berdasarkan waktu, gunakan:
USE <database name>;
SHOW TRIGGERS
WHERE `Timing`='<timing>'\G
Dengan parameter contoh, pernyataan terlihat seperti berikut:
SHOW TRIGGERS
FROM people
WHERE Timing='AFTER'\G
SHOW TRIGGERS
keluaran pernyataan menampilkan pemicu dengan Waktu setel ke AFTER
.
Tampilkan Pemicu menurut Pernyataan
Pernyataan kolom berisi pernyataan SQL bahwa pemicu berjalan saat dipanggil.
Gabungkan perintah dengan LIKE
klausa untuk mencari melalui pernyataan pemicu:
SHOW TRIGGERS
FROM <database name>
WHERE `Statement` LIKE '<pattern>'\G
Atau, pilih database terlebih dahulu dan hapus FROM
bagian dari pernyataan:
USE <database name>;
SHOW TRIGGERS
WHERE `Statement` LIKE '<pattern>'\G
LIKE
pernyataan melakukan pencarian pencocokan pola menggunakan karakter wildcard (%):
- Gunakan
%
di akhir untuk mencocokkan pernyataan yang dimulai dengan kata tertentu. Misalnya,'IF%'
cocok dengan semua kemunculan yang dimulai denganIF
pernyataan. - Tambahkan
%
di awal untuk mencocokkan pernyataan yang diakhiri dengan kata tertentu. Misalnya,'%IF'
cocok dengan semua pernyataan yang diakhiri denganIF
pernyataan. - Tulis
%
di kedua sisi pernyataan untuk mencari kata yang terletak di mana saja dalam pernyataan.
Contoh penelusuran untuk Pernyataan trigger pemicu dalam tabel yang berisi AVG
Fungsi MySQL adalah:
SHOW TRIGGERS
FROM people
WHERE `Statement` LIKE '%AVG%'\G
Kueri mengambil semua pernyataan yang berisi AVG
fungsi.
Menggabungkan Parameter Penelusuran
Gabungkan parameter penelusuran dengan AND
operator untuk membuat kueri yang kompleks. Misalnya, untuk mencari pemicu yang berisi AVG
MySQL berfungsi dan memiliki DELETE
acara, jalankan:
SHOW TRIGGERS
FROM people
WHERE `Statement` LIKE '%AVG%' AND `Event`='DELETE'\G
Hasilnya menunjukkan pemicu di mana kedua pernyataan dievaluasi menjadi Benar . Untuk pembuatan kueri tambahan, gunakan NOT
dan OR
operator.
Tampilkan Pemicu di MySQL Workbench
Semua SHOW TRIGGERS
pernyataan dari contoh sebelumnya bekerja di MySQL Workbench. Satu-satunya perbedaan adalah perintah diakhiri dengan titik koma (;
) bukannya \G
di MySQL Workbench.
Untuk menampilkan pemicu di MySQL Workbench, lakukan hal berikut:
1. Jalankan MySQL Workbench dari terminal (CTRL +ALT +B ) dengan perintah berikut:
mysql-workbench
Atau, cari MySQL Workbench di daftar aplikasi melalui GUI.
2. Pilih koneksi yang diinginkan untuk terhubung ke server database.
3. Masukkan kata sandi pengguna jika diminta.
4. Tambahkan SHOW TRIGGERS
pernyataan ke dalam kotak kueri:
SHOW TRIGGERS;
5. Terakhir, jalankan kueri.
Hasilnya muncul sebagai tabel yang berisi semua pemicu.