MySQL - Operator IS NULL

Halo sana, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia MySQL, khususnya fokus pada operator IS NULL. Jangan khawatir jika Anda baru dalam programming; saya akan mengarahkan Anda secara bertahap, seperti yang saya lakukan untuk ribuan siswa selama tahun-tahun mengajar saya. Jadi, siapkan topi thinking virtual Anda, dan mari kita masuk!

MySQL - IS NULL Operator

Operator IS NULL MySQL

Sebelum kita mulai, mari kita khayalkan Anda sedang mengatur pesta dan membuat daftar tamu. Beberapa teman Anda belum menjawab, jadi tanggapan mereka belum diketahui atau, dalam istilah basis data, NULL. Operator IS NULL adalah seperti alat Anda untuk mengetahui siapa yang belum menjawab.

Dalam MySQL, NULL mewakili nilai yang hilang atau tak diketahui. Ini bukan nol, bukan string kosong - ini adalah keabsenan nilai apa pun. Operator IS NULL membantu kita menemukan nilai yang hilang dalam basis data kita.

Ini adalah sintaks dasar:

column_name IS NULL

Mudah, kan? Tetapi mari kita lihat bagaimana kita bisa menggunakan ini dalam konteks dunia nyata.

IS NULL dengan pernyataan SELECT

Pernyataan SELECT adalah seperti kaca pembesar untuk basis data Anda. Ketika digabungkan dengan IS NULL, ini menjadi alat yang kuat untuk menemukan informasi yang hilang.

Misalnya, kita memiliki tabel students dengan kolom: id, name, dan email. Beberapa siswa belum memberikan alamat email mereka.

SELECT * FROM students WHERE email IS NULL;

Query ini akan menampilkan semua siswa yang belum memberikan alamat email mereka. Itu seperti bertanya, "Siapa yang kita perlu mengejar alamat emailnya?"

mari kitauraikan ini:

  • SELECT *: Ini berarti "pilih semua kolom"
  • FROM students: Kita mencari di tabel students
  • WHERE email IS NULL: Ini adalah kondisi kita - kita hanya mau baris tempat email hilang

Ini adalah contoh lain:

SELECT name FROM students WHERE phone_number IS NULL;

Query ini akan memberikan kita nama siswa yang belum memberikan nomor telepon mereka. Itu seperti membuat daftar " untuk dipanggil "!

IS NULL dengan fungsi COUNT()

Apa bila kita ingin mengetahui berapa banyak siswa yang belum memberikan alamat email mereka? Itu di mana fungsi COUNT() berguna.

SELECT COUNT(*) FROM students WHERE email IS NULL;

Query ini akan mengembalikan satu angka - jumlah siswa dengan alamat email yang hilang. Itu seperti bertanya, "Berapa banyak email pengingat yang saya perlu mengirim?"

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;

Query ini memberikan kita gambaran lengkap:

  • total_students: Jumlah total siswa
  • students_with_email: Jumlah siswa yang telah memberikan email
  • students_without_email: Jumlah siswa dengan email yang hilang

Itu seperti mendapatkan laporan cepat tentang kemajuan pengumpulan informasi kontak Anda!

IS NULL dengan pernyataan UPDATE

kadang-kadang, kita mungkin ingin memperbarui basis data kita untuk mengganti nilai NULL dengan sesuatu lain. Pernyataan UPDATE digabungkan dengan IS NULL dapat membantu kita melakukan ini.

UPDATE students SET email = 'tidak diberikan' WHERE email IS NULL;

Query ini mengubah semua nilai email NULL menjadi 'tidak diberikan'. Itu seperti mengisi 'N/A' pada formulir untuk informasi yang hilang.

Ini adalah contoh praktis lain:

UPDATE products SET stock = 0 WHERE stock IS NULL;

Ini bisa berguna dalam sistem inventori, asumsi NULL stock berarti kita kehabisan produk.

IS NULL dengan pernyataan DELETE

Dalam beberapa kasus, kita mungkin ingin menghapus entri dengan informasi yang hilang. Pernyataan DELETE digabungkan dengan IS NULL dapat membantu kita membersihkan basis data kita.

DELETE FROM students WHERE phone_number IS NULL AND email IS NULL;

Query ini menghapus semua catatan siswa di mana keduanya nomor telepon dan email hilang. Itu seperti membersihkan daftar kontak Anda dengan menghapus entri yang tidak dapat dihubungi.

Hati-hati dengan operasi DELETE! Selalu periksa kondisi Anda sebelum menjalankan mereka.

Operator IS NULL menggunakan Program Klien

Ketika Anda menggunakan program klien MySQL, Anda dapat menggunakan operator IS NULL dalam query Anda seperti yang kita diskusikan. Ini adalah skrip kecil yang Anda mungkin jalankan:

-- Terhubung ke basis data
USE school_database;

-- Temukan siswa dengan alamat email yang hilang
SELECT name FROM students WHERE email IS NULL;

-- Hitung siswa dengan nomor telepon yang hilang
SELECT COUNT(*) AS missing_phone_numbers FROM students WHERE phone_number IS NULL;

-- Perbarui GPA yang hilang ke 0.0
UPDATE students SET gpa = 0.0 WHERE gpa IS NULL;

-- Hapus siswa yang tidak aktif tanpa informasi kontak
DELETE FROM students WHERE last_login IS NULL AND email IS NULL AND phone_number IS NULL;

Skrip ini melakukan beberapa operasi:

  1. Memilih basis data yang akan digunakan
  2. Temukan siswa dengan email yang hilang
  3. Hitung siswa dengan nomor telepon yang hilang
  4. Perbarui GPA yang hilang ke 0.0
  5. Hapus siswa yang tidak aktif tanpa informasi kontak

Ingat, dalam program klien, Anda dapat menggabungkan operasi ini dan bahkan membuat fungsi atau prosedur yang disimpan untuk membuat manajemen basis data Anda lebih efisien.

Kesimpulan

Dan di sana Anda punya nya, murid-murid sayangku! Kita telah mengeksplorasi operator IS NULL MySQL, melihat bagaimana ia dapat digunakan dengan SELECT, COUNT(), UPDATE, dan DELETE statements. Kita telah belajar bagaimana menemukan data yang hilang, menghitungnya, memperbarui nya, dan bahkan menghapusnya jika perlu.

Ingat, nilai NULL adalah seperti arwah dalam basis data Anda - mereka mewakili informasi yang hilang. Operator IS NULL adalah detektor arwah Anda, membantu Anda menemukan dan mengelola nilai yang sulit ditemukan ini.

Sekarang, ketika Anda melanjutkan perjalanan MySQL Anda, Anda akan menemukan banyak operator dan fungsi lain untuk belajar. Tetapi untuk sekarang, pukul diri Anda sendiri karena menguasai IS NULL. Anda satu langkah lagi menuju menjadi ahli basis data!

Teruslatihan, tetap curiga, dan kodingsenang!

Credits: Image by storyset