طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

انواع داده در MySQL


آشنایی با انواع داده در MySQL در طراحی بهینه بانک های اطلاعاتی بسیار مهم است . دیتابیس MySQL لیست بسیار بزرگی از انواع داده ها (Data Types) را پشتیبانی می کند . و بر خلاف PHP , حتما باید در هر یک از ستون های جداول این نوع داده را مشخص کنید.

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

  1. نوع داده عددی (Numeric)
  2. نوع داده رشته ای (String)
  3. نوع داده تاریخ و زمان (Date/Time)

در مقاله آموزشی انواع داده در MySQL , هر سه از دسته بندی های بالا را به صورت جداگانه بررسی می کنیم.

 

نوع داده عددی (Numeric)

این مقدار اعداد می تواند هر نوعی مثل عدد صیحیح , اعشار , دسیمال , ۰و۱ (boolean) و غیر باشند . همچنین لیست داده های عددی قابل پشتیبانی توسط MySQL به دسته های زیر تقسیم می شوند .

  • Integers – بر اساس تعداد بایت های اختصاص یافته فضای ذخیره سازی , این نوع های عددی به به ترتیب TINYINT , SMALLINT , MEDIUMINT , INT , BIGINT تقسیم بندی می شوند .
  • اعداد اعشار  (fLOAT) – این دسته بندی نیز دارای دو نوع FLOAT , DOUBLE که به ترتیب نشان دهنده اعداد اشاری با درصد یکان و دهگان است .

این نوع از داده ها برای ذخیره مقادیر مشخص شده با درصد اعشار آنها استفاده می شود که مقدار بعد نقطه اعشار را پاکسازی و یک مقدار تقریبی را تولید می کنند . برای مثال , مقدار ۳٫۸۸۳۳۳ را به صورت تقریبی ۳٫۸۸ در نظر می گیرد .

  • Decimal / Numeric – این داده مقدار را بصورت دقیق (نه تقریبی) ذخیره می کند.
  • Binary – مشخصا مقدار ۰ و ۱ را ذخیره می کند

انواع داده در MySQL

نوع داده رشته ای (String)

یکی از مهمتری بخش های انواع داده در MySQL , رشته ها هستند. که شامل CHAR , VARCHAR , TEXT و .. می باشد.

  • CHAR / VARCHAR – تفاوت هر دو در خصوصیت طول رشته ذخیره شده , است .
حتما بخوانید  جستجوی پیشرفته توسط php

CHAR : یک رشته با طول ثابت می باشد. برای مثال در صورتی که یک فیلد (char(10 تعریف نموده و کلمه test را در آن ذخیره نمائید، آن فیلد در واقع کلمه test را به علاوه ۶ کاراکتر space (که در مجموع ۱۰ کاراکتر می گردد) در این فیلد ذخیره می نماید.

VARCHAR : یک رشته با طول متغیر می باشد. این نوع، با بیشتر دیتابیس ها همخوانی دارد. در صورتی که یک فیلد (varchar(10 ایجاد نموده و کلمه test را در آن وارد نمائید، تنها test را ذخیره می نماید. این فیلد تا ۸۰۰۰ کاراکتر را می تواند ذخیره نماید.

  • BLOB / TEXT – نوع داده BLOB در MySQL می تواند داده های باینری آبجکت های بزرگ , فایل ها و غیر را ذخیره کند . در حالی که TEXT می تواند مقدار طولانی متنی را نگهداری کند

بر اساس طول رشته به ترتیب برای BLOB و TEXT به صورت زیر دسته بندی می شوند  TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB و مشابه آن TINYTEXT , TEXT , MEDIUMTEXT, LONGTEXT.

  • BINARY / VARBINARY – تفاوت هر دو در طول رشته ذخیره سازی شده بصورت ثبات و یا متغیر است (مشابه CHAR/VARCHAR)
  • ENUM / SET – برای دریافت و ذخیره مقادیری که به صورت محدود در نوع و یا طول با هم یکسان هستند استفاده می شود.

 

نوع داده تاریخ و زمان (Date/Time)

این نوع داده برای ذخیره سازی زمان فعلی در هنگام اجرای کویری در MySQL است .

  • DATE – این نوع داده مقادیری در فرمت YYY-MM-DD را قبول می کند .
  • TIME – این نوع داده مقدار زمان فعلی را در فرمت HH:MM:SS را قبول می کند .
  • DATETIME – کاملا مشخص است که این نوع , مقادیر تاریخ و زمان را با هم در فرمت YYY-MM-DD HH:MM:SS ذخیره می کندو
  • YEAR – این نوع داده ای , می تواند ۲ عدد از سال و یا ۴ تا از کل اعداد سال رو ذخیره کند .
  • TIMESTAMP – این نوع همانند DATETIME هر دو مقدار تاریخ و زمان را ذخیره می کند و آن را به صورت تایم استمپ عددی تبدیل می کند
حتما بخوانید  مرتب سازی سطرهای MySQL با Ajax

برای آشنایی با تاریخ و زمان در PHP کلیک کنید

 

مثال : انواع داده در MySQL

حالا , قرار است که کوئری MySQL برای ساخت جدول با انواع ویژگی ها رو بنویسیم .

کوئری SQL بالا یک جدول به نام event را با نام , زمان و وضعیت را اجیاد می کند و ساختار حدول بعد از ایجاد به صورت زیر است .

انواع داده در MySQL

حالا , یک سطر جدید از داده ها را اضافه می کنیم .

تا زمانی که مقادیر داخل کوئری INSERT به صورت صحیح مقدار دهی شده باشند , کوئری با موفقیت اجرا خواهد شد .

اگر داده هایی که قصد ذخیره سازی آن ها را در جدول مورد نظر داریم با نوع داده مشخص شده برای ذخیره سازی جدول یکسان نباشد , برای مثال اگر در ستون status به جز ACTIVE و INACTIVE مقدار دیگر ذخیره کنیم . چه اتفاقی می افتد ؟

در هنگام اجرای کوئری و ذخیره کردن مقدار TRUE در ستون status , مقدار NULL ذخیره خواهد شد.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید

حسن شفیعی
مدرس ، پنتستر ، توسعه دهنده اپلیکیشن های تحت وب ، عضو مرکز حامی نخبگان و از مدیران و اعضای رسمی تیم امنیتی آشیانه هستم . علاقه خاصی به زبان php و امنیت شبکه و لینوکس دارم و هر روز تلاش می کنم به این حوزه ها مسلط تر شوم و اطلاعاتم را در وب به اشتراک بگذارم

دیدگاه کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جدیدترین آموزش های آنلاین



دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

افزایش امنیت سایت

مجوزهای ما

logo-samandehi

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

دانلود کتاب

عضویت در خبرنامه