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

MySQL में एक बिट के लिए सबसे छोटा डेटा टाइप: BIT(1)

MySQL में सिंगल बिट स्टोर करने के लिए BIT(1) डेटा टाइप

बूलियन/फ्लैग मान (0 या 1) स्टोर करने के लिए सबसे कॉम्पैक्ट टाइप BIT(1) है, जो केवल 1 बिट उपयोग करता है (हालांकि डिस्क पर 1 बाइट में पैक होता है)।

सिंटैक्स

CREATE TABLE bitDemo (
    isValid BIT(1)
);

सत्यापन

SHOW CREATE TABLE bitDemo;
CREATE TABLE `bitdemo` (`isValid` bit(1) DEFAULT NULL) ENGINE=InnoDB ...

डेटा डालना

INSERT INTO bitDemo VALUES (0), (1), (1), (0);

सीधे SELECT (अप्रिंटेबल कैरेक्टर दिख सकते हैं)

SELECT * FROM bitDemo;
+---------+
| isValid |
+---------+
|         |  -- बाइनरी डेटा, टर्मिनल में खाली/गड़बड़ दिख सकता है
|         |
|         |
|         |
+---------+

मान देखने के लिए +0 या CAST उपयोग करें

SELECT isValid, isValid+0 AS numeric_value FROM bitDemo;
+---------+---------------+
| isValid | numeric_value |
+---------+---------------+
|         | 0             |
|         | 1             |
|         | 1             |
|         | 0             |
+---------+---------------+

BIT(1) vs TINYINT(1) vs BOOLEAN

टाइपस्टोरेजमान सीमानोट
BIT(1)~1 बाइट/8 मान (पैक्ड)0 या 1सबसे कॉम्पैक्ट, लेकिन डिस्प्ले के लिए +0 चाहिए
TINYINT(1)1 बाइट-128 से 127मानक, सीधे प्रिंट होता है
BOOLEAN1 बाइट0/1 (TINYINT(1) का पर्याय)पठनीय, एप्लिकेशन फ्रेंडली

सिफारिश

अधिकांश मामलों में TINYINT(1) या BOOLEAN उपयोग करें — पठनीयता और संगतता बेहतर। BIT(1) केवल अत्यधिक स्टोरेज-संवेदनशील मामलों (करोड़ों पंक्तियां) के लिए।

  1. - MySQL में टेबल के कॉलम नाम प्राप्त करने का सिंटैक्स

    information_schema.columns को क्वेरी करके किसी टेबल के सभी कॉलम नाम प्राप्त करें। सिंटैक्स SELECT column_name FROM information_schema.columns WHERE table_schema = yourDatabaseName AND table_name = yourTableName; नमूना टेबल बनाना CREATE TABLE DemoTable ( EmployeeId INT, EmployeeFirstName V

  1. - क्या हम MySQL टेबल के लिए 'user' शब्द का उपयोग कर सकते हैं?

    उत्तर नहीं, आप MySQL टेबल के लिए सीधे user शब्द का उपयोग नहीं कर सकते क्योंकि यह MySQL में एक आरक्षित शब्द (reserved word) है। MySQL की सिस्टम टेबल mysql.user मौजूद है। समाधान बहुवचन उपयोग करें: users (सबसे आम और अनुशंसित) बैकटिक्स उपयोग करें: `user` (काम करता है लेकिन भ्रमित कर सकता है) वर्णनात्म

  1. - MySQL तालिका में प्रत्येक मान के लिए अधिकतम (MAX) कैसे चुनें?

    MySQL में GROUP BY और MAX() का उपयोग करके प्रत्येक समूह (जैसे देश) के लिए अधिकतम मान (जैसे जनसंख्या) प्राप्त किया जा सकता है। उदाहरण देश जनसंख्या तालिका: mysql> CREATE TABLE DemoTable (CountryName VARCHAR(20), Population INT); mysql> INSERT INTO DemoTable VALUES (US, 560), (UK, 10090), (UK, 8