কম্পিউটার টিউটোরিয়াল

MySQL-এ এক বিটের জন্য সবচেয়ে ছোট ডেটা টাইপ: BIT(1)

MySQL-এ একক বুলিয়ান/বাইনারি মান (০ বা ১) সংরক্ষণের জন্য সবচেয়ে ছোট ডেটা টাইপ হল BIT(1)। এটি ১ বিট স্টোরেজ নেয় (প্রায়াكيلই ১ বাইটে প্যাক হয়)।

সিনট্যাক্স

CREATE TABLE bit_demo (
    is_valid BIT(1)
);

টেবিল কাঠামো

SHOW CREATE TABLE bit_demo;
CREATE TABLE `bit_demo` (
  `is_valid` bit(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

ডেটা ইনসার্ট

INSERT INTO bit_demo VALUES (0), (1), (1), (0);

সিলেক্ট (রশowy বিট মান)

SELECT * FROM bit_demo;
+---------+
| is_valid|
+---------+
|         |  -- বাইনারি ডেটা, সরাসরি দেখানো যায় না
|         |
|         |
|         |
+---------+

বিট মান দেখানোর উপায়

পদ্ধতি ১: +0 (নিউমেরিক কনটেক্সট)

SELECT is_valid + 0 AS bit_value FROM bit_demo;
+-----------+
| bit_value |
+-----------+
| 0         |
| 1         |
| 1         |
| 0         |
+-----------+

পদ্ধতি ২: CAST

SELECT CAST(is_valid AS UNSIGNED) AS bit_value FROM bit_demo;

পদ্ধতি ৩: BIN() ফাংশন (বাইনারি স্ট্রিং)

SELECT BIN(is_valid) AS bit_string FROM bit_demo;
+------------+
| bit_string |
+------------+
| 0          |
| 1          |
| 1          |
| 0          |
+------------+

BIT vs TINYINT vs BOOLEAN

টাইপস্টোরেজরেঞ্জব্যবহার
BIT(1)~1 বাইট0/1স্পেস-এফিশিয়েন্ট ফ্ল্যাগ
TINYINT1 বাইট-128 to 127সাধারণ ছোট সংখ্যা
BOOLEAN1 বাইট0/1 (TINYINT(1) এলিয়াস)বুলিয়ান লজিক

BIT(N) একাধিক বিটের জন্য

CREATE TABLE bit_multi (
    flags BIT(5)  -- ৫ বিট, মান ০-৩১
);

INSERT INTO bit_multi VALUES (b'10101');  -- বাইনারি লিটারেল
SELECT flags + 0 FROM bit_multi;  -- 21

সুপারিশ

সাদা বুলিয়ান ফ্ল্যাগের জন্য BOOLEAN (হรือ TINYINT(1)) পঠনযোগ্য এবং স্ট্যান্ডার্ড। অত্য্ত বড় টেবিলে স্পেস বাঁচাতে BIT(1) ব্যবহার করুন।

  1. MySQL ডেটাবেসের জন্য সঠিক DATETIME ফরম্যাট কী?

  2. MySQL-এ টেবিলের কলাম নামগুলো পাওয়ার সিনট্যাক্স

  3. MySQL টেবিলের জন্য 'user' শব্দ ব্যবহার করা যাবে কি?

  4. MySQL-এ GROUP BY + MAX() ব্যবহার করে প্রতিটি গ্রুপের সর্বোচ্চ মান বের করা