About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • SQL
  • /
  • Cara Mencari dan Mencegah Data NULL di MySQL
SQL

Cara Mencari dan Mencegah Data NULL di MySQL

Pernahkah Anda menjumpai data NULL dalam database MySQL Anda? Data NULL bukanlah data 0 untuk numerik atau string kosong untuk karakter. Biasanya data NULL ini muncul karena kita belum mengisi data pada suatu field tertentu, sedangkan field tersebut diset untuk membolehkan nilai NULL ini.

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.

 


Article by Request

Anda belum memahami konsep pemrograman PHP Native, Python, Java, atau SQL? atau Anda belum punya ide penyelesaian dari studi kasus yang dihadapi sampai saat ini.

Silakan manfaatkan layanan Article by Request di blog ini.


Bagikan artikel ini jika bermanfaat !

Assalaamu'alaikum.. aktivitas keseharian saya mengajar di Universitas Sebelas Maret, dengan matakuliah pemrograman dan basis data. Adapun bidang penelitian saya tentang computational thinking dan computer-aided learning.

Leave a Reply