MySQL - LIKE Operator: A Friendly Guide for Beginners

Hai there, bakal ahli pangkalan data! Saya begitu gembira untuk menjadi pandu anda dalam perjalanan yang menarik ke dunia MySQL dan operator LIKE. Sebagai seseorang yang telah mengajar sains komputer selama bertahun-tahun, saya dapat menjamin anda bahawa memahami konsep ini akan membuka kesempatan baru sepenuhnya dalam petualangan penggunaan pangkalan data anda. Jadi, mari kita masuk ke dalam!

MySQL - Like Operator

Apa Itu Operator LIKE?

Imajina anda mencari buku di perpustakaan yang besar, tetapi anda hanya ingat sebahagian judulnya. Adakah hal yang bagus jika anda dapat mencari buku-buku yang memiliki judul yang serupa? Itulah apa yang operator LIKE lakukan untuk pertanyaan pangkalan data anda!

Operator LIKE adalah alat kuat dalam MySQL yang membolehkan anda mencari corak yang ditentukan dalam satu kolom. Ia seperti memiliki seorang asisten super bijak yang dapat menemui data berdasarkanmaklumat separa.

Sintaks Asas

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE corak;

Jangan bimbang jika ini kelihatan sedikit menakutkan pada permulaan. Kita akan menguraikan ia langkah demi langkah, dan segera anda akan menulis pertanyaan ini dalam tidur anda!

Menggunakan Operator LIKE Dengan Wildcards

Sekarang, mari bicarakan wildcards. Wildcards adalah karakter khas yang dapat mewakili karakter lain dalam string. Anggap mereka seperti joker di dalam satu set kad - mereka dapat mewakili apa saja!

Wildcard %

Wildcard % mewakili nol, satu, atau banyak karakter. Ia seperti seekor hantu yang ramah yang dapat diperpanjang atau diperkecil untuk memenuhi ruang apa pun dalam corak carian anda.

mari lihat contoh. Anggap kita ada jadual yang dipanggil books dengan kolom title:

SELECT * FROM books WHERE title LIKE 'Harry%';

Pertanyaan ini akan mengembalikan semua buku di mana judulnya bermula dengan "Harry". Ia boleh menyesuaikan "Harry Potter", "Harry's Adventures", atau bahkan hanya "Harry".

Wildcard _

Wildcard _ mewakili satu karakter. Ia seperti penyangga untuk hanya satu huruf atau nombor.

SELECT * FROM books WHERE title LIKE 'Harry Potter_';

Pertanyaan ini mungkin mengembalikan "Harry Potter1", "Harry PotterA", tetapi bukan "Harry Potter and the Sorcerer's Stone" (kerana itu lebih daripada satu karakter selepas "Potter").

Menggunakan Operator LIKE Dengan AND/OR Operators

kadang-kadang, satu syarat tidak cukup. Itulah di mana operator AND dan OR berguna. Mereka seperti duo dinamik dalam penggunaan pangkalan data!

Operator AND

Operator AND membolehkan anda gabungkan beberapa syarat. Ia seperti mengatakan, "Saya mahu ini DAN itu."

SELECT * FROM books
WHERE title LIKE 'Harry%'
AND author LIKE 'J.K.%';

Pertanyaan ini akan menemui semua buku dengan judul yang bermula dengan "Harry" dan pengarang yang nama bermula dengan "J.K.".

Operator OR

Operator OR digunakan apabila anda mahu memadankan satu syarat atau yang lain. Ia seperti mengatakan, "Saya akan mengambil ini ATAU itu."

SELECT * FROM books
WHERE title LIKE '%Magic%'
OR title LIKE '%Wizard%';

Pertanyaan ini akan menemui buku-buku yang mempunyai "Magic" atau "Wizard" di mana-mana tempat di judul.

Menggunakan Operator NOT Dengan Operator LIKE

Kadang-kadang, lebih mudah untuk menentukan apa yang andatidak mahu. Itulah di mana operator NOT berguna. Ia seperti memberitahu pangkalan data anda, "Tunjukkankan saya segalanya kecuali..."

SELECT * FROM books
WHERE title NOT LIKE '%vampire%';

Pertanyaan ini akan mengembalikan semua buku di mana judulnya tidak mengandungi kata "vampire".

Program Klien: Menggabungkan Semua

Sekarang kita telah belajar semua trick yang menarik, mari lihat bagaimana kita mungkin menggunakannya dalam kes real dunia. Imajina anda membina sistem cadangan buku untuk perpustakaan.

SELECT title, author, publication_year
FROM books
WHERE
(title LIKE '%adventure%' OR description LIKE '%journey%')
AND publication_year > 2000
AND author NOT LIKE 'John%'
ORDER BY publication_year DESC
LIMIT 10;

Pertanyaan ini melakukan banyak hal:

  1. Ia mencari buku-buku dengan "adventure" di judul atau "journey" di deskripsi.
  2. Ia hanya mengambil kira buku yang diterbitkan selepas 2000.
  3. Ia mengabaikan pengarang yang nama bermula dengan "John".
  4. Ia mengurutkan hasilnya mengikut tahun penerbitan (terbaru dahulu).
  5. Ia menunjukkan hanya 10 buku.

Menjelaskan Hasil

mari urai apa yang pertanyaan ini mungkin kembalikan:

Title Author Publication Year
Epic Space Adventure Sarah Smith 2022
The Magical Journey Alice Brown 2021
Underwater Adventures Mike Johnson 2019
... ... ...

Setiap baris mewakili buku yang memenuhi kriteria kita. Operator LIKE membantu kita menemui judul dan deskripsi yang relevan, sementara syarat lain mengecilkan carian kita untuk mendapatkan cadangan yang paling sesuai.

Kesimpulan

Dan di situ, rakyat! Anda telah memulakan petualangan anda melalui dunia operator LIKE MySQL. Ingat, latihan membawa kepada kecemerlangan, jadi jangan takut untuk mencuba kombinasi yang berbeza.

Anggap setiap pertanyaan sebagai satu teka-teki kecil. Semakin banyak anda mainkan dengannya, semakin baik anda akan menjadi mencipta carian yang sempurna. Sebelum anda tahu, anda akan menjadi detektif pangkalan data seperti Sherlock Holmes, dapat menemui mana-mana maklumat tersembunyi di dalam jadual anda!

Terus menjelajah, terus mengguna pangkalan data, dan terutamanya, terus bersenang-senang dengan pangkalan data. Mereka bukan hanya baris dan kolom - mereka adalah harta pengetahuan yang menunggu untuk ditemui. Selamat coding!

Credits: Image by storyset