MySQL'de oluşturduğumuz tablolarda sütunların NULL değer alıp alamayacaklarına karar veririz, ancak NULL olan değerleri daha sonra php gibi web uygulamalarında kullandığımızda hata almamız çok olası olduğu için NULL değerleri sorgularda tespit etmek ve gerektiğinde süzmek gerekli olabilmektedir.
NULL, boş anlamına gelmektedir. Dolayısıyla NULL olan bir değeri veri tabanından çektikten sonra üzerinde herhangi bir php işleminde kullanmanız hata almanız anlamına gelecektir. Örneğin substring işlemi uyguladığınız bir fonksiyon ya da karesini aldığınız bir fonksiyon NULL bir değer için uygulanmak istendiğinde runtime error almanıza yol açacaktır. Dolayısıyla NULL değerleri ya hiç almamak, ya da NULL değerleri yapılandırarak almak (NULL ise 1 yap gibi) gibi işlemler yapmanız yerinde olacaktır.
Veri tabanında sorgu yaparken NULL olan değerleri ya da NULL değer içeren satırları tespit edebilmek için IS NULL ya da boş olmadığına emin olmak için IS NOT NULL ifadeleri kullanılmaktadır.
Örnek olarak aşağıdaki tabloyu ele alalım:
Not: 2 ID'li satırın sıfır karakter uzunluğunda string olması NULL olduğu anlamına gelmez. mysql'de NULL olan veriler NULL ifadesi ile gösterilirler. Dolayısıyla bu tabloda NULL olan veriler sadece 4 ID'li kullanıcının ADI ve SOYADI verileridir.
Örnek 1: Üstteki tabloyu baz alarak adı NULL olmayan kullanıcıları listeleyin
Çözüm:
SELECT * FROM `tbl_uyeler2` WHERE ADI IS NOT NULL
Çıktı: 1, 3 ve 4 ID'li kullanıcılara ait satırlar
Örnek 2: Soyadı NULL olan satırları listeleyin
Çözüm:
SELECT * FROM `tbl_uyeler2` WHERE SOYADI IS NULL
Çıktı: 4 ID'li kullanıcıya ait satır
bkz: MySQL'de Select komutunda Where ifadesi kullanımı örnekleri
bkz: MySQL'de Tablodan Veri Seçmek (Select)
bkz: MySQL'de Tabloya Satır Eklemek (insert)
bkz: MySQL'de Tablo Silmek (Drop Table)
bkz: MySQL'de Yeni Tablo Oluşturmak (Create Table)
bkz: phpMyAdmin'de Database'e Yeni Tablo Eklemek