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

Perbezaan antara null dan (null) dalam mysql

下次还敢
Lepaskan: 2024-05-01 20:03:14
asal
1093 orang telah melayarinya

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>
Salin selepas log masuk

Ini akan mengembalikan semua baris dengan nama_lajur ialah NULL.

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

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan