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!

MySQL - BIT

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

  1. Itu menyimpan data biner
  2. Dapat menahan 1 hingga 64 bit
  3. 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