MySQL - BIT: Menjelajah Tipe Data Binary
Hai teman-teman, para ahli basisdata masa depan! Hari ini, kita akan meluncur ke dalam dunia yang menarik dari tipe data BIT MySQL. Jangan khawatir jika Anda baru saja memulai programming - saya akan mengajarkan Anda perlahan-lahan dalam perjalanan binary ini, sama seperti yang saya lakukan untuk ribuan murid dalam tahunajaran mengajar saya. mari genggam lengan dan mulai!
Apa Itu Tipe Data MySQL BIT?
Sebelum kita masuk ke hal-hal yang mendalam, mari kita pahami apa yang dimaksudkan oleh tipe data BIT. Bayangkan Anda memiliki saklar lampu - itu hanya bisa berada dalam dua keadaan: nyala atau mati. Itu sebenarnya apa yang diwakili oleh tipe data BIT di MySQL - nilai biner yang dapat menyimpan 0 atau 1.
Fitur Utama BIT
- Itu menyimpan data biner
- Dapat menahan 1 hingga 64 bit
- Berguna untuk menyimpan nilai boolean atau operasi bitwise
Sekarang, mari lihat bagaimana kita dapat menggunakannya dalam praktek!
Membuat Tabel Dengan Kolom BIT
mari mulai dengan membuat tabel sederhana yang menggunakan tipe data BIT. Kita akan membuat tabel bernama light_switches
untuk mencatat lampu yang nyala atau mati di rumah cerdas.
CREATE TABLE light_switches (
id INT AUTO_INCREMENT PRIMARY KEY,
room VARCHAR(50),
is_on BIT(1)
);
Dalam contoh ini, is_on
adalah kolom BIT kita. (1)
menentukan bahwa kita menggunakan 1 bit untuk menyimpan data kita, yang sempurna untuk keadaan nyala/matikan.
Memasukkan Data ke Kolom BIT
Sekarang kita memiliki tabel, mari tambahkan beberapa data:
INSERT INTO light_switches (room, is_on) VALUES
('Living Room', b'1'),
('Kitchen', b'0'),
('Bedroom', b'1'),
('Bathroom', b'0');
Perhatikan sintaks b'1'
dan b'0'
. Awalan 'b' mengatakan kepada MySQL bahwa kita memasukkan nilai biner.
Mengambil Data BIT
mariambil data kita dan lihat bagaimana itu terlihat:
SELECT * FROM light_switches;
Anda mungkin melihat seperti ini:
+----+-------------+-------+
| id | room | is_on |
+----+-------------+-------+
| 1 | Living Room | 1 |
| 2 | Kitchen | 0 |
| 3 | Bedroom | 1 |
| 4 | Bathroom | 0 |
+----+-------------+-------+
Menggunakan Nilai BIT
Mengonversi BIT ke Integer
kadang-kadang, Anda mungkin ingin mengonversi nilai BIT Anda ke integer yang lebih mudah dibaca. Mari lihat bagaimana:
SELECT room, CAST(is_on AS UNSIGNED) AS light_status
FROM light_switches;
Kueri ini akan memberikan Anda:
+-------------+--------------+
| room | light_status |
+-------------+--------------+
| Living Room | 1 |
| Kitchen | 0 |
| Bedroom | 1 |
| Bathroom | 0 |
+-------------+--------------+
Menggunakan BIT dalam Syarat
Anda dapat menggunakan nilai BIT dalam klausal WHERE sama seperti tipe data lain:
SELECT room FROM light_switches WHERE is_on = b'1';
Ini akan menunjukkan semua ruangan di mana lampu menyala.
Field BIT Lebih Besar Dari 1 Bit
Ingat saat saya katakan BIT dapat menyimpan hingga 64 bit? Mari lihat contoh itu dalam aksi. Bayangkan kita membuat tabel untuk menyimpan izin pengguna:
CREATE TABLE user_permissions (
user_id INT PRIMARY KEY,
permissions BIT(8)
);
Di sini, kita menggunakan 8 bit untuk menyimpan izin berbeda. Setiap bit bisa mewakili izin berbeda:
- Bit 1: Read
- Bit 2: Write
- Bit 3: Delete
- Bit 4: Admin
- ... dan seterusnya
mari masukkan pengguna dengan izin baca dan tulis:
INSERT INTO user_permissions VALUES (1, b'00000011');
Untuk memeriksa apakah pengguna memiliki izin tertentu, kita dapat menggunakan operator bitwise:
SELECT user_id,
permissions & b'00000001' AS has_read,
permissions & b'00000010' AS has_write
FROM user_permissions
WHERE user_id = 1;
Kueri ini memeriksa apakah pengguna memiliki izin baca dan tulis dengan menggunakan operator bitwise AND.
Operasi BIT Umum
Berikut adalah tabel operasi BIT umum yang Anda mungkin temui berguna:
Operasi | Deskripsi | Contoh |
---|---|---|
& | Bitwise AND |
SELECT 5 & 1; (mengembalikan 1) |
| | Bitwise OR |
SELECT 5 | 2; (mengembalikan 7) |
^ | Bitwise XOR |
SELECT 5 ^ 1; (mengembalikan 4) |
<< | Left shift |
SELECT 1 << 2; (mengembalikan 4) |
>> | Right shift |
SELECT 4 >> 1; (mengembalikan 2) |
~ | Bitwise NOT |
SELECT ~5; (mengembalikan -6) |
Kesimpulan
Dan itu adalah, teman-teman! Kita telah berjalan melalui negeri BIT di MySQL, dari saklar nyala/matikan sederhana ke sistem izin yang lebih kompleks. Ingat, tipe data BIT mungkin kecil, tetapi sangat kuat ketika digunakan dengan benar.
Dalam tahunajaran mengajar saya, saya sering melihat murid mengabaikan kegunaan field BIT. Tetapi percayalah, saat Anda mulai menggunakannya, Anda akan menemukan semua jenis aplikasi kreatif. Itu seperti memiliki pisau Swiss Army di dalam kotak basisdata Anda!
Praktik dengan contoh ini, eksperimen sendiri, dan sebelum Anda tahu, Anda akan memanipulasi bit seperti seorang ahli. Dan siapa tahu? Mungkin suatu hari Anda akan mengajarkan ini kepada orang lain, berbagi BIT kebijaksanaan Anda (punsikan sepenuhnya dimaksudkan)!
Terus coding, tetap curiga, dan ingat - di dunia BIT, Anda selalu hanya satu flip dari kesuksesan!
Credits: Image by storyset