আমি মাইএসকিএল তে বুলিয়ান জানতাম tinyint (1)
।
আজ আমি মত একটি পূর্ণসংখ্যা সংজ্ঞায়িত সঙ্গে একটি টেবিল দেখতে tinyint(2)
, এবং এছাড়াও অন্যদের পছন্দ int(4)
, int(6)
...
টাইপ পূর্ণসংখ্যা এবং টিনিনেন্টের ক্ষেত্রে আকারটি কী বোঝায়?
আমি মাইএসকিএল তে বুলিয়ান জানতাম tinyint (1)
।
আজ আমি মত একটি পূর্ণসংখ্যা সংজ্ঞায়িত সঙ্গে একটি টেবিল দেখতে tinyint(2)
, এবং এছাড়াও অন্যদের পছন্দ int(4)
, int(6)
...
টাইপ পূর্ণসংখ্যা এবং টিনিনেন্টের ক্ষেত্রে আকারটি কী বোঝায়?
উত্তর:
এর অর্থ ডিসপ্লে প্রস্থ
আপনি টিনিনেন্ট (1) বা টিনিনেন্ট (2) ব্যবহার করুন না কেন, এতে কোনও তফাত আসে না।
আমি সর্বদা টিনিন্যান্ট (1) এবং ইন্ট (11) ব্যবহার করি, আমি বেশ কয়েকটি মাইএসকিএল ক্লায়েন্ট ব্যবহার করেছি (নাভিচ্যাট, সিক্যুয়াল প্রো)।
এটি সব কিছুই মানে না! আমি একটি পরীক্ষা চালিয়েছি, উপরের সমস্ত ক্লায়েন্ট বা এমনকি কমান্ড-লাইন ক্লায়েন্ট এটিকে উপেক্ষা করছে বলে মনে হচ্ছে।
তবে, আপনি যদি বিকল্পটি ব্যবহার করে থাকেন তবে প্রস্থের প্রস্থটি সর্বাধিক গুরুত্বপূর্ণ ZEROFILL
, উদাহরণস্বরূপ আপনার টেবিলটিতে 2 টি কলাম রয়েছে:
একটি টিনিনেন্ট (2) জিরোফিল
বি টিনিয়েন্ট (4) জিরোফিল
উভয় কলাম 1 মান আছে, কলামের জন্য আউটপুট একটি হবে 01
এবং 0001
এর জন্য বি , স্ক্রিনশট দেখা নীচে :)
(m)
কলাম প্রদর্শন প্রস্থ ইঙ্গিত; মাইএসকিউএল ক্লায়েন্টের মতো অ্যাপ্লিকেশনগুলি কোয়েরির ফলাফলগুলি দেখানোর সময় এটি ব্যবহার করে।
উদাহরণ স্বরূপ:
| 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 (এম), যেখানে এম সর্বাধিক ডিসপ্লে প্রস্থকে নির্দেশ করে (কেবলমাত্র আপনার মাইএসকিউএল ক্লায়েন্ট এটি সমর্থন করলে ব্যবহৃত হয়)।