أنواع بيانات MySQL: الميزات والأمثلة

آخر تحديث: 7 سبتمبر 2025
نبذة عن الكاتب: تكنوديجيتال
  • تعرف أنواع البيانات كيفية تخزين القيم ومعالجتها واسترجاعها في MySQL، مما يضمن السلامة والأداء.
  • توفر الأنواع الرقمية والتاريخية والسلسلة نطاقات ودقة مختلفة لتوفير المساحة وتجنب أخطاء التقريب.
  • يؤدي اختيار النوع الصحيح (TinyInt، Decimal، DateTime، VarChar، Blob) إلى تحسين الاستعلامات والتخزين ودقة البيانات.
أنواع البيانات في MySQL

ما هي أنواع البيانات في MySQL ولماذا هي مهمة؟ تشير أنواع البيانات في MySQL إلى فئات المعلومات المختلفة التي يمكن تخزينها في قاعدة البيانات. تحدد هذه الأنواع كيفية تخزين البيانات ومعالجتها واسترجاعها. يُعد فهم أنواع البيانات الرقمية والتاريخية والنصية المختلفة أمرًا بالغ الأهمية لتصميم قواعد بيانات فعّالة وضمان سلامة ودقة السجلات. في هذه المقالة، سنستكشف كل نوع مع أمثلة واضحة لمساعدتك على فهم كيفية عملها وتطبيقاتها المحددة. هيا بنا نغوص في عالم أنواع البيانات الرائع في MySQL!

ما هي أنواع البيانات في MySQL؟

تشير أنواع البيانات في MySQL إلى الطريقة التي يتم بها تخزين المعلومات ومعالجتها داخل قاعدة البيانات. تحدد هذه الأنواع خصائص وقيود القيم التي يمكن تخزينها، مثل الأرقام أو التواريخ أو سلاسل النصوص. يتمتع كل نوع بخصائصه وقيوده الخاصة، وهو أمر بالغ الأهمية لضمان سلامة البيانات وتحسين أداء النظام. من المهم فهم هذه الأنواع لتصميم جداول فعالة وتجنب المشاكل المستقبلية عند معالجة البيانات.

يوجد في MySQL عدة أنواع رقمية، مثل TinyInt، وSmallInt، وInteger، والتي تمثل نطاقات مختلفة من الأعداد الصحيحة. هناك أيضًا أنواع مثل Float أو Decimal للتعامل مع الأرقام ذات الكسور العشرية الدقيقة.

بالإضافة إلى ذلك، هناك أنواع مرتبطة بالتاريخ والأوقات، مثل DateTime أو TimeStamp.
وأخيرًا، هناك أنواع السلاسل، مثل Char(n) أو VarChar(n)، والتي تسمح لك بتخزين نص بطول ثابت أو متغير على التوالى. هناك أيضًا ملفات أكبر للنصوص الطويلة مثل MediumText أو LongText.

يوفر هذا التنوع من الخيارات المرونة في تحديد كيفية تخزين بياناتنا ومعالجتها في MySQL حتى نتمكن من الحصول على نتائج دقيقة وفعالة!

أنواع رقمية

تُعدّ أنواع البيانات الرقمية أساسية في MySQL لتخزين البيانات الرقمية ومعالجتها. وتتيح لك أدوات مثل MySQL Workbench تعريف هذه الأنواع ومراجعتها لتحسين المخططات والاستعلامات.

يتم استخدام TinyInt لتخزين قيم الأعداد الصحيحة الصغيرة، بينما يقوم Bit أو Bool بتخزين بت واحد فقط من المعلومات المنطقية. من ناحية أخرى، يعد SmallInt مثاليًا للأعداد الصغيرة، ويتعامل MediumInt مع نطاقات أكبر، وInteger وInt مثاليان لقيم الأعداد الصحيحة القياسية. إذا كنت بحاجة إلى تخزين أعداد كبيرة للغاية، فيمكنك استخدام BigInt.

يمكن لمستخدمي MySQL الاختيار ليس فقط من بين أنواع رقمية مختلفة ولكن أيضًا التحكم الدقيق في الأعداد العشرية. تتضمن هذه الخيارات Float للحصول على أرقام ذات دقة مفردة أعلى، بالإضافة إلى xReal وDouble للحصول على دقة أعلى. إذا كنت تريد ذلك، هناك أيضًا خيار استخدام Decimal أو Dec أو Numeric حتى تتمكن من الحصول على التحكم المناسب في الأرقام العشرية في بياناتك الرقمية.

TinyInt

يتم استخدام نوع البيانات TinyInt في MySQL لتخزين قيم الأعداد الصحيحة الصغيرة. يسمح لك بتخزين الأعداد الصحيحة بين -128 و127، أو بين 0 و255 إذا كنت تستخدم المعدِّل UNSIGNED.

الميزة الرئيسية لاستخدام TinyInt هي أنها تشغل مساحة تخزين صغيرة جدًا، ولا تتطلب سوى بايت واحد. هذا يجعله مثاليًا للمواقف التي تحتاج فيها إلى توفير مساحة قاعدة البيانات، مثل عند تسجيل الحالات المنطقية (1 = صحيح، 0 = خطأ).

بت أو بول

نوع البيانات التالي في MySQL هو "bit" أو "bool". يتم استخدام هذا النوع من البيانات لتخزين القيم المنطقية، مثل true أو false. في قاعدة البيانات، يتم تمثيل القيم المنطقية بـ 1 لـ true و 0 لـ false. إنه مفيد بشكل خاص عندما نحتاج إلى تخزين الاستجابات الثنائية، مثل نعم/لا أو تشغيل/إيقاف. باستخدام هذا النوع من البيانات، يمكننا تحسين استخدام المساحة في قاعدة البيانات من خلال استخدام بت واحد فقط لتخزين المعلومات المنطقية.

يسمح لنا نوع البيانات "bit" أو "bool" بتخزين القيم المنطقية في MySQL بكفاءة ودقة.

  بيانات الأعمال في إسبانيا: المصادر والاستخدامات والأدوات الرئيسية

الشريط الضيق

SmallInt هو نوع بيانات رقمي في MySQL يستخدم لتخزين الأعداد الصحيحة الصغيرة. يمكن أن تحتوي على قيم من -32,768 إلى 32,767. على عكس TinyInt، يشغل SmallInt بايتين بدلاً من بايت واحد فقط، مما يسمح له بتمثيل نطاق أوسع من الأعداد الصحيحة.

يُعد هذا النوع من البيانات مفيدًا عندما تحتاج إلى تخزين بيانات رقمية أكبر من تلك التي يدعمها TinyInt ولكنك لا تحتاج بعد إلى النطاق الكامل الذي توفره Integer أو BigInt. يمكن استخدام SmallInt لتوفير المساحة وتحسين الأداء في المواقف التي تتطلب تخزين أعداد صحيحة صغيرة ولكن لا تكون هناك حاجة إلى الدقة القصوى.

متوسط ​​​​المستوى

MediumInt هو نوع بيانات رقمي آخر في MySQL يتم استخدامه لتخزين الأعداد الصحيحة الأكبر من SmallInt ولكن الأصغر من Integer أو BigInt. يشغل هذا النوع من البيانات 3 بايت من المساحة وله نطاق محتمل يتراوح من -8388608 إلى 8388607.

إحدى ميزات MediumInt هي قدرتها على تخزين كمية كبيرة من البيانات دون شغل مساحة كبيرة. يمكن أن يكون هذا مفيدًا عند العمل مع قواعد البيانات التي تحتوي على العديد من السجلات وتحتاج إلى تحسين استخدام مساحة التخزين. بالإضافة إلى ذلك، نظرًا لكونه حجمًا متوسطًا بين النوعين SmallInt وInteger، يمكن لـ MediumInt توفير الدقة المناسبة اعتمادًا على الاحتياجات المحددة للمشروع.

عدد صحيح وInt

Integer و Int هما أنواع بيانات رقمية في MySQL. يتم استخدام كلاهما لتخزين القيم الصحيحة بدون أرقام عشرية.

يتمتع النوع Integer بنطاق أوسع، مما يسمح لك بتخزين الأعداد الصحيحة من -2147483648 إلى 2147483647. من ناحية أخرى، يعد النوع Int نسخة أقصر من النوع Integer ويمكنه الاحتفاظ بقيم من -32768 إلى 32767. تعد هذه الأنواع من البيانات مثالية عندما نحتاج إلى تخزين كميات أو معرفات لا تتطلب أرقامًا عشرية.

BIGINT

يتم استخدام نوع البيانات "BigInt" في MySQL لتخزين الأعداد الصحيحة الكبيرة جدًا. يمكن أن تحتوي على قيم سلبية أو موجبة بحد أقصى يبلغ 8 بايت. وهذا يعني أنه يمكنه تخزين نطاق أكبر بكثير من القيم مقارنة بأنواع رقمية أصغر مثل TINYINT أو SMALLINT.

نظرًا لقدرتها على التعامل مع الأعداد الصحيحة الكبيرة للغاية، يعد نوع BigInt مفيدًا بشكل خاص عند العمل مع الحسابات الرياضية المعقدة أو عند إجراء عمليات تتضمن أعدادًا كبيرة جدًا. من خلال استخدام هذا النوع من البيانات بشكل صحيح، يمكنك التأكد من أن قاعدة البيانات الخاصة بك يمكنها التعامل مع أي كميات كبيرة دون فقدان الدقة أو الكفاءة.

تطفو

يتم استخدام نوع البيانات "Float" في MySQL لتخزين الأرقام ذات الفاصلة العشرية. يتم استخدامه لتمثيل القيم الحقيقية ويسمح بدقة تصل إلى 23 رقمًا. يعد هذا مثاليًا عندما يكون هناك حاجة إلى مجموعة واسعة من القيم العشرية، مثل المبالغ النقدية أو القياسات العلمية.

مثال على ذلك هو تخزين متوسط ​​درجة الحرارة الشهرية في قاعدة بيانات مناخية. يسمح نوع البيانات "Float" بتخزين قيم مثل 25.6 أو -10.2، مما يوفر الدقة اللازمة للحسابات اللاحقة دون فقدان أي تفاصيل في النتائج. بالنسبة للمبتدئين في لغة SQL، تساعد موارد مثل "SQL from scratch" في فهم كيفية التعامل مع أنواع البيانات الرقمية هذه.

xReal وDouble

يتم استخدام أنواع البيانات xReal وDouble في MySQL لتخزين الأرقام العشرية بدقة أعلى من أنواع البيانات الأساسية مثل Float.

يتم استخدام نوع البيانات xReal لتخزين الأرقام الحقيقية ذات الدقة المتغيرة، بينما يتم استخدام نوع البيانات Double لتمثيل الأرقام العشرية الأكبر. يسمح لك كلا النوعين بتحديد الحد الأقصى لعدد الأرقام المهمة والحد الأقصى لعدد الأرقام بعد النقطة العشرية، مما يوفر المرونة عند العمل مع القيم العشرية في MySQL.

الأعداد العشرية والعشرية والعددية

يتم استخدام نوع البيانات العشري، المعروف أيضًا باسم Dec أو Numeric، على نطاق واسع في MySQL لتخزين الأرقام بدقة عشرية محددة. يسمح لك هذا النوع من البيانات بتحديد العدد الإجمالي للأرقام وعدد الأرقام بعد النقطة العشرية. على سبيل المثال، إذا قمت بتعريف حقل Decimal(5,2)، فيمكنك تخزين أرقام يصل مجموعها إلى 5 أرقام ورقمين بعد النقطة العشرية.

يُعدّ هذا مفيدًا عند التعامل مع القيم النقدية أو أي نوع آخر من الأرقام التي تتطلب دقة عالية في الأرقام العشرية. علاوة على ذلك، يضمن نوع البيانات Decimal الحفاظ على الدقة المطلوبة في العمليات الحسابية التي تُجرى على هذه الحقول، مما يمنع أخطاء التقريب غير المرغوب فيها. لذا، إذا كنت تتعامل مع كميات عشرية كبيرة وتحتاج إلى الحفاظ على دقتها في قاعدة بيانات MySQL، فإن نوع البيانات Decimal هو الخيار الأمثل بلا شك!

  كيفية دمج Supabase مع Laravel لقاعدة البيانات والتخزين

أنواع التمور

تعد أنواع التاريخ في MySQL ضرورية لتخزين ومعالجة المعلومات المتعلقة بالتاريخ والأوقات. النوعان الأكثر شيوعًا هما DateTime وTimeStamp.

يتم استخدام DateTime لتمثيل تاريخ ووقت محددين، بينما يتم استخدام TimeStamp بشكل أساسي لحفظ الطابع الزمني عند إدراج سجل أو تحديثه في جدول. كلاهما لهما تنسيقات محددة مسبقًا تسهل استخدامها والحسابات اللاحقة. تُعد هذه الأنواع من البيانات ضرورية عندما نحتاج إلى العمل بمعلومات مؤقتة في قواعد بيانات MySQL الخاصة بنا. تعرف على المزيد عنهم أدناه!

التاريخ والوقت

DateTime هو نوع بيانات في MySQL يستخدم لتخزين قيم التاريخ والوقت. إنه يسمح بتمثيل التواريخ من عام 1000 إلى عام 9999، إلى جانب الوقت المقابل. إنه مفيد جدًا عندما نحتاج إلى إجراء عمليات مرتبطة بالتاريخ والوقت، مثل فرز البيانات أو تصفيتها حسب فترات زمنية محددة.

يتم تمثيل هذا النوع من البيانات بتنسيق YYYY-MM-DD HH:MM:SS، حيث يقابل YYYY السنة، وMM الشهر، وDD اليوم، وHH الساعة (بتنسيق 24 ساعة)، وMM الدقائق، وSS الثواني. باستخدام DateTime يمكننا تخزين التواريخ الماضية والمستقبلية، مما يمنحنا المرونة للعمل مع سيناريوهات زمنية مختلفة في قواعد بيانات MySQL الخاصة بنا.

الطابع الزمني

يتم استخدام نوع البيانات TimeStamp في MySQL لتخزين تاريخ ووقت محددين، بما في ذلك المنطقة الزمنية. إنه مفيد جدًا عندما نحتاج إلى تسجيل اللحظة المحددة التي تم فيها تنفيذ إجراء أو معاملة في قاعدة البيانات الخاصة بنا.

تكمن ميزة TimeStamp في أنها تسمح لنا بإجراء العمليات والحسابات بالتواريخ بطريقة بسيطة، مثل الحصول على الفرق بين طابعين زمنيين. بالإضافة إلى ذلك، فإنه يخزن المعلومات بدقة تصل إلى ميكروثانية، وهو أمر مثالي عندما نحتاج إلى مستوى عالٍ من التفاصيل الزمنية.

أنواع السلسلة

تعد أنواع السلاسل في MySQL ضرورية لتخزين البيانات النصية ومعالجتها. أحد أكثر الأنواع شيوعًا هو Char(n)، والذي يسمح لك بتخزين سلاسل أحرف ثابتة بطول أقصى محدد. من ناحية أخرى، يتم استخدام VarChar(n) للسلاسل المتغيرة ذات الطول الأقصى المحدد. بالإضافة إلى ذلك، هناك أنواع أخرى مثل TinyText و TinyBlob، و Blob و Text، و MediumBlob و MediumText، بالإضافة إلى LongBlob و LongText التي تسمح لك بالتعامل مع كميات كبيرة من البيانات النصية.

تُتيح أنواع النصوص المختلفة هذه للمبرمجين مرونةً في تخزين البيانات النصية في قاعدة بيانات MySQL. ويضمن استخدامها بشكل صحيح أداءً مثاليًا ووظائف سليمة لتطبيقاتنا عند التعامل مع النصوص. بدءًا من النصوص القصيرة وصولًا إلى الملفات الكبيرة أو المستندات الكاملة، توفر الأنواع المختلفة الأدوات اللازمة للتكيف مع أي حالة يكون فيها النص عنصرًا أساسيًا في تطبيقك أو مشروعك على الويب. للاطلاع على أمثلة عملية من مشاريع حقيقية، راجع أمثلة قواعد البيانات.

حرف (ن)

يتم استخدام نوع البيانات Char(n) في MySQL لتخزين سلاسل الأحرف ذات طول ثابت. يمثل الحرف 'n' الحد الأقصى لعدد الأحرف التي يمكن أن يحتويها السلسلة. على سبيل المثال، إذا قمنا بتعريف حقل Char(10)، فيمكننا تخزين 10 أحرف فقط، حتى لو كانت السلسلة أقصر.

يُعد هذا النوع من البيانات مفيدًا عندما نعلم أننا سنحتاج دائمًا إلى تخزين سلاسل ذات نفس الطول، لأنه يوفر أداءً أفضل مقارنة بأنواع البيانات المتغيرة الأخرى مثل VarChar(n). ومع ذلك، يرجى ملاحظة أنه إذا لم تستخدم 10 أحرف كاملة في كل سجل، فسيتم ملؤه تلقائيًا بمسافات فارغة حتى يصل إلى الطول الأقصى المحدد.

فارشار(ن)

VarChar(n) هو نوع بيانات آخر يستخدم على نطاق واسع في MySQL. يسمح بتخزين سلاسل أحرف متغيرة، مع طول أقصى محدد بالقيمة n. وهذا يعني أنه بإمكاننا تحديد الحد الأقصى لعدد الأحرف التي نريد تخزينها لكل سجل.

  إنشاء الجداول في MySQL: أمثلة وتوضيحات

على سبيل المثال، إذا استخدمنا VarChar(50)، فسوف نقول إننا نريد حفظ سلاسل تصل إلى 50 حرفًا. من المهم ملاحظة أن هذا النوع من البيانات سيستخدم فقط المساحة المطلوبة لتخزين البيانات الفعلية، وهو ما قد يكون مفيدًا عندما لا نعرف على وجه التحديد عدد الأحرف التي سنحتاجها لكل سجل.

TinyText و TinyBlob

TinyText و TinyBlob هما نوعان من البيانات في MySQL يتم استخدامهما لتخزين النص أو المعلومات الثنائية الصغيرة.

TinyText هو نوع بيانات يمكنه تخزين ما يصل إلى 255 حرفًا، بينما TinyBlob يمكنه تخزين ما يصل إلى 255 بايت من المعلومات. تكون هذه الأنواع من البيانات مفيدة عندما تحتاج إلى تخزين كمية صغيرة من النص أو البيانات الثنائية في عمود من جدول. وهي مثالية للحقول مثل الأسماء القصيرة، أو الأوصاف المختصرة، أو الصور المصغرة. بفضل قدرتها المحدودة، تساعد أنواع البيانات هذه على تحسين أداء النظام من خلال عدم شغل مساحة كبيرة على القرص.

الكتلة والنص

Blob و Text هما نوعان من البيانات في MySQL يتم استخدامهما لتخزين كميات كبيرة من المعلومات.

يتم استخدام نوع Blob لتخزين البيانات الثنائية، مثل الصور أو ملفات الوسائط. من ناحية أخرى، يتم استخدام نوع النص لتخزين النصوص الطويلة، مثل صفحات الويب أو المستندات الطويلة. تُعد هذه الأنواع من البيانات مفيدة بشكل خاص عندما تحتاج إلى تخزين معلومات تتجاوز حدود أنواع أخرى أصغر حجمًا. يسمح لك كل من Blob وText بالتعامل مع كميات كبيرة من البيانات في قاعدة بيانات MySQL الخاصة بك دون أي مشاكل.

MediumBlob و MediumText

MediumBlob و MediumText هما نوعان من البيانات في MySQL يسمحان لك بتخزين كميات كبيرة من المعلومات.
يتم استخدام النوع MediumBlob لتخزين البيانات الثنائية مثل الصور أو ملفات الوسائط، بينما يتم استخدام النوع MediumText لتخزين النص الطويل مثل الفقرات الطويلة أو المستندات بأكملها. تُعد هذه الأنواع من البيانات مثالية عندما تحتاج إلى تخزين كميات كبيرة من المحتوى دون القلق بشأن قيود الحجم. يمكنك استخدامها في تطبيقات الويب أو المدونات أو أي نظام حيث يكون من الضروري التعامل مع كميات كبيرة من المعلومات النصية أو الثنائية.

LongBlob و LongText

LongBlob و LongText هما أنواع بيانات في MySQL تُستخدم لتخزين كميات كبيرة من المعلومات. وهي مثالية عندما نحتاج إلى حفظ نص أو ملفات كبيرة، مثل الصور أو المستندات.

يمكن لهذه الأنواع من البيانات تخزين ما يصل إلى 4 جيجابايت من المعلومات، مما يجعلها متعددة الاستخدامات للغاية لتطبيقات مختلفة. بالإضافة إلى ذلك، فهي سهلة الاستخدام لأنها لا تتطلب تحديد طول أقصى مثل الأنواع الأخرى من السلاسل.

يعد LongBlob و LongText خيارين مثاليين إذا كنت بحاجة إلى تخزين كمية كبيرة من المحتوى في قاعدة بيانات MySQL الخاصة بك.

ما هو مدير قاعدة البيانات؟
مقالة ذات صلة:
7 جوانب رئيسية يجب أن تعرفها عن ماهية مدير قاعدة البيانات

اختتام

في هذه المقالة قمنا باستكشاف أنواع البيانات المختلفة في MySQL والميزات المميزة لكل منها. لقد تعلمنا عن الأنواع الرقمية، مثل TinyInt، وSmallInt، وInteger، والتي تسمح لنا بتخزين قيم صحيحة ذات نطاقات مختلفة. لقد نظرنا أيضًا إلى أنواع التاريخ، مثل DateTime وTimeStamp، والتي تعد مفيدة لتمثيل التواريخ والأوقات في قواعد البيانات الخاصة بنا.

بالإضافة إلى ذلك، نظرنا إلى أنواع السلاسل مثل Char(n) وVarChar(n)، والتي تستخدم لتخزين سلاسل أحرف بطول ثابت أو متغير على التوالي. كما تعلمنا أيضًا عن أنواع أخرى مثل Blob وText للتعامل بكفاءة مع كميات كبيرة من البيانات الثنائية أو النصية.

من المهم أن نأخذ هذه الأنواع المختلفة من البيانات في الاعتبار عند تصميم قاعدة البيانات الخاصة بنا في MySQL. إن معرفة خصائصها تسمح لنا باختيار النوع الأكثر ملاءمة وفقًا للاحتياجات المحددة للمشروع.

آمل أن تساعدك هذه المقالة على فهم أنواع البيانات بشكل أفضل في MySQL! تذكر أنه يجب عليك استخدامها بشكل صحيح لتحسين الأداء والكفاءة في تطبيقاتك.