Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan Suka Di MySQL untuk Operasi Pencarian Menggunakan Pola

Tutorial ini adalah bagian dari seri Belajar Query SQL Dasar Menggunakan MySQL. Dalam tutorial ini, kita akan membahas query SQL untuk melakukan operasi pencarian pada tabel data di MySQL menggunakan klausa WHERE dengan kondisi LIKE.

Kondisi Suka

SUKA dan TIDAK SUKA kondisi dapat digunakan untuk melakukan operasi pencarian pada data tabel menggunakan pola yang ditentukan.

# LIKE - Syntax
SELECT * FROM `table_name` WHERE `column_name` LIKE '<pattern>';

# NOT LIKE - Syntax
SELECT * FROM `table_name` WHERE `column_name` NOT LIKE '<pattern>';

Penjelasan Kueri

SUKA condition dapat digunakan untuk mencari di kolom tertentu menggunakan pola yang ditentukan. Kita dapat menggunakan kondisi LIKE dengan WHERE untuk melakukan operasi pencarian.

Kita harus menentukan setidaknya satu kondisi menggunakan klausa WHERE agar baris memenuhi syarat untuk dihapus, jika tidak seluruh tabel akan dihapus. Semua baris tabel akan dihapus tanpa syarat.

Kita dapat menggunakan wildcard yang disebutkan di bawah ini dengan kondisi LIKE untuk menyaring hasil pencarian.

Persen (%) - Ini mewakili nol, satu, atau beberapa karakter

Garis bawah (_) - Ini mewakili satu karakter

Kami juga dapat menggunakan kata kunci ESCAPE untuk memasukkan karakter pengganti dalam hasil pencarian.

Contoh

Bagian ini memberikan contoh untuk melakukan operasi pencarian menggunakan kondisi LIKE dengan klausa WHERE. Gunakan kueri yang disebutkan di bawah ini untuk membuat tabel pengguna yang memiliki id, nama depan, nama belakang, dan kolom aktif untuk menyimpan data pengguna.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

Kueri yang disebutkan di bawah ini dapat digunakan untuk memasukkan data ke dalam tabel pengguna.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

Kueri yang disebutkan di atas akan menyisipkan 5 baris dalam tabel yang memiliki id, nama depan, nama belakang, dan kolom aktif untuk mewakili 5 pengguna yang berbeda.

Sekarang kita akan menggunakan kondisi LIKE dengan klausa WHERE untuk mencari baik di kolom nama depan atau nama belakang dari tabel pengguna. Itu dapat dilakukan dengan menggunakan WHERE LIKE di MySQL seperti yang ditunjukkan di bawah ini.

# LIKE - Exact search - Single Condition
SELECT * FROM `user` WHERE `first_name` LIKE 'John';
SELECT * FROM `user` WHERE `first_name` LIKE 'john';

# Result
1 John Smith 1


# LIKE - Exact search - Multiple Conditions
SELECT * FROM `user` WHERE `first_name` LIKE 'Rick' AND `last_name` LIKE 'Jones';

# Result
2 Rick Jones 1


# NOT LIKE - Exact search - Single Condition
SELECT * FROM `user` WHERE `first_name` NOT LIKE 'John';

# Result
2 Rick Jones 1
3 Catherine Ponting 0
4 Harsh Upadhyay 1
5 Tajwinder Singh 0
 

Kueri yang disebutkan di atas melakukan pencarian yang tepat menggunakan WHERE LIKE dan pola yang diberikan. Kondisi LIKE mengabaikan kasus saat mencocokkan dengan nilai kolom. Ini memberikan hasil yang sama dengan huruf besar atau kecil.

Sekarang kita akan menggunakan wildcard untuk melakukan pencarian seperti yang ditunjukkan di bawah ini.

# LIKE - % Wildcard search
SELECT * FROM `user` WHERE `first_name` LIKE '%ine';

# Result
3 Catherine Ponting 0


# LIKE - % Wildcard search
SELECT * FROM `user` WHERE `first_name` LIKE 'Cat%in%';

# Result
3 Catherine Ponting 0


# LIKE - % Wildcard search
SELECT * FROM `user` WHERE `first_name` LIKE '%in%';

# Result
3 Catherine Ponting 0
5 Tajwinder Singh 0


# LIKE - _ Wildcard search
SELECT * FROM `user` WHERE `first_name` LIKE '_ohn';

# Result
1 John Smith 1


# LIKE - % & _ Wildcard search
SELECT * FROM `user` WHERE `first_name` LIKE '_oh%';

# Result
1 John Smith 1

Kueri yang disebutkan di bawah ini menjelaskan penggunaan kata kunci ESCAPE dengan kondisi LIKE.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 6, 'Jo%hn', 'Waugh', 1 ),
( 7, 'Rick', 'Jones', 1 );

# LIKE - ESCAPE - Exact search
SELECT * FROM `user` WHERE `first_name` LIKE '%#%hn' ESCAPE '#';

# Result
6 Jo%hn Waugh 1

Ini adalah bagaimana kita dapat menggunakan kondisi LIKE dengan klausa WHERE dengan dan tanpa wildcard untuk melakukan operasi pencarian menggunakan pola yang ditentukan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instal Mtop (Pemantauan Server Database MySQL) di RHEL/CentOS 6/5/4, Fedora 17-12

  2. Bagaimana mengelola database MySQL, pengguna, dan tabel dari baris perintah

  3. Cara mengatur dan login sebagai pengguna root di MySQL

  4. Ekspresi Tabel Umum di MySQL

  5. PHP:beberapa kueri SQL dalam satu pernyataan mysql_query