دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۰۹ : انواع داده در MySQL

  • دسته‌بندی‌ها :
جلسه ۰۹ : انواع داده در MySQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش MySQL را دنبال می کنند. هر دیتابیسی از جداولی تشکیل شده که هر جدول نیز شامل مجموعه ای از فیلدها یا ستون های مرتبط هستند که داده هایی را در خود ذخیره می کنند، نوع داده های فیلدها غالبا با یکدیگر متفاوت هستند، برخی فلیدها داده های عددی ، برخی رشته ها و برخی دیگر ممکن است نوع تاریخ و زمان را ذخیره کنند، مقدار فضای لازم برای ذخیره ی هر کدام از این نوع داده ها با یکدیگر متفاوت است از این رو MySQL به شما اجازه می دهد نوع داده ی فیلدهای جداول خود را تعیین کنید تا با این کار به بهینه سازی فضای هارد و عملکرد دیتابیس کمک کنید. برای این منظور بهتر است تا با انواع داده در MySQL آشنا شوید.

      آشنایی با انواع داده در MySQL

      در این آموزش شما با انواع داده در MySQL که برای فیلدهای جداول تعریف شده آشنا خواهید شد.

      به طور کلی انواع داده در MySQL در سه دسته ی کلی تقسیم می شود :

      • Numeric (عددی)
      • Date and Time (تاریخ و زمان)
      • String Types (انواع رشته ای)

      انواع داده ی عددی

      MySQL از تمام استاندارد های انواع عددی ANSI SQL استفاده می کند.

      بنابراین اگر از یک سیستم پایگاه داده ی دیگر به MySQL کوچ می کنید، داده های عددی برای شما تفاوت چندانی نخواهند داشت.

      لیست زیر شامل انواع داده های معمول عددی در MySQL و توضیحات آن هاست:

      INT : اندازه ی استاندارد نوع عددی integer که می تواند علامتدار یا بدون علامت باشد.

      اگر علامت دار باشد رنج آن از -۲۱۴۷۴۸۳۶۴۸ تا ۲۱۴۷۴۸۳۶۴۷ و در غیر این صورت از ۰ تا ۴۲۹۴۹۶۷۲۹۵ می باشد.

      در این نوع شما می توانید تا ۱۱ رقم را مشخص کنید.

      TINYINT : کوچکترین اندازه از نوع integer است، که می تواند علامتدار یا بدون علامت باشد.

      اگر علامت دار باشد رنج آن از  -۱۲۸ تا ۱۲۷ و در غیر این صورت از ۰ تا ۲۵۵ می باشد، در این نوع می توانید تا ۴ رقم را تعریف کنید.

      SMALLINT :  اندازه ی کوچک نوع عددی integer که می تواند علامتدار یا بدون علامت باشد.

      اگر علامت دار باشد رنج آن از  -۳۲۷۶۸ تا ۳۲۷۶۷ و در غیر این صورت از ۰ تا ۶۵۵۳۵ می باشد، در این نوع می توانید تا ۵ رقم را تعریف کنید.

      MEDIUMINT :  اندازه ی متوسط نوع عددی integer که می تواند علامتدار یا بدون علامت باشد.

      اگر علامت دار باشد رنج آن از  -۸۳۸۸۶۰۸ تا ۸۳۸۸۶۰۷ و در غیر این صورت از ۰ تا ۱۶۷۷۷۲۱۵ می باشد، در این نوع می توانید تا ۹ رقم را تعریف کنید.

      BIGINT : اندازه ی بزرگ نوع عددی integer که می تواند علامتدار یا بدون علامت باشد.

      اگر علامت دار باشد رنج آن از  -۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸ تا ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷ و در غیر این صورت از ۰ تا ۱۸۴۴۶۷۴۴۰۷۳۷۰۹۵۵۱۶۱۵ می باشد، در این نوع می توانید تا ۲۰ رقم را تعریف کنید.

      (FLOAT(M,D : اعداد اعشاری که بدون علامت نیستند و شما می توانید طول نمایش (M) و اعداد دهدهی را تعریف کنید، البته ضروری نیست.

      در این نوع می توانید دقت اعشار را تا ۲۴ نقطه تعیین کنید.

      (DOUBLE(M,D : این نوع شامل اعداد اعشاری است، که بدون علامت نیستند،

      در این نوع شما می توانید طول نمایش (M) و اعداد دهدهی را نیز تعریف کنید.

      در نوع double شما می توانید تا ۵۳ نقطه اعشار مشخص کنید.

      (DECIMAL(M,D : این نوع برای ذخیره و بازیابی اعداد دهدهی استفاده می شود.

      انواع date and time (تاریخ و زمان)

      انواع داده ی تاریخ و زمان در MySQL به شرح زیر است :

      DATE : برای ذخیره تاریخ در فرمت YYYY-MM-DD و در رنج بین ۱۰۰۰-۰۱-۰۱ تا ۹۹۹۹-۱۲-۳۱ استفاده می شود.

      برای مثال December 30th, 1973 بصورت ۱۹۷۳-۱۲-۳۰ ذخیره می شود.

      DATETIME : در این نوع تاریخ  زمان در فرمت ترکیبی YYYY-MM-DD HH:MM:SS ذخیره می شود.

      این نوع در رنج بین ۱۰۰۰-۰۱-۰۱ ۰۰:۰۰:۰۰ و ۹۹۹۹-۱۲-۳۱ ۲۳:۵۹:۵۹ مقدار می پذیرد.

      برای مثال ساعت ۳:۳۰ بعد ازظهر در تاریخ December 30th, 1973 به صورت ۱۹۷۳-۱۲-۳۰ ۱۵:۳۰:۰۰ ذخیره می شود.

      TIMESTAMP : یک بازه ی زمانی بین نیمه شب، ۱ ژانویه ۱۹۷۰، تا سال ۲۰۳۷ می باشد.

      این نوع همانند فرمت DATETIME است، فقط فاقد خطوط بین ساعت ۳:۳۰ در تاریخ December 30th, 1973 می باشد.

      این نوع تاریخ فوق را بصورت ۱۹۷۳۱۲۳۰۱۵۳۰۰۰ ذخیره می کند.

      TIME : برای ذخیره سازی زمان در فرمت HH:MM:SS استفاده می شود.

      (YEAR(M : برای ذخیره سازی سال در فرمت ۲ یا ۴ رقمی استفاده می شود.

      اگر دو رقمی باشد می تواند در سالهای بین ۱۹۷۰ تا ۲۰۶۹ (رنج ۷۰ تا ۶۹) مقدار پذیرد.

      اگر ۴ رقمی باشد نیز می تواند شامل سال های بین ۱۹۰۱ تا ۲۱۵۵ باشد. (طول پیش فرض ۴ رقم است).

      انواع رشته ای

      اگر چه در طول کار با دیتابیس با داده های عددی زیاد سر و کار دارید ، اما در اکثر مواقع نیاز به ذخیره مقادیر رشته ای دارید.

      این لیست انواع داده ای رشته ای می باشد که در MySQL پشتیبانی می شود :

      (CHAR(M : رشته ها را با طول ثابت بین ۱ تا ۲۵۵ کاراکتر را می پذیرد ، که با تراز راست به چپ و با فضایی به طول مشخص شده ذخیره می شوند.

      در این نوع تعین طول رشته ضروری نیست اما به پیش فرض آن ۱ می باشد.

      (VARCHAR(M : رشته ها را با طول متغیر بین ۱ تا ۲۵۵ کاراکتر را می پذیرد.

      برای مثال در  VARCHAR(25) شما باید یک طول را در زمان تعریف فیلد VARCHAR ، تعیین کنید.

      BLOB or TEXT :یک فیلد با حداکثر طول ۶۵۵۳۵ کاراکتر می باشد، که BLOB ها در واقع آبجکت های بزرگ دودویی هستند.

      BLOB ها برای ذخیره داده های دودویی بزرگ نظیر image ها استفاده می شود.

      فیدهایی که TEXT تعریف می شود همچنین داده های بزرگی را ذخیره می کنند.

      تفاوت بین این دو نوع: BLOB به حروف یزرگ و کوچک حساس بوده در حالیکه نوع TEXT نسبت به حروف حساس نیست.

      TINYBLOB or TINYTEXT : ستون های BLOB یا TEXT با حداکثر ۲۵۵ کاراکتر می باشد که در این نوع ها نیازی به تعیین طول نیست.

      MEDIUMBLOB or MEDIUMTEXT : ستون های BLOB یا TEXT را با حداکثر ۱۶۷۷۷۲۱۵ کاراکتر را تعریف می کند.

      در این دو نوع نیز تعریف طول رشته ها ضروری نیست.

      LONGBLOB or LONGTEXT :  ستون های BLOB یا TEXT را با حداکثر ۴۲۹۴۹۶۷۲۹۵ کاراکتر را تعریف می کند.

      در این دو نوع نیز تعریف طول رشته ها ضروری نیست.

      ENUM :یک ستون شمارشی را ایجاد می کند، هنگام تعریف ENUM، شما لیستی از موارد قابل انتخاب را ایجاد می کنید.

      به عنوان مثال برای تنظیم فیلد ENUM که شامل موارد “A” یا “B” یا “C” باشد، باید به صورت (‘A’, ‘B’, ‘C’) تعریف کنید.

      کلام آخر

      در هر یک از دیتابیس های قدرتمند در دنیا انواع داده از جمله انواع داده در MySQL برای مشخص کردن نوع داده ای که قرار است در هر فیلد ذخیره شود ارائه گردیده است ، مشخص کردن نوع داده برای هر فیلد در جداول دیتابیس، به بهبود عملکرد برنامه و بهینه سازی فضای هارد سیستم کمک می کند.

      QR:  جلسه ۰۹ : انواع داده در MySQL
      به اشتراک بگذارید