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

MySQL BOOL টাইপ অভ্যন্তরিতে TINYINT(1)-এ কনভার্ট হয়


MySQL-এ BOOL = TINYINT(1) - আভ্যন্তরিক রূপান্তর

MySQL-এ BOOL এবং BOOLEAN ডেটা টাইপ আসলে TINYINT(1)-র সিনোনিম (alias)। টেবিল ডেসক্রিপশনে এটি tinyint(1) হিসেবে দেখায়। TRUE=1, FALSE=0 হিসেবে স্টোর হয়।

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি (BOOL কলাম):

mysql> CREATE TABLE boolToTinyIntDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(20),
    -> isAgeGreaterThan18 BOOL
    -> );

টেবিল ডেসক্রিপশন (আন্তরিক টাইপ):

mysql> DESC boolToTinyIntDemo;
+--------------------+-------------+------+-----+---------+----------------+
| Field              | Type        | Null | Key | Default | Extra          |
+--------------------+-------------+------+-----+---------+----------------+
| Id                 | int(11)     | NO   | PRI | NULL    | auto_increment |
| Name               | varchar(20) | YES  |     | NULL    |                |
| isAgeGreaterThan18 | tinyint(1)  | YES  |     | NULL    |                |
+--------------------+-------------+------+-----+---------+----------------+

ডেটা ইনসার্ট (TRUE/FALSE):

mysql> INSERT INTO boolToTinyIntDemo(Name, isAgeGreaterThan18) VALUES('Larry', TRUE);
mysql> INSERT INTO boolToTinyIntDemo(Name, isAgeGreaterThan18) VALUES('Sam', FALSE);

ফলাফল (১/০ হিসেবে দেখাবে):

mysql> SELECT * FROM boolToTinyIntDemo;
+----+-------+--------------------+
| Id | Name  | isAgeGreaterThan18 |
+----+-------+--------------------+
| 1  | Larry | 1                  |
| 2  | Sam   | 0                  |
+----+-------+--------------------+

নোট: MySQL-এ কোনো আলাদা বুলিয়ান স্টোরেজ নেই। সব বুলিয়ান অপারেশন ০/১-এ ভিত্তিক। IS TRUE, IS FALSE, IS NOT TRUE ইত্যাদি অপারেটর আছে বুলিয়ান চেকের জন্য।

  1. MySQL-এ KEY কীওয়ার্ডের অর্থ

  2. MySQL-এ Boolean এবং tinyint(1) এর পার্থক্য কী?

  3. MySQL-এ ইউজার না থাকলে তৈরি করা (CREATE USER IF NOT EXISTS)

  4. MySQL ডেটাবেস ফাইলগুলো কোথায় স্টোর থাকে? (@@datadir)