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

MySQL یکی از محبوب‌ترین سیستم‌های مدیریت پایگاه داده است که از انواع مختلف داده برای ذخیره‌سازی و مدیریت اطلاعات استفاده می‌کند. انتخاب نوع داده مناسب برای ستون‌ها در جداول پایگاه داده از اهمیت زیادی برخوردار است، زیرا تأثیر مستقیمی بر عملکرد و کارایی پرس‌وجوها دارد. در این مقاله به بررسی انواع داده در MySQL می‌پردازیم.

دسته‌بندی انواع داده

  1. اعداد صحیح (Numeric Data Types)
  2. اعداد اعشاری (Floating-Point Data Types)
  3. رشته‌ها (String Data Types)
  4. تاریخ و زمان (Date and Time Data Types)
  5. انواع داده فضایی (Spatial Data Types)
  6. انواع داده بولی (Boolean Data Types)

1. اعداد صحیح (Numeric Data Types)

  • TINYINT: عدد صحیح با سایز 1 بایت، مقادیر بین -128 تا 127 یا 0 تا 255 (unsigned).
  • SMALLINT: عدد صحیح با سایز 2 بایت، مقادیر بین -32768 تا 32767 یا 0 تا 65535 (unsigned).
  • MEDIUMINT: عدد صحیح با سایز 3 بایت، مقادیر بین -8388608 تا 8388607 یا 0 تا 16777215 (unsigned).
  • INT: عدد صحیح با سایز 4 بایت، مقادیر بین -2147483648 تا 2147483647 یا 0 تا 4294967295 (unsigned).
  • BIGINT: عدد صحیح با سایز 8 بایت، مقادیر بین -9223372036854775808 تا 9223372036854775807 یا 0 تا 18446744073709551615 (unsigned).

2. اعداد اعشاری (Floating-Point Data Types)

  • FLOAT: عدد اعشاری با دقت تک (single-precision floating-point) و سایز 4 بایت.
  • DOUBLE: عدد اعشاری با دقت دوگانه (double-precision floating-point) و سایز 8 بایت.
  • DECIMAL: عدد اعشاری با دقت ثابت که برای ذخیره‌سازی مقادیر دقیق (مانند داده‌های مالی) استفاده می‌شود. سایز این نوع داده وابسته به تعداد ارقام مشخص شده است.

3. رشته‌ها (String Data Types)

  • CHAR: رشته ثابت با طول مشخص، طول حداکثر 255 کاراکتر.
  • VARCHAR: رشته متغیر با طول مشخص، طول حداکثر 65535 کاراکتر.
  • TEXT: رشته متنی بلند با طول حداکثر 65535 کاراکتر.
  • MEDIUMTEXT: رشته متنی متوسط با طول حداکثر 16777215 کاراکتر.
  • LONGTEXT: رشته متنی بلند با طول حداکثر 4294967295 کاراکتر.
  • BLOB: داده باینری بلند با طول حداکثر 65535 بایت.
  • MEDIUMBLOB: داده باینری متوسط با طول حداکثر 16777215 بایت.
  • LONGBLOB: داده باینری بلند با طول حداکثر 4294967295 بایت.

4. تاریخ و زمان (Date and Time Data Types)

  • DATE: تاریخ در قالب ‘YYYY-MM-DD’.
  • TIME: زمان در قالب ‘HH:MM:SS’.
  • DATETIME: ترکیب تاریخ و زمان در قالب ‘YYYY-MM-DD HH:MM:SS’.
  • TIMESTAMP: ترکیب تاریخ و زمان با قابلیت ذخیره‌سازی منطقه زمانی (timezone) و به‌روزرسانی خودکار.
  • YEAR: سال در قالب ‘YYYY’.

5. انواع داده فضایی (Spatial Data Types)

  • GEOMETRY: داده فضایی عمومی.
  • POINT: نقطه فضایی.
  • LINESTRING: خط فضایی.
  • POLYGON: چندضلعی فضایی.
  • MULTIPOINT: مجموعه‌ای از نقاط فضایی.
  • MULTILINESTRING: مجموعه‌ای از خطوط فضایی.
  • MULTIPOLYGON: مجموعه‌ای از چندضلعی‌های فضایی.
  • GEOMETRYCOLLECTION: مجموعه‌ای از انواع داده فضایی.

6. انواع داده بولی (Boolean Data Types)

  • BOOLEAN: نوع داده بولی که معمولاً به عنوان یک عدد صحیح با مقادیر 0 (false) و 1 (true) استفاده می‌شود.

مثال‌ها

ایجاد یک جدول با انواع داده مختلف

CREATE TABLE example_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    age TINYINT,
    salary DECIMAL(10, 2),
    join_date DATE,
    active BOOLEAN,
    profile_picture BLOB
);
idnameagesalaryjoin_dateactiveprofile_picture
1Ali302500.502023-01-151[BLOB Data]
2Sara253000.002022-03-100[BLOB Data]

نتیجه‌گیری

انتخاب نوع داده مناسب برای ستون‌های جدول در MySQL از اهمیت بالایی برخوردار است. با شناخت انواع داده مختلف و کاربردهای هر کدام، می‌توانید بهینه‌ترین ساختار را برای جداول پایگاه داده خود طراحی کنید که منجر به بهبود عملکرد و کارایی پایگاه داده خواهد شد.

منابع

  1. MySQL Documentation
  2. MySQL Tutorial
  3. W3Schools MySQL Data Types

کلیدواژه‌ها

  • MySQL
  • انواع داده
  • نوع داده عددی
  • نوع داده رشته‌ای
  • نوع داده تاریخ و زمان
  • نوع داده فضایی
  • نوع داده بولی
خروج از نسخه موبایل