Mysql'de If Koşulunun Kullanımı

OfisSoft

Asistan
Katılım
14 Ekim 2008
Mesajlar
135
Reaksiyon puanı
4
Puanları
0
If, Else If, Else yapısı hemen hemen her dilde bulunuyor. Ancak Mysql'de bu koşulun olduğundan habersiz bir çok kişi, mysql'den verileri çektikten sonra Php, Asp.net, Ruby On Rails, Python vb. bir çok server side (sunucu taraflı) dili kullanarak verileri ayıklama, değişkenlere atayarak kullanma vb. yolu tercih ediyor. Bu da gereksiz yere fazla kod yazılmasına, kaynak tüketimine ve dolayısıyla performans kaybına neden olabiliyor. (Küçük çaplı sistemlerde elbette çok önemli değil ama çok fazla kişinin gireceği sistemleri düşünürseniz performans kaybı yaşamamak için en küçük olasılıkları bile değerlendirmek gerekiyor)

63132478e5e77804962fdb21da78ff9766ba39fa


"Kategoriler" isminde ve id, ad, durum kolonlarından oluşan bir tablomuz olsun. Burada "durum" isimli kolonumuzun kategorinin "Aktif" veya "Pasif" durumunu temsil ettiğini düşünebilirsiniz. (Eğer kategori 0 ise yayında gözükmesin, 1 ise yayında gözüksün vb.) Bu tabloyu yönetim panelinde listelerken kategori adının ve durumunun listelenmesi gerekir. Bunun için durumu tablodan 0,1 gibi integer değerler ile alıp php vb. dilde if yazmak yerine biz direk mysql'den "aktif" veya "pasif" şeklinde alacağız.

IF KOŞULUNUN KULLANIMI :

PHP:
IF(KOŞUL, DOĞRUYSA BU DEĞERİ AL, YANLIŞSA BU DEĞERİ AL)

ÖRNEK KOD

PHP:
SELECT  
ad,  
IF(durum = 1,'Aktif','Pasif') AS durum  
FROM  
kategoriler

ÖRNEK KODUN ÇIKTISI

8c9c75ff4926af9a38ee323ca3f56754216591da


NOT : Stored Procedure içinde if koşulunu çok daha gelişmiş bir biçimde kullanabiliyoruz. Ancak henüz Stored Procedure ile ilgili bilgi paylaşmadığım için bu konuyu ileride anlatacağım.

KAYNAK : http://www.webteders.com/blog/detay/Mysql-de-If-Kosulunun-Kullanimi/43
 
Üst