BIGINT(8) में 8 का अर्थ
नहीं, BIGINT(8) में 8 डिस्प्ले चौड़ाई (display width) है, स्टोरेज आकार नहीं। यह केवल यह दर्शाता है कि मान कैसे प्रदर्शित होगा (ZEROFILL के साथ), वास्तविक रेंज पर कोई प्रभाव नहीं डालता।
BIGINT स्टोरेज और रेंज
| प्रकार | बाइट्स | बिट्स | साइन रेंज | अनसाइन रेंज |
|---|---|---|---|---|
BIGINT | 8 | 64 | -9,223,372,036,854,775,808 से 9,223,372,036,854,775,807 | 0 से 18,446,744,073,709,551,615 |
यह MySQL का **सबसे बड़ा पूर्णांक प्रकार** है।
डिस्प्ले चौड़ाई (8) का प्रभाव
केवल ZEROFILL के साथ काम करता है - मान को बाएं शून्य से पैड करता है:
उदाहरण: BIGINT(8) ZEROFILL
mysql> CREATE TABLE BigIntDemo8 (
-> Number1 BIGINT(8) NOT NULL,
-> Number2 BIGINT(8) UNSIGNED ZEROFILL NOT NULL
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO BigIntDemo8 VALUES(1,1), (11,11), (111,111), (1111,1111), (11111,11111), (111111,111111);
परिणाम
mysql> SELECT * FROM BigIntDemo8;
+---------+----------+
| Number1 | Number2 |
+---------+----------+
| 1 | 00000001 |
| 11 | 00000011 |
| 111 | 00000111 |
| 1111 | 00001111 |
| 11111 | 00111111 |
| 111111 | 00111111 |
+---------+----------+
6 rows in set (0.00 sec)
Number1 (बिना ZEROFILL): सामान्य प्रदर्शन
Number2 (ZEROFILL): 8 अंकों तक बाएं शून्य पैडिंग
पूर्णांक प्रकार तुलना
| प्रकार | बाइट्स | साइन रेंज (लगभग) | उपयोग |
|---|---|---|---|
TINYINT | 1 | -128 से 127 | फ्लैग, छोटे एनम |
SMALLINT | 2 | -32,768 से 32,767 | छोटे काउंटर |
MEDIUMINT | 3 | -8.3M से 8.3M | मध्यम काउंटर |
INT | 4 | -2.1B से 2.1B | सामान्य ID, काउंटर |
BIGINT | 8 | -9.2E18 से 9.2E18 | बड़े ID, टाइमस्टैम्प, गणना |
सारांश
BIGINTसबसे बड़ा पूर्णांक प्रकार है (64-बिट)(8)केवल डिस्प्ले चौड़ाई है, रेंज नहीं बदलतीZEROFILLके साथ डिस्प्ले चौड़ाई प्रभावी होती है- अधिक बड़ी संख्याओं के लिए
DECIMAL(65,0)या एप्लिकेशन-लेयर बिगइंट उपयोग करें