SQL Data Types for MySQL, SQL Server, and MS Access
در SQL هر ستون باید نوع داده (Data Type) مشخص داشته باشه تا پایگاه داده بدونه چه نوع اطلاعاتی ذخیره کنه و چه محدودیتهایی اعمال کنه. نوع دادهها در MySQL، SQL Server و MS Access کمی با هم متفاوت هستن، اما خیلی مشابه هستن.
🔹 انواع داده عددی (Numeric)
نوع داده | MySQL | SQL Server | MS Access | توضیح |
---|---|---|---|---|
Integer | INT , TINYINT , SMALLINT , MEDIUMINT , BIGINT | INT , BIGINT , SMALLINT , TINYINT | Integer , Long | اعداد صحیح |
Decimal/Exact | DECIMAL(p,s) , NUMERIC(p,s) | DECIMAL(p,s) , NUMERIC(p,s) | Decimal , Currency | اعداد اعشاری با دقت مشخص |
Float/Approximate | FLOAT , DOUBLE , REAL | FLOAT , REAL | Single , Double | اعداد اعشاری تقریبی |
🔹 انواع داده رشتهای (Character / String)
نوع داده | MySQL | SQL Server | MS Access | توضیح |
---|---|---|---|---|
ثابت طول | CHAR(n) | CHAR(n) | Text | رشته با طول ثابت |
طول متغیر | VARCHAR(n) | VARCHAR(n) | Text | رشته با طول متغیر |
متن طولانی | TEXT , MEDIUMTEXT , LONGTEXT | TEXT , NTEXT | Memo | متن طولانی |
رشته یونیکد | NCHAR(n) , NVARCHAR(n) | NCHAR(n) , NVARCHAR(n) | - | ذخیره متن یونیکد (UTF-16) |
🔹 انواع داده تاریخ و زمان (Date / Time)
نوع داده | MySQL | SQL Server | MS Access | توضیح |
---|---|---|---|---|
تاریخ | DATE | DATE | Date/Time | فقط تاریخ |
زمان | TIME | TIME | Date/Time | فقط زمان |
تاریخ و زمان | DATETIME , TIMESTAMP | DATETIME , SMALLDATETIME | Date/Time | تاریخ و ساعت با هم |
سال | YEAR | - | - | فقط سال (MySQL) |
🔹 انواع داده منطقی (Boolean / Bit)
نوع داده | MySQL | SQL Server | MS Access | توضیح |
---|---|---|---|---|
Boolean | BOOLEAN , TINYINT(1) | BIT | Yes/No | مقادیر True/False |
🔹 انواع داده دیگر
نوع داده | MySQL | SQL Server | MS Access | توضیح |
---|---|---|---|---|
Auto Increment | AUTO_INCREMENT | IDENTITY(start, step) | AutoNumber | مقدار خودکار افزایشی |
Binary / Blob | BLOB , LONGBLOB | BINARY , VARBINARY , IMAGE | OLE Object | ذخیره فایل باینری (عکس، فایل) |
UUID / GUID | CHAR(36) , BINARY(16) | UNIQUEIDENTIFIER | - | شناسه جهانی یکتا |
🔹 نکات مهم
-
انتخاب نوع داده مناسب باعث صرفهجویی در فضای ذخیرهسازی و بهبود سرعت میشود.
-
برای متنهای کوتاه از
VARCHAR
و برای متن طولانی ازTEXT
یاMemo
استفاده کنید. -
ستونهای کلید اصلی (
PRIMARY KEY
) معمولاً عدد صحیح یا GUID هستن. -
BIT
وBOOLEAN
در SQL Server و MySQL کمی متفاوت عمل میکنن؛ توجه داشته باشید. -
در MS Access، بیشتر انواع دادهها ساده هستند ولی قابلیتهای پیشرفته SQL Server یا MySQL را ندارند.