MySQL - BIT: Memahami Tipe Data Binary

Halo teman-teman, para ahli basis data masa depan! Hari ini, kita akan manduk ke dalam dunia yang menarik dari tipe data BIT MySQL. Jangan khawatir jika Anda baru saja memulai programming – saya akan mengajarkan Anda langkah demi langkah dalam petualangan binary ini, seperti yang telah saya lakukan untuk ribuan murid dalam tahunajaran teaching saya. mari gulingkan lengan dan mulai!

MySQL - BIT

Apa Itu Tipe Data MySQL BIT?

Sebelum kita masuk ke detailnya, mari pahami apa itu tipe data BIT. Bayangkan Anda memiliki saklar lampu – itu hanya bisa dalam dua keadaan: nyala atau mati. Itu sebenarnya apa yang diwakili tipe data BIT di MySQL – nilai biner yang dapat menyimpan 0 atau 1.

Fitur Utama BIT

  1. Itu menyimpan data biner
  2. Dapat menampung 1 hingga 64 bit
  3. Berguna untuk menyimpan nilai boolean atau operasi bitwise

Sekarang, mari lihat bagaimana kita dapat menggunakan ini dalam praktek!

Membuat Tabel Dengan Kolom BIT

Mulai dari membuat tabel sederhana yang menggunakan tipe data BIT. Kita akan membuat tabel yang disebut 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.

Menyisipkan 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' memberitahu MySQL bahwa kita menyisipkan nilai biner.

Querying Data BIT

Mari ambil 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  |
+----+-------------+-------+

Bekerja Dengan Nilai BIT

Mengonversi BIT ke Integer

kadang-kadang, Anda mungkin ingin mengonversi nilai BIT Anda ke integer yang lebih mudah dibaca. Berikut adalah cara:

SELECT room, CAST(is_on AS UNSIGNED) AS light_status
FROM light_switches;

Query ini akan memberikan Anda:

+-------------+--------------+
| room        | light_status |
+-------------+--------------+
| Living Room |            1 |
| Kitchen     |            0 |
| Bedroom     |            1 |
| Bathroom    |            0 |
+-------------+--------------+

Menggunakan BIT dalam Kondisi

Anda dapat menggunakan nilai BIT dalam klausa WHERE seperti tipe data lainnya:

SELECT room FROM light_switches WHERE is_on = b'1';

Ini akan menunjukkan semua ruangan tempat lampu nyala.

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 dapat mewakili izin berbeda:

  • Bit 1: Baca
  • Bit 2: Tulis
  • Bit 3: Hapus
  • Bit 4: Admin
  • ... dan seterusnya

Mari sisipkan 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;

Query ini memeriksa apakah pengguna memiliki izin baca dan tulis menggunakan operator bitwise AND.

Operasi BIT Umum

Berikut adalah tabel operasi BIT umum yang mungkin Anda temukan berguna:

Operasi Deskripsi Contoh
& AND bitwise SELECT 5 & 1; (mengembalikan 1)
| OR bitwise SELECT 5 | 2; (mengembalikan 7)
^ XOR bitwise SELECT 5 ^ 1; (mengembalikan 4)
<< geser kiri SELECT 1 << 2; (mengembalikan 4)
>> geser kanan SELECT 4 >> 1; (mengembalikan 2)
~ NOT bitwise SELECT ~5; (mengembalikan -6)

Kesimpulan

Dan di sana Anda ada, teman-teman! Kita telah berpetualangan melalui negeri BIT di MySQL, dari saklar nyala/matikan sederhana ke sistem izin yang lebih kompleks. Ingat, tipe data BIT mungkin tampak kecil, tetapi sangat kuat saat digunakan dengan benar.

Dalam tahunajaran teaching saya, saya sering melihat murid mengabaikan kegunaan field BIT. Tetapi percayalah, saat Anda mulai menggunakannya, Anda akan menemukan banyak aplikasi kreatif. Itu seperti memiliki pisau Swiss Army di alat basis data Anda!

Latih 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 ke orang lain, berbagi BIT kebijaksanaan Anda (punsikan sepenuhnya dimaksudkan)!

Terus coding, tetap ciekaw, dan ingat – di dunia BIT, Anda selalu hanya satu flip jauh dari kesuksesan!

Credits: Image by storyset