Cara menggunakan seperti mysql ini

Pada tutorial sebelumnya, kita telah mempelajari cara menghapus data pada tabel MySQL. pada tutorial kali ini kita akan memahami cara mencari data pada tabel MySQL menggunakan operator LIKE

Daftar Isi

Operator LIKE MySQL

Operator LIKE digunakan bersama dengan klausa WHERE untuk menemukan data dengan pola tertentu di tabel MySQL

Terdapat dua karakter khusus (wildcard) yang dapat digunakan untuk pencarian data menggunakan operator LIKE

  • Tanda persen ( % ) digunakan untuk mencocokkan nol, satu, atau beberapa karakter
  • Garis bawah ( _ ) digunakan untuk mencocokkan satu karakter

PERTANYAAN SUKA

SELECT kolom1, kolom2, …
FROM nama_tabel
WHERE nama_kolom LIKE pattern;

Keterangan

  • kolom1, kolom2, dst adalah nama kolom yang ingin ditampilkan
  • 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');
    
    
    0 adalah tabel yang akan dicari datanya
  • 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');
    
    
    1 adalah kolom yang akan dicari datanya
  • 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');
    
    
    _2/pattern adalah bagaimana data akan ditampilkan

Berikut adalah beberapa contoh penggunaan karakter khusus dalam pencarian menggunakan operator LIKE

LIKE OperatorDescriptionLIKE 'a%'Menampilkan data pada kolom tertentu yang berprefiks huruf 'a'LIKE '%a'Menampilkan data pada kolom tertentu yang berhuruf 'a'LIKE '%an%'Menampilkan data pada kolom tertentu yang didalamnya terdapat huruf 'an' LIKE 'a__'Menampilkan data pada kolom tertentu yang memiliki awalan huruf 'a' yang memiliki panjang 3 karakterLIKE 'a%a'Menampilkan data pada kolom tertentu yang memiliki awalan dari huruf 'a' dan akhiran dari huruf 'a'

Pelatihan Menggunakan Operator LIKE MySQL

Bagi sobat yang belum memiliki tabel data untuk dicari, silahkan copy query dibawah 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 adalah tampilan dari tabel

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');

_3

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 (%)

  • Temukan
    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');
    
    
    _4 yang memiliki huruf 'a' sebagai awalannya

MariaDB [mahasiswa]> SELECT nama_depan, nama_belakang
    -> FROM biodata_mahasiswa
    -> WHERE nama_depan LIKE  'a%';
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Ayra       | Mysha         |
| Azka       | Putra         |
+------------+---------------+

_

Hasil penelusuran di atas menjelaskan bahwa ada dua siswa yang nama depannya berawalan huruf 'a', yaitu Ayra dan Azka

Kiat
Kami juga dapat menggabungkan pencarian data menggunakan operator AND dan OR

Catatan
MySQL secara default tidak membedakan huruf besar dan huruf kecil (incase sensitive) walaupun nama yang memiliki awalan huruf kapital 'A' akan tetap ditampilkan walaupun yang kita cari menggunakan awalan huruf kecil 'a'

Sekarang mari kita lihat contoh lain

  • Mencari last_name yang mengandung 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 penelusuran di atas menjelaskan bahwa siswa yang

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');

5 mengandung huruf 'an' adalah tiga orang, yaitu Dwi Jane, Tyas Miranda, dan Kayle Jane

  • Mencari
    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');
    
    
    _4 yang diawali dengan 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 penelusuran di atas menjelaskan bahwa, siswa yang memiliki

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');

4 berawalan huruf 'a' dan diakhiri dengan huruf 'a' juga ada dua orang yaitu Ayra dan Azka

Contoh Penggunaan Karakter Khusus ( _ )

  • Mencari
    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');
    
    
    _4 yang hanya memiliki total 4 huruf

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 menggunakan 4 garis bawah (_), maka

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');

4 yang memiliki total 4 karakter yaitu Ayra, Azka, dan Tyas

  • Mencari
    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');
    
    
    _5 yang bernama 'Rajend__' kemudian diikuti oleh dua karakter yang tidak diketahui

    Misalkan kita mengingat nama belakang seseorang dan melupakan beberapa karakter di akhir nama tersebut, kita dapat menggunakan tanda (_) untuk mencari 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 adalah Rajend__ diikuti dengan dua karakter huruf yang tidak diketahui, yaitu Rajendra

Operator NOT LIKE MySQL

Not Like Operator Fungsinya hampir sama dengan Like Operator, namun hasil yang diberikan saat menggunakan Not Like Operator merupakan pengecualian dari pola 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 menunjukkan nama yang diawali dengan selain huruf 'a'

Setelah memahami penggunaan Operator Like MySQL, materi selanjutnya dilanjutkan dengan pemahaman penggunaan Operator AND & OR pada MySQL

Apa itu LIKE di SQL?

Operator SQL LIKE . Ada dua wildcard yang sering digunakan bersamaan dengan operator LIKE. Tanda persen (%) mewakili nol, satu, atau beberapa karakter. digunakan dalam klausa WHERE untuk mencari pola yang ditentukan pada kolom / field. Ada dua wildcard yang sering digunakan bersama dengan operator LIKE : Tanda persen (%) mewakili nol, satu, atau beberapa karakter.

Bagaimana cara membuat MySQL?

Untuk membuat database MySQL baru, masuk ke cPanel dan klik menu MySQL Databases. .
Pilih nama basis data. Awalan default adalah "yoururser_". .
Gulir ke bawah dan temukan Tambah Pengguna Baru. Masukkan nama pengguna dan kata sandi, lalu klik Buat Pengguna
Cari opsi Add User To Database untuk menghubungkan User ke Database. .
Selesai

Apa urutan perintah SQL yang benar?

Perintah Dasar SQL / Bahasa Kueri Terstruktur .
Perintah SELECT
SELECT DISTINCT perintah
Perintah WHERE
Perintah (operator) AND, OR dan NOT
Perintah ORDER BY
INSERT INTO perintah
perintah PERBARUI
Perintah HAPUS

3 Jelaskan apa yang dimaksud dengan MySQL?

MySQL atau baca My Sequel adalah Database Management System atau sering disingkat DBMS yang dijalankan menggunakan perintah SQL (Structured Query Language) yang populer digunakan untuk membuat aplikasi berbasis website.