Agar d harga kosong terisi nol di database 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

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

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

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.

Bagikan artikel ini jika bermanfaat !

Pada field sebuah tabel terdapat opsi NULL yang memungkinkan record yang dimasukkan tidak memiliki nilai atau NULL. NULL berbeda dengan nilai kosong. Nilai kosong masih memiliki sebuah nilai yaitu string tanpa teks. Untuk lebih jelasnya lihat contoh record pada tabel pegawai berikut ini.

Pada tabel pegawai, terdapat record yang nilai field email berisi alamat email, kosong, dan NULL.

SELECT id,nama,email FROM pegawai;

+----+-----------------+-------------------+

|id|nama            |email             |

+----+-----------------+-------------------+

|  1|Agus Salim      |agus@salim.id     |

|  2|Budi Setiawan   |budi@awan.id      |

|  3|Hendra Hidayat  |hendra@hidayat.id|

|  4 |Wahyuni Yulia   |                   |

|  5|Irma Astuti     |                   |

|  6|Made Rizky      |NULL              |

|  7|Anggraini Wulan|NULL              |

+----+-----------------+-------------------+

Menampilkan record yang field email bernilai kosong.

SELECT id,nama,email FROM pegawai WHERE email="";

+----+---------------+-------+

|id|nama          |email|

+----+---------------+-------+

|  4|Wahyuni Yulia|       |

|  5|Irma Astuti   |       |

+----+---------------+-------+

Menampilkan record dengan nilai field NULL tidak bisa menggunakan ‘field = NULL’

SELECT id,nama,email FROM pegawai WHERE email=NULL;                                                

Empty set(0.00sec)

atau ‘field = “NULL”‘

SELECT id,nama,email FROM pegawai WHERE email="NULL";                                                                                                

Empty set(0.00sec)

Tetapi menggunakan IS NULL

SELECT id,nama,email FROM pegawai WHERE email ISNULL;                                                                                                

+----+-----------------+-------+

|id|nama            | email|

+----+-----------------+-------+

|  6|Made Rizky      | NULL  |

|  7|Anggraini Wulan|NULL  |

+----+-----------------+-------+

Menampilkan record yang bukan NULL

SELECT id,nama,email FROM pegawai WHERE email ISNOTNULL;

+----+----------------+-------------------+

|id|nama           |email             |

+----+----------------+-------------------+

|  1|Agus Salim     |agus@salim.id     |

|  2|Budi Setiawan  | budi@awan.id      |

|  3|Hendra Hidayat|hendra@hidayat.id|

|  4 |Wahyuni Yulia  |                   |

|  5|Irma Astuti    |                   |

+----+----------------+-------------------+

Menampilkan record yang bukan NULL dan bukan kosong

SELECT id,nama,email FROM pegawai WHERE email ISNOTNULLANDemail!="";

+----+----------------+-------------------+

|id|nama           |email             |

+----+----------------+-------------------+

|  1|Agus Salim     |agus@salim.id     |

|  2|Budi Setiawan  | budi@awan.id      |

|  3|Hendra Hidayat|hendra@hidayat.id|

+----+----------------+-------------------+

selamat mencoba 🙂

Apa itu NULL di MySQL?

NULL adalah suatu nilai pada suatu kolom yang berarti tidak mempunyai nilai. NULL tidak sama dengan 0. Sebab angka 0 mempunyai nilai yaitu bernilai 0. NULL juga tidak sama dengan text kosong. NULL adalah suatu nilai yang tidak bernilai sama sekali.

Kenapa data bisa NULL?

Biasanya data NULL ini muncul karena kita belum mengisi data pada suatu field tertentu, sedangkan field tersebut diset untuk membolehkan nilai NULL ini.

Apa itu NOT NULL pada SQL?

Atribut NOT NULL dapat digunakan pada hampir semua tipe data, Fungsinya untuk memastikan bahwa nilai pada kolom tersebut tidak boleh kosong.

Apa yang dimaksud dengan insert into?

Menambahkan satu atau beberapa data ke satu tabel. Hal ini disebut permintaan tambahan.

Postingan terbaru

LIHAT SEMUA