Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में TINYINT(1) और Boolean में क्या अंतर है?

MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं

MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं।

प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है

CREATE TABLE DemoTable (
    isMarried BOOLEAN
);

DESC DemoTable;

आउटपुट:

+-----------+------------+------+-----+---------+-------+
| Field     | Type       | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+-------+
| isMarried | tinyint(1) | YES  |     | NULL    |       |
+-----------+------------+------+-----+---------+-------+

जैसा कि आप देख सकते हैं, BOOLEAN घोषित करने पर भी MySQL इसे tinyint(1) के रूप में दिखाता है।

डेटा डालना और पढ़ना

INSERT INTO DemoTable VALUES (TRUE);
INSERT INTO DemoTable VALUES (FALSE);

SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| isMarried |
+-----------+
| 1         |
| 0         |
+-----------+

मुख्य बिंदु

  • TRUE = 1, FALSE = 0 के रूप में स्टोर होता है
  • BOOLEAN, BOOL, TINYINT(1) — सभी समान हैं
  • स्टोरेज: 1 बाइट
  • रेंज: -128 से 127 (साइन्ड) या 0 से 255 (अनसाइन्ड)

कौन सा उपयोग करें?

सिमेंटिक क्लैरिटी के लिए BOOLEAN या BOOL का उपयोग करें — यह कोड को अधिक पठनीय बनाता है। लेकिन आंतरिक रूप से कोई अंतर नहीं है।

नोट: अन्य डेटाबेस (जैसे PostgreSQL) में वास्तविक Boolean टाइप होता है, लेकिन MySQL में यह केवल TINYINT(1) का एलियास है।

  1. - MySQL में INT और INTEGER में क्या अंतर है?

    INT और INTEGER समानार्थी हैं MySQL में INT और INTEGER पूरी तरह से समानार्थी हैं। दोनों आंतरिक रूप से INT(11) के रूप में प्रस्तुत किए जाते हैं और समान रेंज (-2147483648 से 2147483647) का समर्थन करते हैं। INT के साथ टेबल CREATE TABLE IntDemo (Id INT); DESC IntDemo; +-------+---------+------+-----+-

  1. - MySQL में AND और && ऑपरेटर में अंतर क्या है?

    MySQL में AND और && दोनों **लॉजिकल AND** ऑपरेटर हैं और **कार्यात्मक रूप से समान** हैं। एकमात्र अंतर: AND **मानक SQL** है, && **MySQL-विशिष्ट** (स्वामित्व) सिंटैक्स है। समानता प्रदर्शन केस 1: दोनों ऑपरेंड 1 (TRUE) SELECT 1 && 1 AS Result; +--------+ | Result | +--------+ | 1 | +--------+ केस

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl