معرفی انواع داده در MySQL دیتابیس

صفحه اصلی/فایل های دسته بندی نشده/معرفی انواع داده در MySQL دیتابیس

معرفی انواع داده در MySQL دیتابیس

معرفی انواع داده در MySQL دیتابیس

نوع داده عددی

تعریف درست نوع های داده و طول آنها بسیار مهم است
و باید به آن دقت شود در حال حاضر MySQL
9 نوع عددی + یک نوع جدید (که در ورژن 5.0.3 است ) دارد

BIT : این نوع در ورژن 5.0.3 اضافه شده است

در حالت Default این نوع 1 بیت طول دارد .
و می تواند یک ورودی هم بگیرد که تا حداکثر 64 بیت جا دارد

TINYINT حداکثر طول 1 بایت
مثال حقیقی : از -128 تا 127
توجه : نوع های BOOL, BOOLEAN به صورت خود کار به این نوع تبدیل می شوند یعنی

کد:
TINYINT(1)

=====================معرفی انواع داده در MySQL دیتابیس====================
SMALLINT حداکثر طول 2 بایت
مثال حقیقی : از -32768 تا 32767

MEDIUMINT حداکثر طول 3 بایت
مثال حقیقی : از -8388608 تا 8388607

INTEGER , INT حداکثر طول 4 بایت
مثال حقیقی : از -2147483648 تا 2147483647

BIGINT حداکثر طول 8 بایت
مثال حقیقی : از -9223372036854775808 تا 9223372036854775807

DECIMAL(M,D) , NUMERIC(M,D) متغییر است (در ادامه توضیح داده شده است )
مثال حقیقی : این نوع 2 ورودی میگیرد که شامل طول عدد از برای مثال

کد:
DECIMAL(10,1);

به معنای 1 تا 10 است

و اعداد اعشاری

FLOAT حداکثر طول 4 بایت
مانند نوع INT با این تفاوت که می تواند اعشاری باشد

DOUBLE حداکثر طول 8 بایت
مانند نوع BIGINT با این تفاوت که می تواند اعشاری باشد

نوع های TINYINT , MEDIUMINT , INT , BIGINT می توانند یک ورودی بگیرند
که حداکثر طول مقدارشان را مشخص می کند برای مثال

کد:
CREATE TABLE tb1(
col1 TINYINT(1),
col2 INT(20)
);

=====================معرفی انواع داده در MySQL دیتابیس====================
نوع های 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
);

حداکثر طول 2 باشد . تا بیشتر از 99 نشود
و همینطور که میبینید .سویچ UNSIGNED فعال است
تا منفی وارد نشود

=====================معرفی انواع داده در MySQL دیتابیس====================

 

 

نوع داده رشته

تعریف نوع و طول رشته نیز مانند . اعداد مهم است
در حال حاضر MySQL
از 14 نوع داده رشته پشتیبانی می کند

CHAR تا حداکثر 255 کارکتر .
بهتر است داده های زیر 4 کارکتر را به این نوع اختصاص دهید . فرق این نوع با VARCHAR
این است که VARCHAR وابسته به مقدار اطلاعاتی که در خود دارد طول خود را عوض می کند
اما CHAR دارای طول ثابت است
به این نوع داده حتما باید طول بدهید . برای مثال

کد:
CHAR(3)

مقدار CHAR در حقیقت برابر است با CHARACTER. NATIONAL CHAR در استاندارد SQL

BINARY : مانند CHAR ولی به صورت دودوی (باینری)

VARCHAR طول متغییر و قابل تغییر تا حداکثر 65,535 بایت
به این نوع داده حتما باید طول بدهید . برای مثال

کد:
VARCHAR(243)

این نوع داده دارای یک قابلیت خاص است و آن این است که . جدا از تعریف طول
بسته به مقداری که اطلاعات در آن قرار دارد فضا اشغال می کند

VARBINARY : مانند VARCHAR ولی به صورت دودوی (باینری)

TINYTEXT از 1 تا حداکثر 2 به توان 8 بایت
که می شود 255 بایت

TEXT از 2 تا حداکثر 2 به توان 16 بایت
که می شود 65,535 بایت

MEDIUMTEXT از 3 تا حداکثر 2 به توان 24 بایت
که می شود 16,777,215 بایت

LONGTEXT از 4 تا حداکثر 2 به توان 32 بایت
که می شود 4,294,967,295 بایت یا 4 گیگابایت

TINYBLOB مانند TINYTEX ولی به صورت باینری

BLOB مانند TEXT ولی به صورت باینری

MEDIUMBLOB مانند MEDIUMTEXT ولی به صورت باینری

LONGBLOB مانند LONGTEXT ولی به صورت باینری

ENUM یک یا دو بایت . حداکثر 65,535 مقدار

SET یک , 2 , 3 ,4 یا 8 بایت , حداکثر 64 عضو

شما می توانید با اضافه کردن BINARY . به نوع های CHAR, VARCHAR, TEXT, ENUM, SET آنها را تبدیل به
باینری کنید . برای مثال

کد:
CREATE TABLE tb1(
col TEXT BINARY
col2 ENUM(1,2,3) BINARY
);

انواع داده و متغیر در SQL

در این قسمت از آموزش sql ، انواع داده در اسکیوال را شرح میدهیم.

انواع داده رشته ای  در اسکیوال : Character strings 

این نوع فیلد برای نگهداری عبارات و یا حروف ASCII می‌باشد. در این نوع فیلد‌ها، برای نگهداری هر حرف، یک بایت اشغال می‌شود و لذا نیاز به Collation برای تعیین زبان اطلاعات می‌باشد.

نوع داده شرح
char(n) اطلاعات متنی با طول ثابت از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند.
varchar(n) اطلاعات متنی با طول متغیر از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند. فرق بین Char و VarChar در این است که در Char، طول رشته ثابت است. یعنی اگر یک فیلد را از نوع Char(20) معرفی کرده و در آن کلمه Orion را قرار دهیم، عین ۲۰ حرف استفاده خواهد شد. یعنی ۵ کاراکتر اول را کلمه مربوطه اشغال کرده و ۱۵ کاراکتر باقی‌مانده، Blank خواهند بود. اما در VarChar اینگونه نیست..
varchar(max) اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود و مکانیزم آن هم بصورت پوینتری می‌باشد.
text اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود. این نوع داده همانند Image و VarBinary(MAX) در خود رکورد ذخیره نمی‌شوند. بلکه توسط یک پوینتر به جای دیگری اشاره می‌کنند. این نوع داده در SQL 10 حذف شده و بجای آن‌ها از VarChar(MAX) استفاده می‌شود..

انواع داده یونیکد  در اسکیوال : Unicode types

این نوع فیلد‌ها برای نگهداری متون Unicode بوده و برای نگهداری هر حرف، از دو بایت استفاده می‌شود. پس مسلماً نسبت به نوع داده‌های کاراکتری، حافظه بیشتری را به خود اختصاص می‌دهد و در ضمن کمی هم کندتر است. این نوع فیلد‌ها، احتیاج به Collation ندارند.

نوع داده شرح
nchar(n) در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ حرف با طول ثابت ذخیره می‌شود.
nvarchar(n) در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ بایت با طول متغیر ذخیره می‌شود.
nvarchar(max) در این نوع داده از ۱ تا ۱ مگا حرف ذخیره می‌شود. مکانیزم آن هم بصورت Pointer می‌باشد.
ntext در این نوع داده، از ۱ تا ۱ مگا حرف ذخیره می‌شود. مکانیزم آن هم بصورت Pointer .

انواع داده باینری  در اسکیوال : Binary types

این نوع فیلد‌ها برای نگهداری اطلاعات بصورت بایناری مانند تصاویر مناسب هستند

نوع داده شرح
bit یک فیلد دو بیتی است و می‌تواند ۰ و ۱ و Null را ذخیره کند.کاربرد آن در زمان‌هایی است که دو حالت وجود داشته باشد. مانند جنسیت زن و مرد.
binary(n) این نوع فیلد‌ها، از ۱ تا ۸۰۰۰ بایت را در خود جای می‌دهند.
varbinary(n) این نوع فیلد‌ها هم از ۱ تا ۸۰۰۰ بایت را در خود جای می‌دهند. (متغیر).
varbinary(max) این نوع Datatype در SQL 2005 معرفی شده و تقریباً همانند داده‌های Image هستند.
image این نوع فیلد‌ها از ۱ تا حداکثر ۲ گیگابایت را می‌توانند ذخیره کنند. فرق این نوع داده‌ها با دو نوع قبلی این است که در دو نوع قبلی، اطلاعات در خود رکورد ثبت می‌شوند ولی در این نوع داده‌ها، اطلاعات در یک Page ذخیره می‌شود و به جایش در رکورد، یک پوینتر ۱۶ بایتی ذخیره می‌شود. این نوع فیلد‌ها در SQL 10 حذف شده و به جایش باید از VarBinary استفاده کرد.

انواع داده عددی  در اس کیو ال : Number types

این نوع فیلد برای نگهداری اعداد صحیح و بدون اعشار استفاده می‌گردد و دارای ۴ نوع به شرح زیر است. در ضمن این نوع فیلد‌ها رتبه یک سرعت در نوع فیلد‌های عددی را دارد.

نوع داده شرح
tinyint یک بایت را اشغال می‌کند و می‌تواند از ۰ تا ۲۵۵ را در خود ذخیره کند.
smallint یک عدد دو بایتی است و می‌تواند از ۳۲۷۶۷ منفی تا ۳۲۷۶۷ مثبت را در خود ذخیره کند.
int یک عدد چهار بایتی است که می‌تواند اعداد بین مثبت و منفی ۲ میلیارد را در خود ذخیره کند.
bigint یک عدد ۸ بایتی است که می‌تواند اعداد بین مثبت و منفی ۴ میلیارد را در خود ذخیره کند.
decimal(p,s) این نوع فیلد برای نگهداری اعداد اعشاری با تعداد اعشار مشخص استفاده می‌گردد. این نوع فیلد‌ها بسیار کند بوده و استفاده از آنها توصیه نمی‌گردد. که در آن Precision به معنای تعداد کل رقم‌های عدد و Scale تعداد ارقام اعشار را مشخص می‌کند. مثلاً اگر فیلدری بصورت Deciaml(6,2) تعریف شود، حداکثر آن برابر ۹۹۹۹٫۹۹ می‌باشد..
numeric(p,s) .
smallmoney یک عدد ۴ بایتی است که می‌تواند ۶ رقم صحیح و ۴ رقم اعشار را در خود ذخیره کند..
money یک عدد ۸ بایتی است که می‌تواند ۱۵ رقم صحیح و ۴ رقم اعشار را در خود ذخیره کند..
float(n) یک عدد ۸ بایتی که اعداد بصورت توانی از ۱۰ نگهداری می‌شوند. .
real یک عدد ۴ بایتی است که اعداد بصورت توانی از ۱۰ نگهداری می‌شوند..

انواع داده تاریخ  در اس کیوال  :Date types

این نوع فیلد‌ها برای نگهداری تاریخ میلادی و ساعت استفاده می‌شود و برای تاریخ شمسی کاربرد ندارد.

نوع داده شرح
datetime این نوع فیلد، ۸ بایتی است و از سال ۱۷۰۰ تا ۹۹۹۹ را با دقت هزارم ثانیه ذخیره می‌کند..
datetime2 .
smalldatetime این نوع فیلد، ۴ بایتی است و از سال ۱۹۰۰ تا ۲۰۷۹ را با دقت هزارم ثانیه ذخیره می‌کند..
date این نوع فیلد‌ها برای نگهداری تاریخ میلادی استفاده می‌شود.
time این نوع فیلد‌ها برای نگهداری ساعت استفاده می‌شود.
datetimeoffset  
timestamp  

انواع دیگر داده ها  در sql: Other data types

 

نوع داده شرح
sql_variant این نوع فیلد برای نگهداری انواع داده استفاده می‌شود و نوع آن با توجه به اولین مقداری که در آن قرار می‌گیرد تعیین خواهد شد. چون نوع و حجم فیلد مشخص نیست، لذا تنها یک اشاره‌گر ۱۶ بایتی در آن قرار گرفته و داده اصلی در فایل جداگانه نگهداری می‌شود. استفاده از این نوع فیلد، توصیه نمی‌گردد..
uniqueidentifier .این فیلد ۱۶ بایتی، به ما کدی Unique یا تک می‌دهد که به اصطلاح GUID می‌گویند. یکی از کاربردهای آن در Replication است.
xml این فیلد بیشتر برای انتقال اطلاعات و دستورات تحت web استفاده می‌شود و شامل انواع MetaData های مختلف است.
cursor این فیلد مربوط به کنترل Cursor است .
table .


معرفی انواع داده در MySQL دیتابیس

بهترین و ارزانترین نرم افزار حسابداری

توسط |آگوست 16th, 2016|دسته بندی ها: فایل های دسته بندی نشده|برچسب ها: |دیدگاه‌ها برای معرفی انواع داده در MySQL دیتابیس بسته هستند