Skip to main content

Penggunaan Definisi dan Bukti Nilai NULL

Misteri Menyeramkan Null dalam Game Minecraft (Jun 2026)

Misteri Menyeramkan Null dalam Game Minecraft (Jun 2026)
Anonim

Pengguna yang baru ke dunia pangkalan data sering keliru dengan nilai khusus tertentu ke lapangan - nilai NULL. Nilai ini boleh didapati dalam medan yang mengandungi sebarang jenis data dan mempunyai erti yang sangat istimewa dalam konteks pangkalan data hubungan. Mungkin lebih baik untuk memulakan perbincangan kami mengenai NULL dengan beberapa perkataan mengenai NULL tidak :

  • NULL bukan nombor sifar.
  • NULL bukan nilai rentetan kosong ("").

    Sebaliknya, NULL ialah nilai yang digunakan untuk mewakili sekeping data yang tidak diketahui. Selalunya, pengaturcara pangkalan data akan menggunakan frasa "nilai NULL", tetapi ini salah. Ingat: NULL adalah nilai tidak diketahui di mana medan itu kosong.

    NULL di Dunia Nyata

    Mari kita lihat contoh mudah: jadual yang mengandungi inventori untuk pendirian buah. Katakan bahawa inventori kami mengandungi 10 epal dan tiga oren. Kami juga membeli plum, tetapi maklumat inventori kami tidak lengkap dan kami tidak tahu berapa banyak (jika ada) plum dalam stok. Menggunakan nilai NULL, kami akan mempunyai jadual inventori yang ditunjukkan dalam jadual di bawah.

    Inventori Pendirian Buah

    InventoriIDPerkaraKuantiti
    1Epal10
    2Jeruk3
    3PlumNULL

    Ia jelas tidak betul untuk memasukkan kuantiti 0 untuk rekod plum, kerana itu akan menyiratkan yang kami ada tidak plum dalam inventori. Sebaliknya, kita mungkin mempunyai beberapa plum, tetapi kita tidak pasti.

    Untuk NULL atau TIDAK NULL?

    Jadual boleh direka untuk sama ada membenarkan nilai NULL atau tidak.

    Berikut adalah contoh SQL yang mencipta jadual Inventori yang membolehkan beberapa NULLs:

    SQL MENCIPTAKAN INVENTORI TABLE (IN inventori ID INT TIDAK NULL, Item VARCHAR (20) TIDAK NULL, Kuantiti INT);

    Jadual Inventori di sini tidak membenarkan nilai NULL untuk InventoriID dan juga Perkara tiang, tetapi membenarkan mereka untuk Kuantiti kolum.

    Walaupun membenarkan nilai NULL sangat halus, nilai NULL boleh menyebabkan masalah kerana perbandingan mana-mana nilai yang mana NULL sentiasa menyebabkan NULL.

    Untuk memeriksa sama ada jadual anda mengandungi nilai NULL, gunakan IS NULL atau operator TIDAK NULL. Inilah contoh IS NULL:

    SQL SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY WHERE QUANTITY TIDAK NULL;

    Memandangkan contoh kami di sini, ini akan kembali:

    InventoriIDPerkaraKuantiti
    3Plum

    Beroperasi di NULLs

    Bekerja dengan nilai NULL sering menghasilkan hasil NULL, bergantung kepada operasi SQL. Sebagai contoh, dengan menganggap bahawa A adalah NULL:

    Pengendali Aritmetik

    • A + B = NULL
    • A - B = NULL
    • A * B = NULL
    • A / B = NULL

    Pengendali Perbandingan

    • A = B = NULL
    • A! = B = NULL
    • A> B = NULL
    • A! <B = NULL

    Ini hanya beberapa contoh pengendali yang akan sentiasa kembali NULL jika satu operan adalah NULL. Pertanyaan yang lebih kompleks wujud, dan semuanya rumit oleh nilai NULL. Titik ambil tempat ialah, jika anda membenarkan nilai NULL dalam pangkalan data anda, memahami implikasi dan pelan untuk mereka.

    Itulah NULL secara ringkas!