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

क्या MySQL में INT(1) बनाम TINYINT(1) का उपयोग करने में कोई अंतर है?

<घंटा/>

कोष्ठक में प्रयुक्त संख्या 1 केवल चौड़ाई प्रदर्शित करने के लिए है। INT(1) और TINYINT(1) स्टोरेज को प्रभावित नहीं करते हैं।

TINYINT 1 बाइट लेता है जिसका अर्थ है कि इसकी सीमा -128 से +127 है जबकि int 4 बाइट्स लेता है; इसकी सीमा -2147483648 से +2147483647 तक है

विड्थ डिस्प्ले को समझने के लिए, आइए एक टेबल बनाएं -

mysql> create table intAndTinyint
   −> (
   −> FirstNumber int(1) zerofill,
   −> SecondNumber tinyint(1) zerofill
   −> );
Query OK, 0 rows affected (0.52 sec)

अब आप तालिका में रिकॉर्ड सम्मिलित कर सकते हैं। क्वेरी इस प्रकार है -

mysql> insert into intAndTinyint values(1,1);
Query OK, 1 row affected (0.32 sec)

mysql> insert into intAndTinyint values(12,12);
Query OK, 1 row affected (0.26 sec)

mysql> insert into intAndTinyint values(123,123);
Query OK, 1 row affected (0.14 sec)

तालिका से सभी अभिलेखों को चयन कथन के साथ प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> select *from intAndTinyint;

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

+-------------+--------------+
| FirstNumber | SecondNumber |
+-------------+--------------+
|           1 |            1 |
|          12 |           12 |
|         123 |          123 |
+-------------+--------------+
3 rows in set (0.00 sec)

आप इसे तब समझेंगे जब ज़ीरोफिल के साथ कोष्ठक की संख्या 1 को बढ़ाकर 1 से अधिक कर दिया जाएगा। चौड़ाई के लिए जीरोफिल की अवधारणा को समझने के लिए आइए केवल INT के लिए एक उदाहरण देखें।

एक टेबल बनाएं। तालिका बनाने के लिए निम्नलिखित क्वेरी है -

mysql> create table intVsIntAnyThingDemo
   −> (
   −> Number1 int(11) unsigned zerofill,
   −> Number int(13) unsigned zerofill
   −> );
Query OK, 0 rows affected (1.17 sec)

अब आप इन्सर्ट कमांड की मदद से टेबल में रिकॉर्ड इन्सर्ट कर सकते हैं। यहां, हमने INT के लिए अलग-अलग चौड़ाई निर्धारित की है। क्वेरी इस प्रकार है -

mysql> insert into intVsIntAnyThingDemo values(12345,6789);
Query OK, 1 row affected (0.44 sec)

mysql> insert into intVsIntAnyThingDemo values(3,2);
Query OK, 1 row affected (0.20 sec)

mysql> insert into intVsIntAnyThingDemo values(12,89);
Query OK, 1 row affected (0.15 sec)

mysql> insert into intVsIntAnyThingDemo values(123,6789);
Query OK, 1 row affected (0.17 sec)

mysql> insert into intVsIntAnyThingDemo values(1234,6789);
Query OK, 1 row affected (0.14 sec)

चुनिंदा स्टेटमेंट की मदद से सभी रिकॉर्ड्स को प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> select *from intVsIntAnyThingDemo;

विभिन्न चौड़ाई और ज़ीरोफिल प्रदर्शित करने वाला आउटपुट निम्न है

+-------------+---------------+
| Number1     | Number        |
+-------------+---------------+
| 00000012345 | 0000000006789 |
| 00000000003 | 0000000000002 |
| 00000000012 | 0000000000089 |
| 00000000123 | 0000000006789 |
| 00000001234 | 0000000006789 |
+-------------+---------------+
5 rows in set (0.00 sec)

  1. AND OR . का उपयोग करके चयन करने के लिए MySQL क्वेरी

    आइए पहले एक टेबल बनाएं - mysql> create table DemoTable (    StudentId int,    StudentName varchar(20),    StudentSubject varchar(20) ); Query OK, 0 rows affected (0.62 sec) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - mysql> insert into DemoTable value

  1. MySQL में TINYINT के साथ अपडेट स्टेटमेंट का उपयोग करना?

    आइए पहले एक टेबल बनाएं। हमने TINYINT टाइप के साथ एक कॉलम सेट किया है - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (6.84 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (104, सत्य); क्वेरी ठीक है, 1 पंक्ति प्रभावित (1.22 सेकंड) चयन कथन का उपयोग करके तालिका से सभी

  1. एक MySQL क्वेरी में दो बार LIKE क्लॉज का उपयोग करना

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable2009(Name varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.51 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2009 मानों में डालें (डेविड मिलर); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) चयन कथन का उपयोग करके तालिका से सभी