MySQL Boolean Data Types Explained
Quick Answer
MySQL does not have a dedicated Boolean data type. Instead, it uses TINYINT(1) to represent Boolean values, where 0 means FALSE and 1 means TRUE. This approach allows Boolean logic to be implemented efficiently within MySQL tables.
Learning Objectives
- Understand how MySQL represents Boolean values internally.
- Learn how to define and use Boolean-like columns in MySQL tables.
- Recognize the differences between Boolean and numeric data types in MySQL.
Introduction
Boolean data types are essential for representing true/false or yes/no values in databases.
In MySQL, Boolean values are handled differently than in some other database systems, which can be confusing for beginners.
In MySQL, BOOLEAN is just a synonym for TINYINT(1).





