{Makale Yılmaz CANKAYA tarafından Mysql dersleri altkategorisine eklendi}
23:51:42 | 20 Ekim 2010
Mysql veritabanında sizelere güzel bir ifadenin açıklamasını yapmaya çalışacağım. Bu ifade LIKE ifadesidir. Like, veritabanı kodlamasında arama işlemlerini yapmamıza yardımcı olur.
Bu arama işlemleri için ek olarak bazı joker karakter kullanmamız gerekiyor.Tabi öncelikle söz dizimi olarak like ifadesinin nasıl kullanıldığını görmemiz gerekiyor.
Like ifadesinin kullanımı: SELECT <sütun adı> FROM <tablo adı> WHERE <aranacak sütun> LIKE <kriter>
Kriter olarak yazdığımız yere Like ifadesinde bağlı joker karakterler gelmektedir. Şimdi size altaki tabloda bu karakterler ve anlamlarını yazmaya çalışacağım.
Joker karakterler:
%
:
Herhangi uzunlukta karakter
_
:
Herhangi tek karakter
[]
:
Belirtilen aralıkta herhangi bir karakter
[^]
:
Belirtilen aralıkta olmayan herhangi bir karakter
Tabi şimdi diyeceksiniz bu tabloyla ben ne anlayım :) ,bunun cevabı olarak da ben sizlere bu ifadenin örneklerle anlatacağını söyleyebilirim. Örnek olarak elimizde bir öğrenciler tablosu olsun ve biz bu tablonun belirli sütundan(ad sütununda) baş harfi A ile başlayan öğrencileri listeleyelim.
Örnek: SELECT * FROM ogrenciler WHERE ad LIKE 'A%'
Bir örnekle bu tablo açıklanamaz diyenler içinde yeni örneğimiz veritabanındaki öğrencilerin adı C veya K ile başlayanları listelemeye çalışalım.
Örnek: SELECT * FROM ogrenciler WHERE ad LIKE '[CK]%'
Şimdi uzun uzun tüm joker karakterler ve bunlar ile ilgili örnek yapmak isterdim ama şuan vaktim yok o yüzden bu karakterler ve anlamlarını alttaki tabloda bulabilirsiniz.
Karakterler ve anlamları:
LIKE ‘BR%’
:
İlk iki harfi BR olan tüm kayıtlar
LIKE ‘BR%’
:
İlk iki harfi Br olan tüm kayıtlar
LIKE ‘%een’
:
Son üç harfi een olan tüm kayıtlar
LIKE ‘%en%’
:
İçerisinde en ifadesi geçen tüm kayıtlar
LIKE ‘_en’
:
Son iki harfi en olan üç harften oluşan tüm kayıtlar
LIKE ‘[CK]%’
:
C veya K harfleriyle başlayan tüm kayıtlar
LIKE ‘[S-V]ing
:
ing ile biten ve ilk harfi S ile V harfleri arasında olan dört harfli herhangi kelime
LIKE ‘M[^c]%’
:
M ile başlayan ikinci harfi c olmayan tüm kayıtlar
Son örnekle sizlere veda edim, şimdi ise öğrenciler tablosundan isminin içinde AK olan tüm öğrencileri listelemeye çalışalım.
Örnek: SELECT * FROM ogrenciler WHERE ad LIKE '%AK%'