मैं के रूप में mysql में बूलियन जानता था tinyint (1)
।
आज मुझे एक पूर्णांक की तरह एक तालिका दिखाई देती है tinyint(2)
, और अन्य जैसे int(4)
, int(6)
...
प्रकार पूर्णांक और टिनील के क्षेत्र में आकार का क्या अर्थ है?
मैं के रूप में mysql में बूलियन जानता था tinyint (1)
।
आज मुझे एक पूर्णांक की तरह एक तालिका दिखाई देती है tinyint(2)
, और अन्य जैसे int(4)
, int(6)
...
प्रकार पूर्णांक और टिनील के क्षेत्र में आकार का क्या अर्थ है?
जवाबों:
इसका अर्थ है प्रदर्शन चौड़ाई
चाहे आप टिंटिंट (1) या टिनींट (2) का उपयोग करते हैं, इससे कोई फर्क नहीं पड़ता।
मैं हमेशा टिनीट (1) और इंट (11) का उपयोग करता हूं, मैंने कई mysql क्लाइंट (नाविक, सीक्वल प्रो) का उपयोग किया।
यह सभी पर कुछ भी मतलब नहीं है! मैंने एक परीक्षण चलाया, ऊपर के सभी ग्राहकों या यहां तक कि कमांड-लाइन क्लाइंट को भी इस पर ध्यान नहीं दिया गया।
लेकिन, यदि आप विकल्प का उपयोग कर रहे हैं तो प्रदर्शन चौड़ाई सबसे महत्वपूर्ण ZEROFILL
है, उदाहरण के लिए आपकी तालिका में 2 कॉलम हैं:
एक टिनींट (2) ज़ेरोफिल
बी छोटे (4) शून्य
दोनों स्तंभ 1 का महत्व है, स्तंभ के लिए उत्पादन एक होगा 01
और 0001
के लिए बी , स्क्रीनशॉट में देखा के रूप में नीचे :)
(m)
कॉलम प्रदर्शन चौड़ाई इंगित करता है, क्वेरी परिणाम दिखाते समय MySQL क्लाइंट जैसे एप्लिकेशन इसका उपयोग करते हैं।
उदाहरण के लिए:
| v | a | b | c |
+-----+-----+-----+-----+
| 1 | 1 | 1 | 1 |
| 10 | 10 | 10 | 10 |
| 100 | 100 | 100 | 100 |
यहाँ a
, b
और c
प्रयोग कर रहे हैं TINYINT(1)
, TINYINT(2)
और TINYINT(3)
क्रमशः। जैसा कि आप देख सकते हैं, यह डिस्प्ले की चौड़ाई का उपयोग करके बाईं ओर के मानों को पैड करता है।
यह ध्यान रखना महत्वपूर्ण है कि यह उस विशेष प्रकार के मूल्यों की स्वीकृत सीमा को प्रभावित नहीं करता है, अर्थात TINYINT(1)
अभी भी स्वीकार करता है [-128 .. 127]
।
mysql> CREATE TABLE tin3(id int PRIMARY KEY,val TINYINT(10) ZEROFILL);
Query OK, 0 rows affected (0.04 sec)
mysql> INSERT INTO tin3 VALUES(1,12),(2,7),(4,101);
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM tin3;
+----+------------+
| id | val |
+----+------------+
| 1 | 0000000012 |
| 2 | 0000000007 |
| 4 | 0000000101 |
+----+------------+
3 rows in set (0.00 sec)
mysql>
mysql> SELECT LENGTH(val) FROM tin3 WHERE id=2;
+-------------+
| LENGTH(val) |
+-------------+
| 10 |
+-------------+
1 row in set (0.01 sec)
mysql> SELECT val+1 FROM tin3 WHERE id=2;
+-------+
| val+1 |
+-------+
| 8 |
+-------+
1 row in set (0.00 sec)
INT, TINYINT के बारे में ... ये विभिन्न डेटा प्रकार हैं, INT 4-बाइट संख्या है, TINYINT 1-बाइट संख्या है। यहाँ अधिक जानकारी - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT ।
TINYINT डेटा प्रकार का सिंटैक्स TINYINT (M) है, जहां M अधिकतम प्रदर्शन चौड़ाई को इंगित करता है (इसका उपयोग केवल तभी किया जाता है जब आपका MySQL क्लाइंट इसका समर्थन करता है)।