در MySQL، انواع دادهها برای ذخیره و مدیریت اطلاعات در جداول استفاده میشوند.
انتخاب نوع داده مناسب نقش مهمی در بهینهسازی عملکرد پایگاه داده، کاهش مصرف فضای ذخیرهسازی و افزایش سرعت پردازش دارد. انواع دادههای MySQL به چند دسته کلی تقسیم میشوند: دادههای عددی، متنی، تاریخی و دادههای ویژه.
۱. دادههای عددی (Numeric Data Types)
دادههای عددی در MySQL برای ذخیره مقادیر عددی استفاده میشوند و به دو دسته عدد صحیح و عدد اعشاری تقسیم میشوند:
✅ اعداد صحیح (Integer Types)
TINYINT
(1 بایت) → محدوده:-128
تا127
(بدون علامت:0
تا255
)SMALLINT
(2 بایت) → محدوده:-32,768
تا32,767
MEDIUMINT
(3 بایت) → محدوده:-8,388,608
تا8,388,607
INT
یاINTEGER
(4 بایت) → محدوده:-2,147,483,648
تا2,147,483,647
BIGINT
(8 بایت) → محدوده:±9,223,372,036,854,775,807
✅ اعداد اعشاری (Floating-Point & Fixed-Point Types)
FLOAT(m, d)
(4 بایت) → مقدار اعشاری با دقت متغیرDOUBLE
یاREAL
(8 بایت) → مقدار اعشاری با دقت بالاترDECIMAL(m, d)
یاNUMERIC(m, d)
→ مقدار اعشاری دقیق برای دادههای مالی
۲. دادههای متنی (String Data Types)
دادههای متنی برای ذخیره رشتهها (متون) استفاده میشوند و شامل موارد زیر هستند:
✅ رشتههای کوتاه
CHAR(n)
→ طول ثابت، بین 1 تا 255 کاراکتر (مناسب برای دادههایی با طول ثابت مانند کد ملی)VARCHAR(n)
→ طول متغیر، حداکثر 65,535 کاراکتر (بسته به تنظیماتrow_format
)
✅ رشتههای طولانی
TEXT
→ مناسب برای متون بلند مانند توضیحاتTINYTEXT
(حداکثر 255 کاراکتر)TEXT
(حداکثر 65,535 کاراکتر)MEDIUMTEXT
(حداکثر 16,777,215 کاراکتر)LONGTEXT
(حداکثر 4 گیگابایت)
✅ ذخیره دادههای باینری (Binary Data Types)
BLOB
→ مناسب برای ذخیره فایلهای باینری مانند تصاویر و ویدئوهاTINYBLOB
،BLOB
،MEDIUMBLOB
،LONGBLOB
(مشابهTEXT
)
۳. دادههای تاریخی و زمانی (Date & Time Data Types)
MySQL انواع دادههای تاریخ و زمان را برای ذخیره اطلاعات زمانی ارائه میدهد:
DATE
(3 بایت) → قالبYYYY-MM-DD
(از سال 1000 تا 9999)DATETIME
(8 بایت) → قالبYYYY-MM-DD HH:MI:SS
TIMESTAMP
(4 بایت) → مناسب برای ثبت زمان رخدادها، مقدار آن به منطقه زمانی سرور وابسته استTIME
(3 بایت) → قالبHH:MI:SS
برای ذخیره مدت زمانYEAR
(1 بایت) → فقط برای ذخیره سال (محدوده 1901 تا 2155)
۴. دادههای ویژه (Special Data Types)
ENUM('value1', 'value2', ...)
→ ذخیره مجموعهای از مقادیر مجاز (مانند وضعیت سفارش: “در حال بررسی”، “ارسال شده”، “تحویل داده شده”)SET('value1', 'value2', ...)
→ مشابهENUM
اما امکان انتخاب چند مقدار همزمان وجود دارد
نتیجهگیری
انتخاب نوع داده مناسب در MySQL نقش مهمی در بهینهسازی عملکرد پایگاه داده و کاهش مصرف منابع دارد. در هنگام طراحی جداول، باید بر اساس نیازهای پروژه، نوع داده صحیح را انتخاب کرد تا عملکرد بهینه و پردازش سریعتری داشته باشیم.