Rumah  >  Artikel  >  pangkalan data  >  Perbezaan antara null dan (null) dalam mysql

Perbezaan antara null dan (null) dalam mysql

下次还敢
下次还敢asal
2024-05-01 20:03:14799semak imbas

Dalam MySQL, NULL mewakili nilai nol dan tidak memerlukan ruang, manakala (NULL) ialah nilai rentetan kosong dan menggunakan 1 bait ruang. Perbezaan mereka termasuk: kaedah penyimpanan yang berbeza, kaedah perbandingan yang berbeza, kaedah sisipan yang berbeza, kaedah pemprosesan fungsi agregat yang berbeza, dan penggunaan indeks yang berbeza.

Perbezaan antara null dan (null) dalam mysql

Perbezaan antara NULL dan (NULL) dalam MySQL

Dalam MySQL, NULL dan (NULL) adalah kedua-dua nilai istimewa, mewakili nilai null atau tidak diketahui. Perbezaan utama antara mereka adalah seperti berikut:

1. Kaedah penyimpanan

  • NULL: ialah nilai nol sebenar dan tidak menduduki sebarang ruang dalam pangkalan data.
  • (NULL): ialah nilai rentetan, mewakili rentetan kosong, menduduki satu bait ruang dalam pangkalan data.

2. Perbandingan

  • NULL: NULL tidak boleh dibandingkan dengan mana-mana nilai, termasuk dirinya sendiri. Membandingkan dengan NULL sentiasa mengembalikan NULL.
  • (NULL): (NULL) boleh dibandingkan dengan nilai rentetan, tetapi hasil perbandingan adalah NULL.

3. Sisipkan

  • NULL: Anda boleh memasukkan nilai NULL secara eksplisit atau menggunakan DEFAULT NULL untuk menetapkan lajur untuk membenarkan nilai NULL.
  • (NULL): Hanya nilai rentetan (NULL) boleh disisipkan secara eksplisit.

4. Fungsi pengagregatan

  • NULL: Nilai NULL diabaikan oleh kebanyakan fungsi agregat (seperti SUM, AVG, COUNT).
  • (NULL): (NULL) rentetan dianggap sebagai rentetan kosong.

5. Indeks

  • NULL: NULL nilai tidak boleh digunakan dalam indeks.
  • (NULL): (NULL) rentetan boleh diindeks, tetapi kerana ia sentiasa dibandingkan dengan NULL, pengindeksan kurang cekap.

Contoh:

<code class="sql">SELECT * FROM table_name WHERE column_name IS NULL;</code>

Ini akan mengembalikan semua baris dengan nama_lajur ialah NULL.

<code class="sql">SELECT * FROM table_name WHERE column_name = (NULL);</code>

Ini akan mengembalikan set hasil tanpa baris kerana NULL tidak boleh dibandingkan dengan sebarang nilai.

Atas ialah kandungan terperinci Perbezaan antara null dan (null) dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud null dalam mysql?Artikel seterusnya:Apakah maksud null dalam mysql?