MySQL MariaDB

MYSQL Cari Rekod Pencocokan dengan LIKE

MYSQL Cari Rekod Pencocokan dengan LIKE
Operator MySQL LIKE menguji jika rentetan watak tertentu menyerupai corak yang disebutkan. Kami akan memadankan sebahagian dari keseluruhan data yang ada dalam segmen yang tidak perlu dipadankan dengan tepat. Kami akan mengaitkan kata kunci kami dengan urutan maklumat yang tersedia di lajur dengan menggunakan pertanyaan wildcard dalam pelbagai kombinasi. Kad Liar MySQL adalah simbol yang membantu memadankan kriteria sukar dengan hasil carian dan telah digunakan dalam kombinasi dengan operator perbandingan yang disebut LIKE atau operator kontras yang disebut TIDAK SUKA.

MySQL menyediakan dua wildcard ini untuk membina corak.

Buka shell pelanggan baris perintah MySQL yang baru dipasang dan taip kata laluan MySQL anda untuk mengusahakannya.

Kami telah membuat jadual baru yang disebut 'guru' dalam pangkalan data kami yang mempunyai catatan yang berlainan di dalamnya, seperti yang ditunjukkan di bawah.

>> PILIH * DARI data.guru;

LIKE MySQL dengan Peratus% Wildcard:

Tanda peratusan berfungsi berbeza semasa menggunakan di lokasi yang berbeza dengan huruf. Dalam contoh pertama, tanda peratusan telah digunakan di lokasi terakhir pola untuk mengambil catatan dua lajur, 'TeachName' dan 'subjek', di mana nama subjek bermula dengan 'C'. Setelah mencuba pertanyaan LIKE di bawah ini, kami mendapat hasil di bawah.

>> PILIH TeachName, subjek DARI data.guru DI MANA subjek SEPERTI 'C%';

Penggunaan tanda peratusan sebelum corak bermaksud bahawa corak akan sesuai dengan lokasi terakhir nilai. Oleh itu, kami telah mencari catatan lajur 'TeachName' dan 'subjek' di mana nama guru yang mengandungi abjad 'a' di lokasi terakhir. Kami telah menemui output di bawah.

>> PILIH TeachName, subjek DARI data.guru DI MANA Nama Pengajar SEPERTI '% a';

Sekiranya anda ingin mencari corak rentetan di tengah-tengah nilai, anda mesti meletakkan tanda peratusan pada permulaan dan akhir corak. Kami telah mencari corak 'am' di antara nama guru menggunakan pertanyaan yang dinyatakan di bawah.

>> PILIH TeachName, subjek DARI data.guru DI MANA Nama Tunjuk Nama SEPERTI '% am%';

Gunakan tanda peratusan di tengah-tengah corak untuk mencari nilai yang sepadan tanpa mengetahui apa yang terdapat di tengahnya. Kami telah memaparkan semua data yang berkaitan dengan nama guru bermula dengan 'S' dan diakhiri dengan 'a'.

>> PILIH TeachName, subjek DARI data.guru DI MANA Nama Pengajar SEPERTI 'S% a';

LIKE MySQL dengan Underscore '_' Wildcard:

Kami akan menggunakan jadual baru yang disebut 'rekod' untuk memahami pengendali wildcard garis bawah. Garis bawah wildcard '_' berfungsi sebagai satu watak apabila diletakkan di beberapa lokasi; itu sebabnya ia tidak dapat berfungsi lebih dari dua watak seperti yang dilakukan oleh peratusan operator.

>> PILIH * DARI data.rakam;

Mari dapatkan nilai yang sepadan sambil meletakkan garis bawah di akhir lokasi corak. Anda mesti menentukan bilangan watak yang tepat dalam nama tertentu. Jika tidak, pertanyaan anda tidak akan berfungsi. Kami ingin memaparkan rekod 'Nama' bermula dengan 'Za', di mana ketiga-tiga garis bawah ini bermaksud bahawa tiga watak terakhir dari nama ini boleh menjadi apa-apa, dan namanya hanya boleh terdiri daripada 5 aksara.

>> PILIH * DARI data.rakam DI MANA Nama SEPERTI 'Za___';

Letakkan operator garis bawah pada permulaan corak untuk mencari nilainya. Ini menunjukkan bahawa watak permulaan nilai rentetan boleh menjadi apa sahaja. Setelah watak yang ditentukan telah digunakan, tanda peratusan bermaksud bahawa nilai rentetan boleh panjangnya. Oleh itu, apabila kita menjalankan pertanyaan ini, ia akan mengembalikan nilai dengan panjang yang berbeza.

>> PILIH * DARI data.catat DI MANA Nama SEPERTI '___ a%';

Dalam pertanyaan di bawah, kami telah menggunakan garis bawah wildcard di tengah corak. Ini bermaksud bahawa watak sebelum abjad terakhir boleh jadi apa-apa tetapi abjad terakhir mestilah 'a'. Tanda peratusan menunjukkan bahawa tali boleh panjangnya.

>> PILIH * DARI data.rakam DI MANA Nama SEPERTI '% _a';

Kami akan menggunakan garis bawah pada permulaan dan mana-mana corak semasa mencari di lajur 'Negara'. Ini menunjukkan bahawa watak kedua corak mestilah 'u'.

>> PILIH * DARI data.rakam DI MANA Negara SUKA '_u_%';

MySQL SEPERTI dengan Operator TIDAK:

MySQL membantu anda menggabungkan operator NOT dengan LIKE operator untuk mengenal pasti rentetan yang bahkan tidak sepadan dengan urutan tertentu. Kami telah mencari catatan lajur: 'Nama', 'Kota' dan 'Negara', di mana nama Negara mesti mempunyai abjad 'i' dalam rentetan di salah satu lokasi tengah. Kami mendapat tiga keputusan untuk pertanyaan khusus ini.

>> PILIH * DARI data.catat DI MANA Negara TIDAK SUKA '% i%;

MySQL SUKA dengan Escape Characters:

Urutan yang ingin anda padankan sering kali merangkumi watak wildcard, e.g., % 10, 20, dll. Dalam senario ini, kita dapat menggunakan klausa ESCAPE untuk menentukan simbol pelarian sehingga simbol wildcard dianggap sebagai watak literal oleh MySQL. Apabila anda tidak menyebut secara khusus watak melarikan diri, pengendali pelarian standard adalah garis miring terbalik '\'. Mari cari nilai dalam jadual yang mempunyai '_20' di hujung nama bandar. Anda mesti menambah '\' sebagai watak wildcard sebelum '_20' kerana garis bawah itu sendiri adalah wildcard. Ia menunjukkan data bandar yang mempunyai '_20' di akhir nama mereka. Tanda peratusan bermaksud permulaan nama boleh panjang dan boleh mempunyai watak apa pun.

>> PILIH * DARI data.rakam DI MANA KOTA SEPERTI '% \ _ 20';

Dalam contoh di bawah, tanda '%' pada awal dan akhir digunakan sebagai pengendali wildcard seperti yang digunakan sebelumnya. Tanda '%' terakhir kedua adalah corak yang hendak dicari, dan '\' adalah watak pelarian di sini.

>> PILIH * DARI data.rakam DI MANA KOTA SEPERTI '% \ %%';

Tanda '%' adalah operator wildcard, '\' adalah watak melarikan diri dan tanda '/' terakhir adalah corak yang akan dicari pada kedudukan terakhir nama di sini.

>> PILIH * DARI data.rakam DI MANA KOTA SEPERTI '% \ /';

Kesimpulannya:

Kami telah menyelesaikannya dengan Like Clause & Wildcard, yang merupakan instrumen penting yang membantu mencari maklumat yang sesuai dengan corak yang rumit. Saya harap panduan ini dapat membantu anda mencapai matlamat sebenar anda untuk belajar pengendali LIKE dan pengendali wildcard.

SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...