Fungsi Constraint Not NULL dan penerapannya di tabel database MySQL


Jika tutorial sebelumnya saya menulis tentang macam macam constraint dan penjelasannya kali ini saya akan lebih dalam lagi menuliskan tentang fungsi dan penerapannya. Contraint yang akan saya bahas disini adalah constraint NOT NULL. Constraint NOT NULL ini berfungsi untuk membatasi nilai yang akan dimasukkan ke dalam suatu kolom. Batasan apa yang dimaksud adalah kolom yang dipasangi constraint NOT NULL harus berisi nilai. Jadi kalau tidak berisi nilai (kosong) maka tidak akan bisa diisi data. Kosong itu bukan 0 (nol) karena nilai 0 (nol) adalah data. Berikut contohnya:

Saya masuk dulu ke database MySQL lewat terminal dengan menggunakan perintah di bawah:

 mysql -u root -p

kemudian saya akan pilih database "belajar" yang akan saya gunakan dalam tutorial ini melalui perintah:

 use belajar;

setelah itu saya akan buat tabel baru dengan nama "belajar_not_null" dengan menjalankan perintah dibawah:

 CREATE TABLE belajar_not_null (
 id INT(2) NULL, 
 data TEXT NOT NULL
 );

dari perintah di atas, maka saya akan bikin tabel dengan 2 kolom, yaitu kolom id dan kolom data. Nanti yang akan mengisi data di kedua kolom tersebut yaitu:
  • Kolom ID yang nanti hanya bisa diisi data INTEGER dengan maksimal panjangnya 2 angka. (tidak memiliki CONTRAINT NOT NULL).
  • Kolom DATA yang nanti hanya bisa diisi data TEXT, tapi harus diisi (tidak bisa tidak diisi), karena memiliki constraint NOT NULL.

hasilnya apabila dilihat melalui perintah:

 DESCRIBE belajar_not_null;

berikut tampilan hasil pembuatan tabel dengan nama belajar_not_null:


mari kita coba CONSTRAINT NOT NULL pada kolom data dengan memasukkan nilai ke tabel tersebut. Rencananya saya akan memasukkan nilai:
  • id diisi nilai 1 dan
  • data tidak diisi apapun
dengan menjalankan perintah di bawah:

 INSERT belajar_not_null (id) VALUE ('1');

maka hasilnya akan ERROR data tidak tersimpan seperti yang terlihat di gambar bawah:


sebagai informasi, data ID=1 tidak bisa disimpan di dalam tabel karena kolom dengan nama DATA tidak diisi.

Kemudian saya akan mencoba memasukkan nilai:
  • id tidak diisi apapun
  • data diisi contoh_nilai
maka saya menjalankan perintah di bawah:

 INSERT belajar_not_null (data) VALUE ('contoh_nilai');

hasilnya terlihat seperti di bawah:


perintah di atas berhasil saya eksekusi, untuk melihat apakah sudah tersimpan di dalam tabel belajar_not_null, saya menjalankan perintah:

 SELECT * FROM belajar_not_null;

hasilnya seperti berikut:


dari gambar diatas sudah terlihat kan maksud dan fungsi contraint NOT NULL? silakan mencoba dan terima kasih telah berkunjung :-)

Comments