MySQL, kalıp oluşturmak için bu iki joker karakteri sağlar.
- Yüzde '%'
- Alt çizgi '_'
MySQL'in yeni yüklenen komut satırı istemci kabuğunu açın ve üzerinde çalışmak için MySQL şifrenizi yazın.
Aşağıda gösterildiği gibi, veritabanımızda farklı kayıtların bulunduğu 'öğretmen' adında yeni bir tablo oluşturduk.
>> verilerden * SEÇİN.öğretmen;
Yüzde Joker Karakterli MySQL LIKE:
Alfabe ile farklı konumlarda kullanıldığında yüzde işareti farklı çalışır. İlk örnekte, konu adının 'C' ile başladığı 'TeachName' ve 'subject' adlı iki sütunun kaydını almak için desenin son konumunda yüzde işareti kullanılmıştır. Aşağıdaki LIKE sorgusunu denedikten sonra aşağıdaki sonucu aldık.
>> SEÇ TeachName, konu FROM veri.öğretmen NEREDE konu 'C%' GİBİ;
Modelden önce yüzde işaretinin kullanılması, modelin bir değerin son konumuyla eşleşeceği anlamına gelir. Bu yüzden, öğretmen adının son konumunda 'a' alfabesini içeren öğretmen adının bulunduğu 'TeachName' ve 'subject' sütunlarının kayıtlarını arıyorduk. Aşağıdaki çıktıyı bulduk.
>> SEÇ TeachName, konu FROM veri.öğretmen NEREDE TeachName '%a' GİBİ;
Değerin ortasındaki dize desenini aramak istiyorsanız, desenin hem başına hem de sonuna yüzde işaretini yerleştirmeniz gerekir. Aşağıda belirtilen sorguyu kullanarak öğretmenlerin adları arasındaki 'am' kalıbını aradık.
>> SEÇ TeachName, konu FROM veri.öğretmen NEREDE TeachName '%am%' GİBİ;
Ortasında ne olduğunu bilmeden eşleşen bir değer aramak için desenin ortasındaki yüzde işaretini kullanın. Öğretmen ismi ile ilgili 'S' ile başlayan ve 'a' ile biten tüm verileri görüntüledik.
>> SEÇ TeachName, konu FROM veri.öğretmen NEREDE TeachName 'S%a' GİBİ;
Alt Çizgi '_' Joker Karakterli MySQL LIKE:
Alt çizgi joker operatörünü anlamak için 'kayıt' adlı yeni bir tablo kullanacağız. Joker alt çizgi '_' bir yere yerleştirildiğinde tek karakter olarak çalışır; bu yüzden yüzde operatörünün yaptığı gibi iki karakterden fazla çalışamaz.
>> verilerden * SEÇİN.kayıt;
Alt çizgiyi desen konumunun sonuna yerleştirirken eşleşen değerleri getirelim. Belirli bir addaki tam karakter sayısını tanımlamanız gerekir. Aksi takdirde sorgunuz çalışmayacaktır. Üç alt çizgi, bu ismin son üç karakterinin herhangi bir şey olabileceği ve adın sadece 5 karakterden oluşması gerektiği anlamına gelen 'Za' ile başlayan 'Ad' kayıtlarını görüntülemek istiyoruz.
>> verilerden * SEÇİN.WHERE Adı GİBİ 'Za___' kaydedin;
Değeri aramak için alt çizgi operatörünü desenin başına yerleştirin. Bu, bir dize değerinin başlangıç karakterlerinin herhangi bir şey olabileceği anlamına gelir. Belirtilen karakter kullanıldıktan sonra yüzde işareti, dize değerinin herhangi bir uzunlukta olabileceği anlamına gelir. Bu nedenle, bu sorguyu çalıştırdığımızda, farklı uzunluklardaki değerleri döndürecektir.
>> verilerden * SEÇİN.WHERE Adı GİBİ '___a%' kaydedin;
Aşağıdaki sorguda, kalıbın ortasındaki joker alt çizgiyi kullanıyoruz. Bu, son alfabeden önceki karakterin herhangi bir şey olabileceği, ancak son alfabenin 'a' olması gerektiği anlamına gelir. Yüzde işareti, dizenin herhangi bir uzunlukta olabileceğini gösterir.
>> verilerden * SEÇİN.WHERE Ad GİBİ '%_a' kaydedin;
'Ülke' sütununda arama yaparken desenin başlangıcında ve herhangi bir noktasında alt çizgiyi kullanacağız. Bu, bir kalıbın ikinci karakterinin 'u' olması gerektiğini gösterir.
>> verilerden * SEÇİN.NEREDE Ülke GİBİ '_u_%' kaydedin;
NOT Operatörü ile MySQL GİBİ:
MySQL, belirli bir diziyle eşleşmeyen bir dize tanımlamak için NOT operatörünü LIKE operatörüyle birleştirmenize yardımcı olur. 'Ad', 'Şehir' ve 'Ülke' sütunlarının kayıtlarını arıyorduk, burada Ülke adının orta konumlardan herhangi birinde dizesinde 'i' alfabesi olması gerekir. Bu özel sorgu için üç sonucumuz var.
>> verilerden * SEÇİN.Kayıt NEREDE Ülke DEĞİL '%i%;
Kaçış Karakterleri ile MySQL GİBİ:
Eşleştirmek istediğiniz dizi genellikle joker karakterler içerir, e.g., %10, 20, vb. Bu senaryoda, bir kaçış sembolü tanımlamak için ESCAPE yan tümcesini kullanabiliriz, öyle ki joker karakter MySQL tarafından değişmez bir karakter olarak ele alınır. Bir kaçış karakterinden özel olarak bahsetmediğinizde, standart kaçış operatörü ters eğik çizgi '\' olur. Şehir adlarının sonunda '_20' olan tablodaki değerleri arayalım. Alt çizginin kendisi bir joker karakter olduğundan, '_20'den önce joker karakter kaçış karakteri olarak '\' eklemelisiniz. Adlarının sonunda '_20' olan şehirlerin verilerini gösterir. Yüzde işareti, adın başlangıcının herhangi bir uzunlukta olabileceği ve herhangi bir karaktere sahip olabileceği anlamına gelir.
>> verilerden * SEÇİN.ŞEHİR GİBİ '%\_20' kaydedin;
Aşağıdaki örnekte, başlangıç ve bitişteki '%' işareti, daha önce kullanıldığı gibi joker karakter operatörü olarak kullanılmıştır. Sondan ikinci '%' işareti aranacak bir kalıptır ve '\' burada bir kaçış karakteridir.
>> verilerden * SEÇİN.ŞEHİR GİBİ '%\%%' kaydedin;
'%' işareti joker operatördür, '\' kaçış karakteridir ve son '/' işareti burada isimlerin son konumunda aranacak bir kalıptır.
>> verilerden * SEÇİN.ŞEHİR GİBİ '%\/' kaydedin;
Sonuç:
Karmaşık kalıplarla eşleşen bilgileri aramaya yardımcı olan önemli araçlar olan Like Clause & Wildcards ile yaptık. Umarım bu kılavuz, LIKE operatörlerini ve joker operatörleri öğrenme konusundaki asıl hedefinize ulaşmanıza yardımcı olmuştur.