Di tutorial sebelumnya sudah kita pelajari Bagaimana Cara Menghapus Data di Tabel MySQL. pada tutorial kali ini kita akan memahami Bagaimana Cara Mencari Data di Tabel MySQL Menggunakan Operator LIKE.
Operator LIKE MySQL
Operator LIKE di gunakan bersamaan dengan klausa WHERE untuk mencari data dengan pola tertentu di dalam tabel MySQL.
Ada dua karakter khusus (wildcard) yang bisa di gunakan untuk pencarian data menggunakan operator LIKE
- Tanda persen ( % ) di gunakan untuk mencocokkan nol, satu, atau beberapa karakter
- Tanda garis bawah ( _ ) di gunakan untuk mencocokkan satu karakter tunggal
Query LIKE:
SELECT kolom1, kolom2, … FROM nama_tabel WHERE nama_kolom LIKE pattern;
Keterangan :
kolom1, kolom
2, dst merupakan nama-nama kolom yang ingin di tampilkannama_tabel
merupakan tabel yang akan di cari datanyanama_kolom
merupakan kolom yang akan di cari datanyapattern
/pola merupakan bagaimana cara data tersebut ingin di tampilkan
Berikut beberapa contoh penggunaan karakter khusus dalam pencarian menggunakan LIKE operator.
LIKE Operator | Deskripsi |
LIKE ‘a%’ | Menampilkan data di kolom tertentu yang memiliki awalan huruf ‘a’ |
LIKE ‘%a’ | Menampilkan data di kolom tertentu yang memiliki akhiran huruf ‘a’ |
LIKE ‘%an%’ | Menampilkan data di kolom tertentu yang berisi huruf ‘an’ di dalamnya |
LIKE ‘a__’ | Menampilkan data di kolom tertentu yang memiliki awalan huruf ‘a’ yang memiliki panjang sebanyak 3 karakter |
LIKE ‘a%a’ | Menampilkan data di kolom tertentu yang memiliki awalan huruf ‘a’ dan akhiran huruf ‘a’ |
Latihan Menggunakan Operator LIKE MySQL
Bagi teman-teman yang belum memiliki tabel data yang akan di cari silahkan salin query di bawah ini:
CREATE TABLE biodata_mahasiswa ( id_mhs INT NOT NULL AUTO_INCREMENT, nim VARCHAR (9) NOT NULL, nama_depan VARCHAR (50) NOT NULL, nama_belakang VARCHAR (50) NOT NULL, alamat VARCHAR (200) NOT NULL, kode_pos VARCHAR (5), PRIMARY KEY (id_mhs) ) ENGINE = InnoDB; INSERT INTO biodata_mahasiswa VALUES (NULL,'191100111','Zoe', 'Martin', 'Jakarta Barat', '11231'), (NULL, '191100112','Dwi', 'Jane', 'Jakarta Timur', '90902'), (NULL, '191100113','Ayra', 'Mysha', 'Medan', '80804'), (NULL, '191100114','Azka', 'Putra', 'Padang', '99993'), (NULL, '191100115','Tyas', 'Miranda', 'Padang', '99993'), (NULL, '191100116','Kayle', 'Jane', 'Padang', '99993'), (NULL, '191100117','Regina', 'Rajendra', 'Padang', '99993');
Berikut tampilan dari tabel biodata_mahasiswa
:
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Medan | 80804 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | | 7 | 191100117 | Regina | Rajendra | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+
Contoh Penggunaan Karakter Khusus ( % )
- Mencari
nama_depan
yang memiliki awalan huruf ‘a’
MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang -> FROM biodata_mahasiswa -> WHERE nama_depan LIKE 'a%'; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | Ayra | Mysha | | Azka | Putra | +------------+---------------+
Hasil pencarian di atas menjelaskan bahwa, mahasiswa yang memiliki nama depan awalan huruf ‘a’ berjumlah dua orang yaitu Ayra dan Azka.
Tips:
Kita juga bisa mengkombinasikan pencarian data menggunakan operator AND dan OR
Catatan
MySQL secara default tidak membedakan huruf besar dan huruf kecil (incase sensitive) meskipun nama yang memiliki awalan huruf besar ‘A’ akan tetap di tampilkan meskipun yang kita cari menggunakan awalan huruf kecil ‘a’
Sekarang mari lihat contoh yang lain
- Mencari nama_belakang yang berisi huruf ‘an’ di dalamnya
MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang -> FROM biodata_mahasiswa -> WHERE nama_belakang LIKE '%an%'; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | Dwi | Jane | | Tyas | Miranda | | Kayle | Jane | +------------+---------------+
Hasil pencarian di atas menjelaskan bahwa, mahasiswa yang nama_belakang
nya berisi huruf ‘an’ berjumlah tiga orang yaitu Dwi Jane, Tyas Miranda, dan Kayle Jane.
- Mencari
nama_depan
yang memiliki awalan huruf ‘a’ dan diakhiri dengan huruf ‘a’
MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang -> FROM biodata_mahasiswa -> WHERE nama_depan LIKE 'a%a'; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | Ayra | Mysha | | Azka | Putra | +------------+---------------+
Hasil pencarian di atas menjelaskan bahwa, mahasiswa yang memiliki nama_depan
diawali dengan huruf ‘a’ dan diakhiri dengan huruf ‘a’ juga terdapat dua orang yaitu Ayra dan Azka
Contoh Penggunaan Karakter Khusus ( _ )
- Mencari
nama_depan
yang memiliki jumlah huruf hanya 4 karakter saja
MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang -> FROM biodata_mahasiswa -> WHERE nama_depan LIKE '____'; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | Ayra | Mysha | | Azka | Putra | | Tyas | Miranda | +------------+---------------+
Dengan menggunakaan tanda garis bawah (_) sebanyak 4 buah, maka nama_depan
yang memiliki jumlah huruf sebanyak 4 karakter yaitu Ayra, Azka, dan Tyas.
- Mencari
nama_belakang
yang memiliki nama ‘Rajend__’ kemudian diikuti dengan dua karakter yang belum diketahui
Misalkan kita mengingat nama belakang seseorang dan melupakan beberapa karakter di akhir namanya, kita bisa menggunakan tanda (_) untuk menemukan kemungkinan nama orang tersebut.
MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang -> FROM biodata_mahasiswa -> WHERE nama_belakang LIKE 'Rajend__'; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | Regina | Rajendra | +------------+---------------+
Hasil pencarian di atas menjelaskan bahwa, nama belakang yang bernama Rajend__ yang diikuti dua karakter huruf yang belum diketahui yaitu Rajendra
Operator NOT LIKE MySQL
Operator Not Like Fungsinya hampir sama dengan Operator Like, Namun hasil yang diberikan ketika menggunakan Operator Not Like merupakan pengecualian dari pattern yang ditentukan
Perhatikan contoh berikut:
MariaDB [mahasiswa]> SELECT nama_depan -> FROM biodata_mahasiswa -> WHERE nama_depan NOT LIKE 'a%' ; +------------+ | nama_depan | +------------+ | Zoe | | Dwi | | Tyas | | Kayle | | Regina | +------------+
Hasil pencarian di atas menampilkan nama-nama yang diawali selain dari huruf ‘a’
Setelah memahami penggunaan Operator Like MySQL, pada materi selanjutnya dilanjutkan dengan memahami penggunaan Operator AND & OR di MySQL
Selamat belajar, semoga bermanfaat!🎉🎉
Tinggalkan Balasan