int(11)
বাইটে মাইএসকিএল- এর কলামটির আকার কত ?
এবং এই কলামগুলিতে সর্বাধিক মান সংরক্ষণ করা যায়?
mysql
তা আমার আগমনের আগে ট্যাগ করতে হবে । থেক্স
int(11)
বাইটে মাইএসকিএল- এর কলামটির আকার কত ?
এবং এই কলামগুলিতে সর্বাধিক মান সংরক্ষণ করা যায়?
mysql
তা আমার আগমনের আগে ট্যাগ করতে হবে । থেক্স
উত্তর:
একটি INT
দৈর্ঘ্য নির্দিষ্ট করা যাই হোক না কেন একটি সর্বদা 4 বাইট হবে।
TINYINT
= 1 বাইট (8 বিট)SMALLINT
= 2 বাইট (16 বিট)MEDIUMINT
= 3 বাইট (24 বিট)INT
= 4 বাইট (32 বিট)BIGINT
= 8 বাইট (64 বিট)।দৈর্ঘ্যটি নির্দিষ্ট করে যে মাইএসকিএল কমান্ড লাইন ক্লায়েন্টের সাথে ডেটা নির্বাচন করার সময় কতগুলি অক্ষর প্যাড করতে হবে। 12345 হিসাবে সঞ্চিত int(3)
এখনও 12345 হিসাবে প্রদর্শিত হবে তবে এটি যদি এটি সংরক্ষণ করা হয় int(10)
তবে এটি এখনও 12345 হিসাবে প্রদর্শিত হবে তবে আপনার প্রথম পাঁচটি সংখ্যা প্যাড করার বিকল্প থাকবে। উদাহরণস্বরূপ, আপনি যদি যোগ করেন তবে ZEROFILL
এটি 0000012345 হিসাবে প্রদর্শিত হবে।
... এবং সর্বাধিক মান হবে 2147483647 (স্বাক্ষরিত) বা 4294967295 (স্বাক্ষরিত)
আইএনটি ( এক্স ) কেবল প্রদর্শনের মেয়াদে পার্থক্য তৈরি করবে , তা হল এক্স ডিজিটের সংখ্যাটি দেখানো , এবং ১১-এর মধ্যে সীমাবদ্ধ নয় You আপনি এটি ব্যবহার করে জুটি করুন ZEROFILL
, যা আপনার দৈর্ঘ্যের সাথে মিল না হওয়া অবধি জিরোগুলিকে প্রিপেন্ড করবে।
সুতরাং, যে কোন সংখ্যার জন্য এক্স মধ্যেINT(x)
যদি সংরক্ষিত মান কম সংখ্যা আছে এক্স , ZEROFILL
শূন্য পূর্বে লিখুন হবে।
INT (5) ZEROFILL 32 সংরক্ষিত মান দেখাবে সঙ্গে 00032
INT (5) 32 সংরক্ষিত মান সঙ্গে দেখাবে 32
INT 32 সংরক্ষিত মান সঙ্গে দেখাবে 32
যদি সঞ্চিত মানটির চেয়ে x এর চেয়ে বেশি সংখ্যা থাকে তবে এটি এটির মতো প্রদর্শিত হবে।
INT (3) ZEROFILL 250000 এর সংরক্ষিত মান দেখাবে সঙ্গে 250000
INT (3) 250000 এর সংরক্ষিত মান সঙ্গে দেখাবে 250000
INT 250000 এর সংরক্ষিত মান সঙ্গে দেখাবে 250000
ডাটাবেসে সঞ্চিত প্রকৃত মান প্রভাবিত হয় না, আকার এখনও একই থাকে এবং কোনও গণনা স্বাভাবিকভাবে আচরণ করবে।
এটি BIGINT, MEDIUMINT, SMALLINT এবং TINYINT এর ক্ষেত্রেও প্রযোজ্য।
ZEROFILL
।
এখানে অনুসারে , int(11)
4 বাইটের স্থান নেবে যা 2^(31) = 2147483648
সর্বোচ্চ মান এবং -2147483648
ন্যূনতম মান সহ 32 বিট স্পেস । একটি বিট লক্ষণ জন্য।
অন্যরা যেমন বলেছে, কলামটি সর্বনিম্ন / সর্বোচ্চ মানগুলি সঞ্চয় করতে পারে এবং এটি কতগুলি সঞ্চয়স্থান বাইটে নেয় তা কেবল টাইপ দ্বারা সংজ্ঞায়িত করা হয়, দৈর্ঘ্য নয়।
এই উত্তর অনেক বলছে যে (11)
অংশটি কেবলমাত্র ডিসপ্লে প্রস্থকে প্রভাবিত করে যা ঠিক সত্য নয়, তবে বেশিরভাগ ক্ষেত্রে।
একটি সংজ্ঞা int(2)
দিয়ে কোন zerofill নিদিষ্ট হবে:
100
100
0
00
)জিরোফিলটিও নির্দিষ্ট(2)
করা থাকলে কেবল একটাই কাজটি করবে :
1
প্রদর্শিত হবে01
।সমস্ত সূক্ষ্মতা দেখার সেরা উপায়টি হল চালানো:
CREATE TABLE `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`int1` int(10) NOT NULL,
`int2` int(3) NOT NULL,
`zf1` int(10) ZEROFILL NOT NULL,
`zf2` int(3) ZEROFILL NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `mytable`
(`int1`, `int2`, `zf1`, `zf2`)
VALUES
(10000, 10000, 10000, 10000),
(100, 100, 100, 100);
select * from mytable;
যা আউটপুট দেবে:
+----+-------+-------+------------+-------+
| id | int1 | int2 | zf1 | zf2 |
+----+-------+-------+------------+-------+
| 1 | 10000 | 10000 | 0000010000 | 10000 |
| 2 | 100 | 100 | 0000000100 | 100 |
+----+-------+-------+------------+-------+
এই উত্তরটি মাইএসকিউএল 5.7.12 এর বিপরীতে লিনাক্সের জন্য পরীক্ষা করা হয় এবং অন্যান্য প্রয়োগের ক্ষেত্রেও এটি পরিবর্তিত হতে পারে বা নাও হতে পারে।
বাইটে মাইএসকিএল-তে কলামের (11) কলামের আকার কত?
(11)
- int
ডেটা টাইপের এই বৈশিষ্ট্যের কলামের আকারের সাথে কোনও সম্পর্ক নেই। এটি কেবলমাত্র পূর্ণসংখ্যার ডেটা প্রদর্শনের প্রস্থ। 11.1.4.5 থেকে । সংখ্যার ধরণের বৈশিষ্ট্য :
মাইএসকিউএল প্রকারের জন্য মূল কীওয়ার্ড অনুসরণ করে বন্ধনীতে পূর্ণসংখ্যার ডেটা প্রকারের প্রস্থের নির্দিষ্টকরণ নির্দিষ্ট করে দেওয়ার জন্য একটি এক্সটেনশন সমর্থন করে supports উদাহরণস্বরূপ, আইএনটি (4) চার অঙ্কের ডিসপ্লে প্রস্থ সহ একটি আইএনটি নির্দিষ্ট করে।
এর জন্য একটি ভাল ব্যাখ্যা এখানে
পাওয়া যাবে
সংক্ষিপ্তসার হিসাবে: এনট ইন (এন) সংখ্যাটি প্রায়শই কলামের জন্য অনুমোদিত সর্বোচ্চ আকার দ্বারা বিভ্রান্ত হয়, যেমন এটি ভার্চার (এন) এর ক্ষেত্রে হয়।
তবে এটি পূর্ণসংখ্যার ডেটা ধরণের ক্ষেত্রে নয় - কলামটির জন্য এন প্রথম সংখ্যাটি কলামের সর্বোচ্চ আকার নয়, তবে টেবিলের ডেটা মাইএসকিউএল-এর মাধ্যমে দেখার সময় কলামটি প্রদর্শন করতে কত প্রস্থের মাইএসকিউএলকে জানাতে প্যারামিটার রয়েছে simply কনসোল (যখন আপনি জেরোফিল বৈশিষ্ট্যটি ব্যবহার করছেন)।
বন্ধনীর সংখ্যাটি মাইএসকিউএলকে বলবে যে ইনকামিং পূর্ণসংখ্যার সাথে কতগুলি শূন্য প্যাড করবে। উদাহরণস্বরূপ: আপনি যদি কলামে INF (5) তে সেট করা কলামে জেরোফিল ব্যবহার করছেন এবং 78৮ নম্বর সন্নিবেশ করা হয়েছে, মাইএসকিউএল সেই মানটি শূন্যের সাথে প্যাড করবে যতক্ষণ না বন্ধনীতে সংখ্যাটি সন্তুষ্ট না করে until অর্থাত্ 78 78 টি হয়ে উঠবে 00078 এবং 127 হয়ে উঠবে 00127 it এটির সংক্ষেপে: বন্ধনীগুলিতে নম্বর প্রদর্শন উদ্দেশ্যে ব্যবহৃত হয়।
একটি উপায়ে, বন্ধনীগুলির সংখ্যাটি এক ধরণের নিরর্থক না হলে আপনি জেরোফিল বৈশিষ্ট্যটি ব্যবহার করছেন।
সুতরাং ইন্টার এর জন্য আকার একই থাকবে - স্বাক্ষরিত হওয়ার জন্য -2147483648 থেকে 2147483648 এবং 0 থেকে 4294967295(~ ২.১৫ বিলিয়ন এবং ৪.২ বিলিয়ন, এটি যে কারণগুলির কারণে বিকাশকারীরা প্রথম এন সংখ্যাটির পিছনে কাহিনী সম্পর্কে অজানা রয়েছেন, কারণ এটিতে 2 বিলিয়ন সারি না থাকলে ডাটাবেসটি খুব কমই প্রভাবিত করে), এবং এটি বাইটের ক্ষেত্রে হবে 4 বাইট ।
পূর্ণসংখ্যার প্রকারের আকার / পরিসীমা সম্পর্কে আরও তথ্যের জন্য, মাইএসকিউএল ম্যানুয়াল দেখুন
যদিও এই উত্তরটি দেখার সম্ভাবনা কম, তবে আমি মনে করি যে নিম্নলিখিত ব্যাখ্যাটি মূল্যবান:
বিশদ বিবরণের একটি বিট
প্রদর্শনের প্রস্থটি দৃশ্যত শূন্য ভরা সংখ্যায় কতটি শূন্য প্রদর্শন করবে সে সম্পর্কে কিছু মেটাডেটা সরবরাহ করার উদ্দেশ্যে।
এটি যদি কোনও ক্যোয়ারী থেকে প্রত্যাবর্তিত সংখ্যার দৈর্ঘ্যের সীমাবদ্ধ করে না তবে যদি সেই নম্বরটি নির্দিষ্ট প্রদর্শনের প্রস্থের উপরে চলে যায়।
মাইএসকিউএলে পূর্ণসংখ্যার টাইপের জন্য দৈর্ঘ্য / প্রস্থের আসলে অনুমতি রয়েছে তা জানতে তালিকাটি এবং লিঙ্কটি দেখুন: ( প্রকার: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT );
সুতরাং উপরের কথাটি বলার পরে, আপনি প্রত্যাশা করতে পারেন যে কোনও মানের কোয়েরি থেকে ফলাফলগুলির প্রস্থের কোনও প্রভাব পড়বে না, যদি না কলামগুলি জেরোফিল কলাম হিসাবে সুনির্দিষ্ট
না করা হয়
বা
ক্ষেত্রে যদি কোনও অ্যাপ্লিকেশনটিতে ডেটা টানা না যায় এবং সেই অ্যাপ্লিকেশনটি সংগ্রহ করে থাকে অন্য কিছু ধরণের প্যাডিংয়ের জন্য প্রস্থ প্রদর্শন করতে।
প্রাথমিক রেফারেন্স: https://blogs.oracle.com/jsmyth/entry/ কি_ডোস_ত_১_মিয়ান
n
ছাড়িয়ে আনতে পারি না, তাই ... হ্যাঁ, এটি বুলক্র্যাপ। এটি কেবল জিরোফিল দিয়ে কিছু করে।
মাইএসকিউএল পূর্ণসংখ্যায় int(11)
আকার 4 বাইট যা 32 বিটের সমান।
স্বাক্ষরিত মান: - 2^(32-1) to 0 to 2^(32-1)-1
= = -2147483648 to 0 to 2147483647
স্বাক্ষরযুক্ত মানগুলি হ'ল: 0 to 2^32-1
= 0 to 4294967295
এই বই অনুসারে :
মাইএসকিউএল আপনাকে INT (11) এর মতো পূর্ণসংখ্যার ধরণের জন্য একটি "প্রস্থ" নির্দিষ্ট করতে দেয়। এটি বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য অর্থহীন: এটি মানগুলির আইনী সীমাবদ্ধতা সীমাবদ্ধ করে না, কেবল মাইএসকিউএল এর ইন্টারেক্টিভ সরঞ্জামগুলি প্রদর্শনের উদ্দেশ্যে সংরক্ষণ করবে এমন অক্ষরের সংখ্যা নির্দিষ্ট করে। স্টোরেজ এবং গণনার উদ্দেশ্যে, INT (1) INT (20) এর মতো ical