← Back to MySQL Course | Chapter 3: Data Types | Lesson 6 of 8

BOOLEAN Data Type

MySQL में BOOLEAN एक light switch जैसा है जो असल में एक छोटे number की तरह stored है, 0 का मतलब off और 1 का मतलब on।
Syntax
sql
column_name BOOLEAN

BOOLEAN का Introduction

MySQL में कोई dedicated BOOLEAN storage type नहीं है; एक column को BOOLEAN declare करना बस एक shorthand है जिसे MySQL under the hood चुपचाप TINYINT(1) में convert कर देता है, TRUE को 1 और FALSE को 0 की तरह store करते हुए।

उदाहरण: Introduction to BOOLEAN

sql
CREATE TABLE users (is_active BOOLEAN);
INSERT INTO users VALUES (TRUE);

True और False Values

आप literal keywords TRUE/FALSE या raw integers 1/0 दोनों में से किसी एक इस्तेमाल करके insert या compare कर सकते हैं — MySQL उन्हें पूरी तरह interchangeable मानता है, इसलिए दोनों styles में कोई functional अंतर नहीं है।

उदाहरण: True and False Values

sql
CREATE TABLE users (is_active BOOLEAN);
INSERT INTO users VALUES (TRUE);
INSERT INTO users VALUES (1);

WHERE Clauses में Boolean

क्योंकि column असल में सिर्फ एक छोटा integer है, आप इसे एक explicit = TRUE comparison लिखे बिना सीधे एक WHERE clause में reference कर सकते हैं (जैसे WHERE is_active) — MySQL किसी भी nonzero value को truthy मानता है।

उदाहरण: Boolean in WHERE Clauses

sql
CREATE TABLE users (is_active BOOLEAN);
INSERT INTO users VALUES (TRUE), (FALSE);
SELECT * FROM users WHERE is_active;

Boolean Expressions

एक boolean-style column पर SUM() यह count करने का एक common trick है कि कितनी rows true हैं, क्योंकि MySQL खुशी से 1s और 0s को साथ add कर देता है — एक अलग COUNT(*) filter के बिना एक completion count पाने का तेज़ तरीका।

उदाहरण: Boolean Expressions

sql
CREATE TABLE tasks (is_done BOOLEAN);
INSERT INTO tasks VALUES (TRUE), (TRUE), (FALSE);
SELECT SUM(is_done) AS completed_count FROM tasks;

Boolean Default Values

किसी boolean column को एक DEFAULT value देना (आमतौर पर 0/false) ensure करता है कि हर नया row एक known, predictable state में शुरू हो बजाय application पर भरोसा करने के कि वह इसे explicitly set करना हमेशा याद रखेगा।

उदाहरण: Boolean Default Values

sql
CREATE TABLE users (id INT, is_active BOOLEAN DEFAULT 0);
INSERT INTO users (id) VALUES (1);
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. यह उम्मीद करना कि BOOLEAN एक real type है, जबकि यह TINYINT(1) की तरह stored है और 5 जैसी values रख सकता है।
  2. TRUE या 1 के बजाय true को एक string की तरह insert करना, जो एक गलत value है या 0 में convert हो जाता है।
  3. जब boolean missing हो सकता है तो IS NULL के बजाय = NULL से compare करना।
🔒

Chapter Quiz — Complete all 8 topics to unlock

0/8 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.