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

MySQL में BIT और TINYINT में क्या अंतर है?


BIT का उपयोग 1 बिट की वैल्यू स्टोर करने के लिए किया जा सकता है। यह 0 या 1 हो सकता है। हम उदाहरण के लिए 2 को BIT डेटा टाइप के साथ स्टोर नहीं कर सकते। यदि हम BIT डेटा टाइप के साथ 2 इन्सर्ट करने का प्रयास करते हैं, तो MySQL एरर देता है।

TINYINT का उपयोग 8 बिट्स की वैल्यू स्टोर करने के लिए किया जा सकता है। हम जो अधिकतम वैल्यू स्टोर कर सकते हैं वह 127 है। हम उदाहरण के लिए 987 को 8 बिट वैल्यू के साथ स्टोर नहीं कर सकते। यदि हम TINYINT डेटा टाइप के साथ 987 इन्सर्ट करने का प्रयास करते हैं, तो MySQL एरर देता है।

आइए इसे MySQL वर्जन 8.0.12 के माध्यम से समझते हैं।

आपके सिस्टम पर इंस्टॉल वर्जन चेक करने के लिए।

mysql> select version();

आउटपुट निम्न है।

+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

BIT टाइप

BIT टाइप के साथ टेबल बनाना।

mysql> create table BitDemo 
-> ( 
-> Id BIT 
-> ); 
Query OK, 0 rows affected (0.56 sec)

'BitDemo' टेबल में रिकॉर्ड्स इन्सर्ट करना।

mysql> insert into BitDemo values(1); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into BitDemo values(0); 
Query OK, 1 row affected (0.33 sec)

जब भी हम 2 को Bit में इन्सर्ट करते हैं तो एरर मिलती है।

mysql> insert into BitDemo values(2); 
ERROR 1406 (22001): Data too long for column 'Id' at row 1

TINYINT

TINYINT डेटा टाइप के साथ टेबल बनाना।

mysql> create table TinyIntDemo 
-> ( 
-> Id TINYINT 
-> ); 
Query OK, 0 rows affected (0.69 sec)

रिकॉर्ड्स इन्सर्ट करना।

mysql> insert into TinyIntDemo values(123); 
Query OK, 1 row affected (0.17 sec) 
mysql> insert into TinyIntDemo values(97); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into TinyIntDemo values(127); 
Query OK, 1 row affected (0.16 sec)

जब भी हम 127 से अधिक वैल्यू इन्सर्ट करने का प्रयास करते हैं तो एरर मिलती है।

mysql> insert into TinyIntDemo values(9876); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1 
mysql> insert into TinyIntDemo values(987); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1 
mysql> insert into TinyIntDemo values(255); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1 
mysql> insert into TinyIntDemo values(254); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1 
mysql> insert into TinyIntDemo values(200); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1 
mysql> insert into TinyIntDemo values(199); 
ERROR 1264 (22003): Out of range value for column 'Id' at row 1

हम जो अधिकतम वैल्यू स्टोर कर सकते हैं वह 127 है।

सभी वैलिड इन्सर्टेड रिकॉर्ड्स डिस्प्ले करने के लिए, आइए SELECT कमांड का उपयोग करें।

mysql> select * from TinyIntDemo;

आउटपुट यहाँ है।

+------+
| Id   |
+------+
| 123  |
| 97   |
| 127  |
+------+
3 rows in set (0.00 sec)

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

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

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

    MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं। प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है CREATE TABLE DemoTable ( isMarried BOOLEAN ); DESC DemoTable; आउटपुट: +-----------+--

  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