Senin, 27 Februari 2012

Mencegah Data NULL di MySQL

Dalam artikel ini, akan dipaparkan bagaimana cara mencari data NULL ini dalam MySQL.
Oya.. artikel ini saya tulis berdasarkan pengalaman pribadi ketika mengemban tugas negara  (Halah.. kelihatan kalo didramatisir)

Di sini saya akan mengambil contoh sederhana, misalkan kita memiliki tabel ‘mhs’ dengan struktur sebagai berikut
Struktur Tabel dengan NULL
Bila kita perhatikan struktur tabel di atas, maka untuk field ‘alamat’, ‘sex’, dan ‘tgllhr’ membolehkan adanya nilai NULL ini.
Nah.. selanjutnya misalkan kita mengentri beberapa data atau record ke dalam tabel tersebut sebagaimana tampak pada gambar di bawah ini
Data dengan NULL
Dalam contoh tersebut, data mahasiswa bernim ‘M0004′ dan ‘M0005′ sengaja saya buat beberapa nilai kosong pada ketiga field yang membolehkan NULL.
Kemudian, yang menjadi pertanyaan adalah bagaimana cara mencari data mahasiswa yang memiliki nilai NULL tersebut, misalnya pada field ‘alamat’. Siapa sajakah mahasiswa yang alamatnya masih NULL alias belum diisi?
Nah.. untuk mencari mahasiswa dengan alamat masih NULL ini, Anda tidak bisa menggunakan query SQL sebagai berikut
SELECT * FROM mhs WHERE alamat = '';
Bila Anda gunakan query SQL di atas, maka tidak akan muncul hasil yang diharapkan. Ingat !! nilai atau data NULL bukanlah string kosong (empty string).
Lantas.. bagaimana caranya? Caranya adalah dengan menggunakan ‘IS NULL’.
SELECT * FROM mhs WHERE alamat IS NULL;
Bila Anda jalankan query di atas, maka akan menampilkan dua buah record terkait dengan alamat yang NULL sebagaimana tampak pada gambar berikut ini
Data dengan NULL
Untuk mencegah adanya nilai NULL ini, Anda bisa hindari ketika mengcreate tabel pertama kali yaitu dengan menambahkan NOT NULL pada properti fieldnya
CREATE TABLE mhs (
  nim varchar(5) NOT NULL,
  nama varchar(20) NOT NULL,
  alamat text NOT NULL,
  sex varchar(1) NOT NULL,
  tgllahir date NOT NULL,
  PRIMARY KEY(nim)
)
Lantas.. mungkin Anda bertanya dalam hati. Misalkan suatu field diset NOT NULL (tidak boleh ada NULL), maka bagaimana jika field tersebut tidak diisi? Nah… bila field tersebut tidak diisi, maka isi nilainya (default value) adalah karakter kosong (empty string) jika tipe data fieldnya karakter, atau akan bernilai 0 jika tipe datanya berupa bilangan, atau bernilai ’0000-00-00′ untuk tipe data date.
Trus.. bagaimana bila sudah telanjur menset suatu field bisa menerima NULL menjadi tidak membolehkan NULL? Nah.. ubah saja properti field tersebut dengan perintah ALTER seperti contoh berikut ini
ALTER TABLE mhs CHANGE alamat alamat TEXT NOT NULL;
Perintah SQL di atas untuk mengubah status yang membolehkan NULL menjadi NOT NULL pada field ‘alamat’ dalam tabel ‘mhs’.
atau secara umum sintaksnya adalah
ALTER TABLE namatabel CHANGE namafield namafield tipedatafield NOT NULL;
OK paham ya dengan penjelasan di atas? Mudah-mudahan artikel di atas berguna bagi Anda yang sedang pusing dengan cara mencari data NULL dan cara menghindarinya.

Artikel Terkait di Bawah posting

0 comments:

Posting Komentar