Panduan Lengkap MySQL LIKE: Sintaks, Wildcard, dan Contoh Praktis

1. Gambaran Umum MySQL LIKE

Operator LIKE di MySQL digunakan untuk mencari data yang sesuai dengan pola tertentu dalam database. LIKE digunakan dalam klausa WHERE pada SQL untuk menetapkan kondisi pencarian berdasarkan sebagian atau seluruh string. Misalnya, saat mencari “nama yang dimulai dengan huruf tertentu” atau “kode produk yang mengandung karakter tertentu”, operator ini sangat berguna.

Kegunaan Operator LIKE

  • Pencarian cocok sebagian
  • Pencarian pola tertentu
  • Filter data

Karena operator ini berfokus pada pencocokan pola, ia sangat penting untuk pencarian dan manipulasi data dalam database secara efisien.

2. Sintaks Dasar MySQL LIKE

Sintaks dasar saat menggunakan operator LIKE di MySQL adalah sebagai berikut:

SELECT kolom FROM nama_tabel WHERE kolom LIKE 'pola';

Contoh Penggunaan LIKE

  • Mencari data yang dimulai dengan karakter tertentu
    SELECT * FROM users WHERE name LIKE 'A%';
  • Mencari data yang mengandung string tertentu
    SELECT * FROM products WHERE product_code LIKE '%123%';

Operator LIKE digunakan bersama wildcard seperti % dan _ untuk memungkinkan pencarian yang lebih fleksibel.

3. Wildcard yang Digunakan dalam LIKE

Dalam operator LIKE, wildcard digunakan untuk menentukan pola pencarian. Dua wildcard utama yang didukung MySQL adalah:

% Wildcard

  • Mencocokkan string dengan panjang berapa pun (0 atau lebih karakter)
    SELECT * FROM users WHERE email LIKE '%@example.com';
    Contoh ini akan mencari semua alamat email yang diakhiri dengan @example.com.

_ Wildcard

  • Mencocokkan satu karakter bebas
    SELECT * FROM products WHERE product_code LIKE '_A%';
    Contoh ini akan mencari semua kode produk di mana karakter kedua adalah A.

Dengan menggunakan wildcard secara tepat, data dalam database dapat difilter lebih efisien.

4. Teknik Pencocokan Pola

Dengan operator LIKE dan wildcard, berbagai teknik pencocokan pola bisa dilakukan.

Cocok Awalan (Starts With)

  • Mencari data yang dimulai dengan pola tertentu
    SELECT * FROM customers WHERE name LIKE 'John%';
    Ini akan mencari semua nama pelanggan yang dimulai dengan John.

Cocok Akhiran (Ends With)

  • Mencari data yang diakhiri dengan pola tertentu
    SELECT * FROM files WHERE filename LIKE '%.pdf';
    Ini akan mencari semua nama file yang diakhiri dengan .pdf.

Cocok Sebagian (Contains)

  • Mencari data yang mengandung pola tertentu
    SELECT * FROM documents WHERE content LIKE '%MySQL%';
    Ini akan mencari semua dokumen yang mengandung string MySQL.

5. Escape Karakter Khusus dalam LIKE

Dalam operator LIKE, % dan _ memiliki arti khusus sebagai wildcard. Jika ingin mencarinya sebagai karakter biasa, diperlukan escape character.

Cara Menggunakan Escape

  • Contoh pencarian dengan escape
    SELECT * FROM filenames WHERE filename LIKE 'file_%' ESCAPE '';
    Query ini akan mencari semua nama file yang dimulai dengan file_. Biasanya _ dianggap wildcard, namun dengan escape, ia diperlakukan sebagai karakter biasa.

6. Penggunaan Lanjutan LIKE

Operator LIKE bisa dikombinasikan dengan perintah SQL lain untuk pencarian yang lebih kompleks.

Menggabungkan dengan JOIN

  • Mencari data terkait antar tabel
    SELECT orders.id, customers.name FROM orders JOIN customers ON orders.customer_id = customers.id WHERE customers.name LIKE '%Smith%';
    Query ini akan mengambil semua pesanan dari pelanggan yang namanya mengandung Smith.

Menggunakan NOT LIKE

  • Mencari data yang tidak cocok dengan pola tertentu
    SELECT * FROM emails WHERE address NOT LIKE '%@spam.com';
    Query ini akan mengambil semua alamat email yang tidak diakhiri dengan @spam.com.

7. Praktik Terbaik saat Menggunakan LIKE

Ada beberapa hal yang perlu diperhatikan dan praktik terbaik dalam penggunaan operator LIKE.

Dampak pada Performa

  • Penggunaan operator LIKE dapat menurunkan performa saat mencari dalam jumlah data besar. Terutama jika % digunakan di depan string, indeks tidak bisa digunakan sehingga query bisa menjadi lambat.

Penggunaan Indeks yang Tepat

  • Pertimbangkan untuk membuat indeks yang sesuai agar performa pencarian lebih optimal.

8. Contoh Penggunaan Umum MySQL LIKE

Operator LIKE pada MySQL sering digunakan dalam skenario berikut:

Pencarian Pelanggan

  • Misalnya saat mencari pelanggan berdasarkan nama atau alamat email.

Pencarian Kode Produk

  • Misalnya saat mencari produk berdasarkan sebagian kode produk.

9. Kesimpulan

Operator LIKE adalah alat pencocokan pola yang kuat dalam MySQL. Artikel ini membahas mulai dari sintaks dasar hingga penggunaan lanjutan serta optimasi performa. Gunakan operator LIKE secara tepat untuk pencarian dan pengelolaan data yang efisien dalam database.

10. Pertanyaan yang Sering Diajukan

Q1: Apa perbedaan antara LIKE dan =?
A1: = digunakan untuk pencarian cocok sempurna, sedangkan LIKE digunakan untuk pencarian sebagian atau pencocokan pola.

Q2: Apakah LIKE membedakan huruf besar dan kecil?
A2: Secara default, MySQL tidak membedakan huruf besar dan kecil dalam LIKE. Namun, bisa dibuat case-sensitive dengan menggunakan kata kunci BINARY.

Q3: Apakah operator LIKE bisa digunakan pada angka?
A3: Pada dasarnya digunakan untuk string, tetapi bisa digunakan jika angka disimpan sebagai string.