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

क्या MySQL आंतरिक रूप से BOOL को TINYINT(1) में बदलता है?


हाँ, BOOL = TINYINT(1) समानार्थी

MySQL में BOOL और BOOLEAN डेटा टाइप आंतरिक रूप से TINYINT(1) के समानार्थी (synonym) हैं। MySQL इन्हें TINYINT(1) के रूप में स्टोर करता है।

प्रदर्शन

टेबल बनाएं:

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    |                |
+--------------------+-------------+------+-----+---------+----------------+

देखें: isAgeGreaterThan18 कॉलम का टाइप BOOL से TINYINT(1) में बदल गया है।

डेटा इन्सर्ट और रीड

mysql> INSERT INTO boolToTinyIntDemo(Name, isAgeGreaterThan18) VALUES('Larry', TRUE), ('Sam', FALSE);
mysql> SELECT * FROM boolToTinyIntDemo;
+----+-------+--------------------+
| Id | Name  | isAgeGreaterThan18 |
+----+-------+--------------------+
| 1  | Larry | 1                  |
| 2  | Sam   | 0                  |
+----+-------+--------------------+

मुख्य बिंदु

  • TRUE = 1, FALSE = 0 के रूप में स्टोर होता है
  • BOOL केवल पठनीयता के लिए है, स्टोरेज TINYINT(1) ही है
  • TINYINT(1) 1 बाइट उपयोग करता है (-128 से 127 या 0 से 255 अनसाइन्ड)
  • किसी भी गैर-शून्य मान को TRUE माना जाता है

व्यावहारिक प्रभाव


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

    Boolean और tinyint(1) के बीच मूल अंतर केवल नेमिंग कन्वेंशन में है। यदि हम कहते हैं कि हमें true या false वैल्यू चाहिए तो Boolean दिमाग में आता है, tinyint(1) के बजाय। ये डेटा टाइप सिनोनिम्स हैं। यह हम पर निर्भर करता है कि हम कौन सा डेटा टाइप उपयोग करना चाहते हैं - वैल्यूज़ 1 और 0 या true और false

  1. - MySQL में उपयोगकर्ता तभी बनाएं यदि मौजूद न हो?

    CREATE USER IF NOT EXISTS से सुरक्षित उपयोगकर्ता निर्माण MySQL 5.7.6+ में, IF NOT EXISTS क्लॉज का उपयोग करके उपयोगकर्ता केवल तभी बनाया जाता है जब वह पहले से मौजूद न हो, जिससे त्रुटि से बचा जाता है। सिंटैक्स CREATE USER IF NOT EXISTS username@host IDENTIFIED BY password; उदाहरण CREATE USER IF NOT

  1. MySQL डेटाबेस फाइलें कहां संग्रहीत करता है MySQL डेटाबेस फाइलें कहां संग्रहीत करता है

    यह जानने के लिए कि MySQL डेटाबेस फाइलें कहां संग्रहीत करता है, आप वेरिएबल @@datadir का उपयोग कर सकते हैं। क्वेरी इस प्रकार है - select @@datadir; निम्नलिखित आउटपुट पथ प्रदर्शित करता है - +---------------------------------------------+ | @@datadir | +---------------------------------------------+