|
Gönderen: altayalp | Tarih: 10 Ağustos 2008 Pazartesi |
|
|
Like ve not like belirttiğimiz sözcüğe benzeyen ya da benzemeyen kayıtları listelememizi sağlayan mysql cümlecikleridir. Örnek olarak uyeler isminde bir tablomuz olsun. Üyelerin adını uyeler tablomuzda ad sütununda tutuyoruz. Tablomuzda:
altayalp - engin - volkan
olmak üzere 3 adet kaydımız mevcut. Tabi siz tablomuzu daha çok kaydı bulunan, yüzlerce hatta binlerce kayıtlı bir tablo olarak düşünün. Eğer engin ismini taşıyan üyelerimizi görmek isteseydik şu şekilde bir sql sorgusu yazardık.
KOD:select * from uyeler where ad like '%engin%'
Yukarıdaki sorgu, ismi engin olan yani ad sütununda engin sözcüğü geçen kayıtları listeler. % işareti like cümleciğine kriter atamamızı sağlar. % işareti ile toplam üç kriter oluşturabiliriz.
like '%altay%' içerisinde altay sözcüğü geçen kayıtları listeler.
like '%altay' içerisinde altay sözcüğü ile biten veri bulunan kayıtları listeler.
like 'altay%' içerisinde altay sözcüğü ile başlayan veri bulunan kayıtları listeler.
Veritabanımızda bulunan kayıtların tek kelime olma zorunluluğu yoktur. Arama yaptığımız sütun text alanına sahip, içerisinde haber tarzı geniş metin bulunduran bir sütun da olabilir. Arama yaptığımız sütundaki tüm veriler kriterimize dahil edilir. Belirttiğimiz sözcük sütunda var ise kayıt listelenir.
Like cümleciğini birden fazla sütunda arama yapmak için de kullanabiliriz.
KOD:select * from uyeler where ad like '%volkan%' or ad like 'altay%'
Yukarıdaki sorgu bizim tablomuza göre hem altayalp, hem volkan adlı üyeleri listeler.
Not like kullanımı
Not like, % ile belirttiğimiz kriteri tersine çevirir. Bir nevi değil anlamı katar.
KOD:select * from uyeler where ad not like '%engin%'
Yukarıdaki sorgu ad alanında engin sözcüğü olmayan kayıtları listeler. Bizim tablomuza göre altayalp ve volkan sonucunu döndürecektir.
Şunu da belirtmek istiyorum arama sorgularında performans almak ve optimize sağlamak için mysql'in index konusunu biraz araştırmalısınız. Başka bir makalede anlatmaya çalışacağımdan burada index konusuna girmiyorum.
|
|
[ Makaleyi İndir ]
[ Yazıcı Görüntüsü ]
[ Tavsiye Et ]
[ Takibe Al ]
[ Yorum Ekle ]
|
|
Bu sayfayı Paylaşın :
del.icio.us |
Furl |
Digg |
Technorati |
Reddit |
Google Bookmarks |
Simpy
|
 
|
●
Bu Makaleye Hiç Yorum Yapılmamış
|
| |
|