MySQL - IS NULL Operator
Haiya, para pengguna basisdata masa depan! Hari ini, kita akan memulakan sebuah perjalanan yang menarik ke dunia MySQL, khususnya memfokuskan kepada operator IS NULL. Jangan bimbang jika anda baru dalam bidang programming; saya akan menghidangkan anda secara berperingkat, seperti yang saya lakukan untuk banyak murid sepanjang tahun pengajaran saya. Jadi, ambil topi fikiran maya anda, dan mari kita masuk ke dalam!
Operator IS NULL MySQL
Sebelum kita mula, mari kita bayangkan anda sedang mengorganisasi sebuah parti dan membuat senarai tetamu. Beberapa teman anda belum menjawab, jadi respons mereka adalah tidak diketahui, atau dalam istilah basisdata, NULL. Operator IS NULL adalah seperti alat anda untuk mengetahui siapa yang belum menjawab.
Dalam MySQL, NULL mewakili nilai yang hilang atau tidak diketahui. Ini bukan nol, bukan string kosong - ini adalah kekurangan nilai apa pun. Operator IS NULL membantu kita menemukan nilai yang hilang dalam basisdata kita.
Ini adalah sintaksis dasar:
column_name IS NULL
Mudah, kan? Tetapi mari kita lihat bagaimana kita dapat menggunakan ini dalam situasi dunia nyata.
IS NULL dengan Perintah SELECT
Perintah SELECT adalah seperti kaca pembesar untuk basisdata anda. Ketika digabungkan dengan IS NULL, ia menjadi alat yang kuat untuk menemukan informasi yang hilang.
Imbaskan kita ada sebuah tabel yang dipanggil students
dengan kolom: id
, name
, dan email
. Beberapa pelajar belum memberikan alamat email mereka belum.
SELECT * FROM students WHERE email IS NULL;
Kuery ini akan menunjukkan semua pelajar yang belum memberikan alamat email mereka. Itu seperti bertanya, "Siapa yang kita perlu mengejar alamat email mereka?"
mari kitauraikan ini:
-
SELECT *
: Ini berarti "pilih semua kolom" -
FROM students
: Kita mencari di tabelstudents
-
WHERE email IS NULL
: Ini adalah syarat kita - kita hanya mau baris di mana email hilang
Ini adalah contoh lain:
SELECT name FROM students WHERE phone_number IS NULL;
Kuery ini akan memberikan kita nama pelajar yang belum memberikan nombor telefon mereka. Itu seperti membuat senarai "untuk panggil"!
IS NULL dengan Fungsi COUNT()
Sekarang, apa jika kita ingin tahu berapa banyak pelajar yang belum memberikan alamat email mereka? Itu di mana fungsi COUNT() berguna.
SELECT COUNT(*) FROM students WHERE email IS NULL;
Kuery ini akan mengembalikan satu nombor - kiraan pelajar dengan alamat email yang hilang. Itu seperti bertanya, "Berapa banyak email pengingat yang saya perlu menghantar?"
Kita dapat membuat ini lebih informatif:
SELECT
COUNT(*) AS total_students,
COUNT(email) AS students_with_email,
COUNT(*) - COUNT(email) AS students_without_email
FROM students;
Kuery ini memberikan kita gambaran keseluruhan:
-
total_students
: Jumlah pelajar keseluruhan -
students_with_email
: Jumlah pelajar yang memberikan email -
students_without_email
: Jumlah pelajar tanpa email
Itu seperti mendapatkan laporan cepat tentang kemajuan pengumpulan maklumat hubungan anda!
IS NULL dengan Perintah UPDATE
kadang-kadang, kita mungkin ingin mengemaskini basisdata kita untuk menggantikan nilai NULL dengan sesuatu yang lain. Perintah UPDATE digabungkan dengan IS NULL dapat membantu kita melakukan ini.
UPDATE students SET email = 'not provided' WHERE email IS NULL;
Kuery ini mengubah semua nilai email NULL menjadi 'not provided'. Itu seperti mengisi 'Tidak Disediakan' di borang untuk maklumat yang hilang.
Ini adalah contoh praktis lain:
UPDATE products SET stock = 0 WHERE stock IS NULL;
Ini mungkin berguna dalam sistem inventori, asalkan NULL stock bermakna kita sudah kehabisan produk.
IS NULL dengan Perintah DELETE
Dalam beberapa kes, kita mungkin ingin menghapuskan entri dengan maklumat yang hilang. Perintah DELETE digabungkan dengan IS NULL dapat membantu kita membersihkan basisdata kita.
DELETE FROM students WHERE phone_number IS NULL AND email IS NULL;
Kuery ini menghapuskan semua rekod pelajar di mana nombor telefon dan email kedua-duanya hilang. Itu seperti membersihkan senarai hubungan anda dengan menghapuskan entri yang tiada cara untuk menghubungi orang itu.
Hati-hati dengan operasi DELETE! Sentiasa periksa syarat anda sebelum menjalankan mereka.
Operator IS NULL menggunakan Program Klien
Ketika anda menggunakan program klien MySQL, anda dapat menggunakan operator IS NULL dalam kuery anda seperti yang kita diskusikan. Ini adalah skrip kecil yang anda mungkin jalankan:
-- Sambung ke basisdata
USE school_database;
-- Temui pelajar dengan email yang hilang
SELECT name FROM students WHERE email IS NULL;
-- Kira pelajar dengan nombor telefon yang hilang
SELECT COUNT(*) AS missing_phone_numbers FROM students WHERE phone_number IS NULL;
-- Kemaskini GPA yang hilang ke 0.0
UPDATE students SET gpa = 0.0 WHERE gpa IS NULL;
-- Hapuskan pelajar tak aktif tanpa maklumat hubungan
DELETE FROM students WHERE last_login IS NULL AND email IS NULL AND phone_number IS NULL;
Skrip ini melakukan beberapa operasi:
- Pilih basisdata untuk digunakan
- Temui pelajar dengan email yang hilang
- Kira pelajar dengan nombor telefon yang hilang
- Kemaskini GPA yang hilang ke 0.0
- Hapuskan pelajar tak aktif tanpa maklumat hubungan
Ingat, dalam program klien, anda dapat gabungkan operasi ini dan bahkan membuat fungsi atau prosedur tersimpan untuk membuat pengurusan basisdata anda lebih efisien.
Kesimpulan
Dan di situ anda ada, murid-murid sayang! Kita telah menelusuri operator IS NULL MySQL, melihat bagaimana ia dapat digunakan dengan SELECT, COUNT(), UPDATE, dan DELETE perintah. Kita telah belajar bagaimana menemukan data yang hilang, menghitungnya, mengemaskini dan bahkan menghapuskannya jika perlu.
Ingat, nilai NULL adalah seperti hantu dalam basisdata anda - mereka mewakili maklumat yang hilang. Operator IS NULL adalah pengesan hantu anda, membantu anda menemukan dan mengurus nilai yang sukar ditemui ini.
Buat terus, kekal curi curi, dan selamat berkoding!
Credits: Image by storyset