Fungsi not null pada mysql

Kita telah melihat perintah SQL SELECT bersama dengan klausa WHERE untuk mengambil data dari tabel MySQL. Tapi ketika kita mencoba untuk memberikan suatu kondisi yang membandingkan nilai kolom lapangan atau ke NULLtidak bekerja dengan benar.

Table of Contents

  • Menggunakan nilai NULL pada Command Prompt:
  • Penanganan Nilai NULL di PHP Script:
  • Bagaimana Menguji Nilai NULL?
  • Syntax IS NULL
  • Syntax IS NOT NULL
  • Demo Database
  • Operator IS NULL
  • Operator IS NOT NULL
  • Apa itu kueri IS NULL?
  • Video yang berhubungan

Untuk menangani situasi seperti MySQL menyediakan tiga operator

  • IS NULL: operator mengembalikan nilai true dari nilai kolom adalah NULL.
  • IS NOT NULL: operator mengembalikan nilai true nilai kolom tidak NULL.
  • <=> Operator membandingkan nilai-nilai, yang (tidak seperti operator =) ini berlaku bahkan untuk dua nilai NULL

Kondisi yang melibatkan NULL yang khusus. Anda tidak dapat menggunakan NULL = atau = NULL! Untuk mencari nilai NULL dalam kolom. Perbandingan tersebut selalu gagal karena tidak mungkin untuk mengatakan apakah atau tidak mereka adalah benar. Bahkan NULL = NULL gagal.

Untuk mencari kolom yang NULL atau tidak, menggunakan IS NULL atau IS NOT NULL.

Menggunakan nilai NULL pada Command Prompt:

Misalkan tcount_tbl tabel dalam database tutorial dan berisi dua kolom tutorial_author dan tutorial_count, mana tutorial_count NULL menunjukkan bahwa nilai tidak diketahui:

Contoh:

Coba contoh berikut:

root @ host # mysql-u root-p password; Masukkan sandi :******* mysql> tutorial penggunaan; Basis berubah mysql> membuat tabel tcount_tbl -> ( -> Tutorial_author varchar (40) NOT NULL, -> Tutorial_count INT ->); Query OK, 0 rows affected (0,05 sec) mysql> INSERT INTO tcount_tbl -> (Tutorial_author, tutorial_count) nilai ('Mahran', 20); mysql> INSERT INTO tcount_tbl -> (Tutorial_author, tutorial_count) nilai ('mahnaz', NULL); mysql> INSERT INTO tcount_tbl -> (Tutorial_author, tutorial_count) nilai ('Jen', NULL); mysql> INSERT INTO tcount_tbl -> (Tutorial_author, tutorial_count) nilai ('Gill', 20); mysql> SELECT * dari tcount_tbl; +-----------------+----------------+ | Tutorial_author | tutorial_count | +-----------------+----------------+ | Mahran | 20 | | Mahnaz | NULL | | Jen | NULL | | Gill | 20 | +-----------------+----------------+ 4 rows in set (0.00 sec) mysql>

Anda dapat melihat bahwa = dan = tidak bekerja dengan nilai-nilai NULL sebagai berikut:

mysql> SELECT * DARI MANA tcount_tbl tutorial_count = NULL; Kosong set (0.00 sec) mysql> SELECT * DARI MANA tcount_tbl tutorial_count = NULL;! Kosong set (0.01 sec)

Untuk menemukan catatan di mana kolom tutorial_count atau tidak NULL, pertanyaan harus ditulis seperti ini:

mysql> SELECT * FROM tcount_tbl -> MANA tutorial_count IS NULL; +-----------------+----------------+ | Tutorial_author | tutorial_count | +-----------------+----------------+ | Mahnaz | NULL | | Jen | NULL | +-----------------+----------------+ 2 rows in set (0.00 sec) mysql> SELECT * dari tcount_tbl -> MANA tutorial_count IS NOT NULL; +-----------------+----------------+ | Tutorial_author | tutorial_count | +-----------------+----------------+ | Mahran | 20 | | Gill | 20 | +-----------------+----------------+ 2 rows in set (0.00 sec)

Penanganan Nilai NULL di PHP Script:

Anda dapat menggunakan jika … kondisi lain untuk mempersiapkan query berdasarkan nilai NULL.

Contoh:

Contoh berikut mengambil tutorial_count dari luar dan kemudian membandingkannya dengan nilai yang tersedia dalam tabel.

<? Php $ Dbhost 'localhost: 3036' =; $ Dbuser = 'root'; $ Dbpass = 'rootpassword'; $ Conn = mysql_connect ($ dbhost, $ dbuser, $ dbpass); if ($ conn!) { die ('Tidak dapat terhubung: ". mysql_error ()); } if (isset ($ tutorial_count)) { $ Sql ​​= 'SELECT tutorial_author, tutorial_count DARI tcount_tbl MANA tutorial_count = $ tutorial_count '; } lain { $ Sql ​​= 'SELECT tutorial_author, tutorial_count DARI tcount_tbl MANA tutorial_count IS $ tutorial_count '; } mysql_select_db ('Tutorial'); $ Retval = mysql_query ($ sql, $ conn); if ($ retval!) { die ('Tidak dapat mendapatkan data:'. mysql_error ()); } sementara ($ baris = mysql_fetch_array ($ retval, MYSQL_ASSOC)) { echo "Penulis: {$ row ['tutorial_author']} <br>". "Hitung: {$ row ['tutorial_count']} <br>". "--------------------------------< Br> "; } echo "data berhasil Terambil \ n"; mysql_close ($ conn); ?>

Field dengan nilai NULL adalah field tanpa nilai.

Jika field dalam tabel bersifat opsional, dimungkinkan untuk menyisipkan catatan baru atau memperbarui catatan tanpa menambahkan nilai ke field ini. Kemudian, field akan disimpan dengan nilai NULL.

Catatan: Nilai NULL berbeda dari nilai nol atau field yang berisi spasi. Field dengan nilai NULL adalah Field yang dibiarkan kosong selama pembuatan catatan!

Bagaimana Menguji Nilai NULL?

Tidak mungkin menguji nilai NULL dengan operator perbandingan, seperti =, <, atau <>.

Kita harus menggunakan operator IS NULL dan IS NOT NULL sebagai gantinya.

Syntax IS NULL

SELECT column_names FROM table_name WHERE column_name IS NULL;

Syntax IS NOT NULL

SELECT column_names FROM table_name WHERE column_name IS NOT NULL;

Demo Database

Di bawah ini adalah pilihan dari tabel “Pelanggan” di database contoh Northwind:

PelangganIDNamaPelangganNamaKontakAlamatKotaKodePosNegara
1
Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4
Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Operator IS NULL

Operator IS NULL digunakan untuk menguji nilai kosong (nilai NULL).

SQL berikut mencantumkan semua pelanggan dengan nilai NULL di field “Alamat”:

Contoh :

SELECT NamaPelanggan, NamaKontak, Alamat FROM Pelanggan WHERE Alamat IS NULL;

Tip: Selalu gunakan IS NULL untuk mencari nilai NULL.

Operator IS NOT NULL

Operator IS NOT NULL digunakan untuk menguji nilai yang tidak kosong (nilai NOT NULL).

SQL berikut mencantumkan semua pelanggan dengan nilai di bidang “Alamat”:

Contoh :

SELECT NamaPelanggan, NamaKontak, Alamat FROM Pelanggan WHERE Alamat IS NOT NULL;

Kueri 'IS NULL' di database MySQL menunjukkan data yang hilang atau tidak diketahui oleh DMS. Nilai NULL berbeda karena tidak memiliki nilai, tidak sama dengan nol bilangan bulat atau himpunan kosong. Null adalah keadaan, bukan nilai, jika kita membandingkan nilai NULL dengan nilai NULL lainnya, hasilnya akan selalu NULL karena tidak diketahui itu sendiri. Sebuah query “IS NULL” digunakan ketika data hilang atau tidak diketahui misalnya kita membuat daftar direktori telepon, jika ada nomor telepon orang tidak diketahui maka "IS NULL" akan mengekstraknya dan nomor tersebut nantinya dapat ditambahkan untuk melengkapi direktori.

Dalam artikel ini, kita akan memahami apa itu kueri “IS NULL” dan cara kerjanya dengan beberapa contoh.

Apa itu kueri IS NULL?

Kueri IS NULL digunakan untuk mengambil data tabel yang tidak diketahui atau hilang, saat kita membuat tabel kita harus menginformasikan tabel apakah akan menerima nilai NULL dengan menggunakan “NULL query” atau tidak dengan menggunakan “NOT BATAL". Jika kita memilih batasan “NOT NULL” maka tidak akan menerima nilai NULL misalnya kita membuat tabel telepon direktori tempat kami membuat kolom "Nama", "Nomor telepon" dan "Email", kami memilih nama sebagai NULL dan nomor telepon sebagai "Tidak Batal".

MEMBUATMEJA phone_directory_1 (nama VARCHAR(50)BATAL, nomor telepon INT(50)BUKANBATAL, surel VARCHAR(50));

Sekarang kita akan memasukkan nilai dan membiarkan nilai kosong dari Name dan Phone_number.

MEMASUKKANKE DALAM phone_directory_1 NILAI(batal,batal,[dilindungi email]);

Kita dapat melihat bahwa itu menghasilkan kesalahan tidak menerima nilai NULL di kolom “Phone_number” karena diinisialisasi dengan nilai “NOT NULL”. Sekarang buat tabel lain dengan nilai "NULL".

MEMBUATMEJA telepon_direktori_2 (nama VARCHAR(50)BATAL, nomor telepon INT(50)BATAL, surel VARCHAR(50));

Sekali lagi masukkan data di dalamnya seperti nilai Null di "nama" dan "nomor_telepon" juga beberapa nilai di "email".

MEMASUKKANKE DALAM telepon_direktori_2 NILAI(Batal,Batal,[dilindungi email]);

Untuk melihat tabel:

PILIH*DARI telepon_direktori_2;

Tambahkan satu entri lagi ke tabel.

MEMASUKKANKE DALAM telepon_direktori_2 NILAI('Yohanes',12345,[dilindungi email]);

Sekali lagi untuk melihat tabel yang dimodifikasi.

PILIH*DARI telepon_direktori_2;

Sekarang kita akan mengekstrak nilai null dari tabel dengan menggunakan klausa “IS NULL” tetapi sebelum menggunakannya kita akan membahas sintaks umum menggunakan klausa “IS NULL”.

PILIH kolom1,kolom2,... DARI[nama_tabel]DI MANAkolomADALAHBATAL;

Mengikuti sintaks umum, kita dapat mengambil nilai NULL dari kolom Name dengan menjalankan perintah.

PILIH nama, nomor telepon,surel DARI Telepon_direktori_baru DI MANA Nama ADALAHBATAL;

Dari output, kita dapat melihat nilai kolom di mana "nama" adalah Null telah diekstraksi. Untuk memahaminya lebih jelas, kami mengedit entri baru di mana hanya kolom "Nomor_Telepon" yang nol.

MEMASUKKANKE DALAM telepon_direktori_2 NILAI('Alex',Batal,[dilindungi email]);

Untuk melihat kolom.

PILIH*DARI telepon_direktori_2;

Kami akan mengekstrak semua nilai NULL dari kolom Phone_number menggunakan klausa “IS NULL”.

PILIH nama, nomor telepon,surel DARI telepon_direktori_2 DI MANA nomor telepon ADALAHBATAL;

Ini menampilkan semua nilai nol dari kolom "Phone_number". Telah dibersihkan dari contoh di atas bahwa klausa "IS NULL" digunakan untuk mengekstrak nilai nol dari kolom tabel.

Kesimpulan

Terkadang pengguna meninggalkan entri karena kesalahan yang dianggap sebagai nilai NULL. Untuk mengekstrak nilai null tersebut dan mengeditnya kembali, kami menggunakan klausa “IS NULL”. Pada artikel ini, kita telah membahas apa perbedaan dalam pembuatan tabel menggunakan klausa NULL atau NOT NULL dan juga menjelaskan apa itu kueri "IS NULL" dan bagaimana kita dapat menggunakannya untuk mengekstrak nilai nol dari kolom meja.

Apa fungsi NOT NULL?

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

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.

Apa itu constraint NOT NULL?

Constraint NOT NULL digunakan untuk memaksa kolom untuk tidak menerima nilai NULL, yang berarti tidak dapat memasukkan atau memperbarui record tanpa menambahkan nilai ke field ini.

Apa fungsi dari NULL pada field di dalam tabel?

Apa itu Nilai NULL? Field dengan nilai NULL adalah field tanpa nilai. Jika field dalam tabel bersifat opsional, dimungkinkan untuk menyisipkan catatan baru atau memperbarui catatan tanpa menambahkan nilai ke field ini. Kemudian, field akan disimpan dengan nilai NULL.