MySQL - Tipe Boolean: Panduan untuk Pemula
Hai teman-teman, para ahli basis data masa depan! Hari ini, kita akan melihat dunia yang menarik dari tipe Boolean di MySQL. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan yang ramah untuk Anda dalam perjalanan ini, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil secangkir minuman favorit Anda, dan mari kita mulai!
Apa Itu Tipe Boolean?
Sebelum kita masuk ke spesifikasi MySQL, mari kita mengerti apa itu Boolean. Bayangkan Anda sedang bermain permainan sederhana "ya" atau "tidak" dengan seorang teman. Itu sebenarnya apa arti Boolean dalam pemrograman - hanya bisa memiliki dua nilai kemungkinan: benar atau salah.
Dalam aplikasi dunia nyata, Boolean sangat berguna. Mereka dapat mewakili:
- Apakah pengguna masuk atau tidak
- Apakah produk dalam stok
- Apakah siswa lulus ujian
Sekarang, mari kita lihat bagaimana MySQL menangani konsep ini.
Boolean di MySQL
Disini ada sesuatu yang agak aneh - MySQL tidak memiliki tipe BOOLEAN asli! Ya, saya tahu, itu terdengar membingungkan. Tetapi jangan khawatir, MySQL memiliki solusi yang cerdik.
Di MySQL, BOOLEAN sebenarnya ditangani sebagai sinonim untuk TINYINT(1). Ini berarti ketika Anda membuat kolom BOOLEAN, MySQL diam-diam membuat kolom TINYINT(1) saja.
mari kita lihat ini dalam praktek:
CREATE TABLE game_status (
id INT AUTO_INCREMENT PRIMARY KEY,
game_name VARCHAR(50),
is_completed BOOLEAN
);
INSERT INTO game_status (game_name, is_completed) VALUES
('Chess', TRUE),
('Monopoly', FALSE),
('Scrabble', TRUE);
SELECT * FROM game_status;
Ketika Anda menjalankan pernyataan SELECT ini, Anda mungkin terkejut untuk melihat:
+----+-----------+--------------+
| id | game_name | is_completed |
+----+-----------+--------------+
| 1 | Chess | 1 |
| 2 | Monopoly | 0 |
| 3 | Scrabble | 1 |
+----+-----------+--------------+
Tunggu sebentar! Dimana nilai TRUE dan FALSE kami? Ingat apa yang saya katakan tentang BOOLEAN yang ditangani sebagai TINYINT(1)? Ini apa yang terjadi:
- TRUE disimpan sebagai 1
- FALSE disimpan sebagai 0
Itu seperti MySQL sedang bermain permainan rahasia "1 berarti ya, 0 berarti tidak" di belakang layar!
Mengganti BOOLEAN 0,1 dengan TRUE dan FALSE
Sekarang, Anda mungkin berpikir, "Tapi saya ingin melihat TRUE dan FALSE di dalam hasil saya!" Jangan khawatir, MySQL memiliki solusi untuk Anda. Kami dapat menggunakan pernyataan CASE untuk mengonversi angka 0 dan 1 kembali ke TRUE dan FALSE:
SELECT
id,
game_name,
CASE
WHEN is_completed = 1 THEN 'TRUE'
ELSE 'FALSE'
END AS is_completed
FROM game_status;
Ini akan memberikan Anda hasil yang lebih mudah dibaca:
+----+-----------+--------------+
| id | game_name | is_completed |
+----+-----------+--------------+
| 1 | Chess | TRUE |
| 2 | Monopoly | FALSE |
| 3 | Scrabble | TRUE |
+----+-----------+--------------+
Buatannya jauh lebih baik, kan? Itu seperti kita telah memberikan MySQL seorang penerjemah kecil untuk berbicara dalam bahasa kita!
Operator Boolean Menggunakan Program Klien
Sekarang kita mengerti bagaimana MySQL menangani Boolean, mari kita lihat beberapa operator Boolean. Ini seperti aturan permainan "ya/tidak" kita, memberitahu MySQL bagaimana untuk menggabungkan atau memanipulasi nilai Boolean.
Berikut adalah operator Boolean utama di MySQL:
Operator | Deskripsi |
---|---|
AND | Benar jika keduanya benar |
OR | Benar jika salah satu benar |
NOT | Membalik nilai Boolean |
XOR | Benar jika hanya satu benar |
mari kita lihat ini dalam praktek dengan tabel game_status:
-- Operator AND
SELECT * FROM game_status WHERE is_completed = TRUE AND game_name = 'Chess';
-- Operator OR
SELECT * FROM game_status WHERE is_completed = TRUE OR game_name = 'Monopoly';
-- Operator NOT
SELECT * FROM game_status WHERE NOT is_completed;
-- Operator XOR
SELECT * FROM game_status WHERE is_completed XOR game_name = 'Monopoly';
mari kitauraikan ini:
- Pernyataan AND hanya akan mengembalikan baris di mana permainan selesai DAN nama permainan adalah 'Chess'.
- Pernyataan OR akan mengembalikan baris di mana permainan selesai ATAU nama permainan adalah 'Monopoly'.
- Pernyataan NOT akan mengembalikan baris di mana permainan tidak selesai (ingat, ini berarti is_completed = 0).
- Pernyataan XOR akan mengembalikan baris di mana permainan selesai atau nama permainan adalah 'Monopoly', tapi tidak keduanya.
Operator ini adalah blok bangunan dari permintaan yang lebih kompleks. Mereka memungkinkan Anda untuk mengajukan pertanyaan yang sangat spesifik kepada data Anda, seperti seorang detektif yang menyusun bukti!
Kesimpulan
Dan itu adalah dia, teman-teman! Kita telah berpergian melalui negeri Boolean MySQL, dari implementasinya yang unik sebagai TINYINT(1) hingga operator kuat yang membantunya untuk mengquery data kita.
Ingat, di dunia basis data, segala sesuatu adalah 1 atau 0, TRUE atau FALSE. Itu seperti basis data sedang bermain permainan besar "ya/tidak" dengan data kita. Dan sekarang, Anda memiliki alat untuk ikut bermain!
Sebagai Anda terus melanjutkan petualangan MySQL Anda, Anda akan menemukan bahwa konsep Boolean ini muncul di mana-mana. Mereka adalah saus rahasia yang membantu kita menyaring data, membuat keputusan dalam kode kita, dan akhirnya membangun aplikasi yang kuat dan dinamis.
Jadi, majulah, murid-muridku, dan semoga permintaan Anda selalu mengembalikan TRUE (kecuali Anda ingin mereka mengembalikan FALSE, tentu saja)!
Credits: Image by storyset