SQL Data Types for MySQL, SQL Server, and MS Access

در SQL هر ستون باید نوع داده (Data Type) مشخص داشته باشه تا پایگاه داده بدونه چه نوع اطلاعاتی ذخیره کنه و چه محدودیت‌هایی اعمال کنه. نوع داده‌ها در MySQL، SQL Server و MS Access کمی با هم متفاوت هستن، اما خیلی مشابه هستن.

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

نوع دادهMySQLSQL ServerMS Accessتوضیح
IntegerINT, TINYINT, SMALLINT, MEDIUMINT, BIGINTINT, BIGINT, SMALLINT, TINYINTInteger, Longاعداد صحیح
Decimal/ExactDECIMAL(p,s), NUMERIC(p,s)DECIMAL(p,s), NUMERIC(p,s)Decimal, Currencyاعداد اعشاری با دقت مشخص
Float/ApproximateFLOAT, DOUBLE, REALFLOAT, REALSingle, Doubleاعداد اعشاری تقریبی

🔹 انواع داده رشته‌ای (Character / String)

نوع دادهMySQLSQL ServerMS Accessتوضیح
ثابت طولCHAR(n)CHAR(n)Textرشته با طول ثابت
طول متغیرVARCHAR(n)VARCHAR(n)Textرشته با طول متغیر
متن طولانیTEXT, MEDIUMTEXT, LONGTEXTTEXT, NTEXTMemoمتن طولانی
رشته یونیکدNCHAR(n), NVARCHAR(n)NCHAR(n), NVARCHAR(n)-ذخیره متن یونیکد (UTF-16)

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

نوع دادهMySQLSQL ServerMS Accessتوضیح
تاریخDATEDATEDate/Timeفقط تاریخ
زمانTIMETIMEDate/Timeفقط زمان
تاریخ و زمانDATETIME, TIMESTAMPDATETIME, SMALLDATETIMEDate/Timeتاریخ و ساعت با هم
سالYEAR--فقط سال (MySQL)

🔹 انواع داده منطقی (Boolean / Bit)

نوع دادهMySQLSQL ServerMS Accessتوضیح
BooleanBOOLEAN, TINYINT(1)BITYes/Noمقادیر True/False

🔹 انواع داده دیگر

نوع دادهMySQLSQL ServerMS Accessتوضیح
Auto IncrementAUTO_INCREMENTIDENTITY(start, step)AutoNumberمقدار خودکار افزایشی
Binary / BlobBLOB, LONGBLOBBINARY, VARBINARY, IMAGEOLE Objectذخیره فایل باینری (عکس، فایل)
UUID / GUIDCHAR(36), BINARY(16)UNIQUEIDENTIFIER-شناسه جهانی یکتا

🔹 نکات مهم

  • انتخاب نوع داده مناسب باعث صرفه‌جویی در فضای ذخیره‌سازی و بهبود سرعت می‌شود.

  • برای متن‌های کوتاه از VARCHAR و برای متن طولانی از TEXT یا Memo استفاده کنید.

  • ستون‌های کلید اصلی (PRIMARY KEY) معمولاً عدد صحیح یا GUID هستن.

  • BIT و BOOLEAN در SQL Server و MySQL کمی متفاوت عمل می‌کنن؛ توجه داشته باشید.

  • در MS Access، بیشتر انواع داده‌ها ساده هستند ولی قابلیت‌های پیشرفته SQL Server یا MySQL را ندارند.