k2-4u
Well-Known Member
تعریف درست نوع های داده و طول آنها بسیار مهم است
و باید به آن دقت شود در حال حاضر MySQL
9 نوع عددی + یک نوع جدید (که در ورژن 5.0.3 است ) دارد
BIT : این نوع در ورژن 5.0.3 اضافه شده است
در حالت Default این نوع 1 بیت طول دارد .
و می تواند یک ورودی هم بگیرد که تا حداکثر 64 بیت جا دارد
TINYINT حداکثر طول 1 بایت
مثال حقیقی : از -128 تا 128
توجه : نوع های BOOL, BOOLEAN به صورت خود کار به این نوع تبدیل می شوند یعنی
SMALLINT حداکثر طول 2 بایت
مثال حقیقی : از -32768 تا 32768
MEDIUMINT حداکثر طول 3 بایت
مثال حقیقی : از -8388608 تا 8388608
INTEGER , INT حداکثر طول 4 بایت
مثال حقیقی : از -2147483648 تا 2147483648
BIGINT حداکثر طول 8 بایت
مثال حقیقی : از -9223372036854775808 تا 9223372036854775808
DECIMAL(M,D) , NUMERIC(M,D) متغییر است (در ادامه توضیح داده شده است )
مثال حقیقی : این نوع 2 ورودی میگیرد که شامل طول عدد از برای مثال
به معنای 1 تا 10 است
و اعداد اعشاری
FLOAT حداکثر طول 4 بایت
مانند نوع INT با این تفاوت که می تواند اعشاری باشد
DOUBLE حداکثر طول 8 بایت
مانند نوع BIGINT با این تفاوت که می تواند اعشاری باشد
نوع های TINYINT , MEDIUMINT , INT , BIGINT می توانند یک ورودی بگیرند
که حداکثر طول مقدارشان را مشخص می کند برای مثال
نوع های DECIMAL , DOUBLE , FOLAT می توانند 2 ورودی بگیرند که شامل محدوده شروع و پایان عدد است
برای مثال
برای انواع اعداد 2 سویچ مهم وجود دارد
UNSIGNED : به معنای اینکه نمی تواند عدد منفی باشد در صورتی که این مقدار را وارد نکنید به صورت
پیشفرض SIGNED می شود . پس بهتر است در صورتی که با اعداد منفی سر و کار ندارین این سویچ را فعال کنید
ZEROFILL : با فعال کردن این سویچ . به اندازه طول مجاز . قبل از عدد صفر گذاشته می شود
----------------------------------------------------------------
مشخص کردن طول بسیار مهم است برای مثال برای ستونی که مربوط به سن است باید
حداکثر طول 2 باشد . تا بیشتر از 99 نشود
و همینطور که میبینید .سویچ UNSIGNED فعال است
تا منفی وارد نشود
و باید به آن دقت شود در حال حاضر MySQL
9 نوع عددی + یک نوع جدید (که در ورژن 5.0.3 است ) دارد
BIT : این نوع در ورژن 5.0.3 اضافه شده است
در حالت Default این نوع 1 بیت طول دارد .
و می تواند یک ورودی هم بگیرد که تا حداکثر 64 بیت جا دارد
TINYINT حداکثر طول 1 بایت
مثال حقیقی : از -128 تا 128
توجه : نوع های BOOL, BOOLEAN به صورت خود کار به این نوع تبدیل می شوند یعنی
کد:
TINYINT(1)
SMALLINT حداکثر طول 2 بایت
مثال حقیقی : از -32768 تا 32768
MEDIUMINT حداکثر طول 3 بایت
مثال حقیقی : از -8388608 تا 8388608
INTEGER , INT حداکثر طول 4 بایت
مثال حقیقی : از -2147483648 تا 2147483648
BIGINT حداکثر طول 8 بایت
مثال حقیقی : از -9223372036854775808 تا 9223372036854775808
DECIMAL(M,D) , NUMERIC(M,D) متغییر است (در ادامه توضیح داده شده است )
مثال حقیقی : این نوع 2 ورودی میگیرد که شامل طول عدد از برای مثال
کد:
DECIMAL(10,1);
و اعداد اعشاری
FLOAT حداکثر طول 4 بایت
مانند نوع INT با این تفاوت که می تواند اعشاری باشد
DOUBLE حداکثر طول 8 بایت
مانند نوع BIGINT با این تفاوت که می تواند اعشاری باشد
نوع های TINYINT , MEDIUMINT , INT , BIGINT می توانند یک ورودی بگیرند
که حداکثر طول مقدارشان را مشخص می کند برای مثال
کد:
CREATE TABLE tb1(
col1 TINYINT(1),
col2 INT(20)
);
نوع های DECIMAL , DOUBLE , FOLAT می توانند 2 ورودی بگیرند که شامل محدوده شروع و پایان عدد است
برای مثال
کد:
CREATE TABLE tb1(
co1l DOUBLE(10.5,5.4)
co12 FOLAT(11,4),
col3 DECIMAL(20,4)
);
برای انواع اعداد 2 سویچ مهم وجود دارد
UNSIGNED : به معنای اینکه نمی تواند عدد منفی باشد در صورتی که این مقدار را وارد نکنید به صورت
پیشفرض SIGNED می شود . پس بهتر است در صورتی که با اعداد منفی سر و کار ندارین این سویچ را فعال کنید
ZEROFILL : با فعال کردن این سویچ . به اندازه طول مجاز . قبل از عدد صفر گذاشته می شود
----------------------------------------------------------------
مشخص کردن طول بسیار مهم است برای مثال برای ستونی که مربوط به سن است باید
کد:
CREATE TABLE tb1(
age TINYINT(2) UNSIGNED
);
و همینطور که میبینید .سویچ UNSIGNED فعال است
تا منفی وارد نشود
آخرین ویرایش: