SQLite أنواع البيانات مع الأمثلة: Int، Text، Numeric، Real، Blob
أنواع البيانات في SQLite مختلفة مقارنة بأنظمة إدارة قواعد البيانات الأخرى. في SQLite، يمكنك الإعلان عن أنواع البيانات بشكل طبيعي، ولكن لا يزال بإمكانك تخزين أي قيمة في أي نوع بيانات.
SQLite يتم كتابته أقل. لا توجد أنواع بيانات، يمكنك تخزين أي نوع من البيانات التي تريدها في أي عمود. وهذا ما يسمى الأنواع الديناميكية.
في الأنواع الثابتة، كما هو الحال في أنظمة إدارة قواعد البيانات الأخرى، إذا قمت بتعريف عمود يحتوي على عدد صحيح من نوع البيانات، فيمكنك فقط إدراج قيم عدد صحيح من نوع البيانات. ومع ذلك، في الأنواع الديناميكية مثل SQLite، يتم تحديد نوع العمود من خلال القيمة المدرجة. وثم SQLite يخزن تلك القيمة حسب نوعها.
SQLite فئات التخزين
In SQLite هناك طرق تخزين مختلفة اعتمادًا على نوع القيمة، وتسمى طرق التخزين المختلفة هذه بفئات التخزين SQLite.
فيما يلي فئات التخزين المتوفرة في SQLite:
- اغية - يتم استخدام فئة التخزين هذه لتخزين أي قيمة فارغة.
- INTEGER - يتم تخزين أي قيمة رقمية كقيمة عددية موقعة (يمكن أن تحتوي على قيم عددية موجبة وسالبة). القيم الصحيحة في SQLite يتم تخزينها إما في 1 أو 2 أو 3 أو 4 أو 6 أو 8 بايت من التخزين اعتمادًا على قيمة الرقم.
- ريال – يتم استخدام فئة التخزين هذه لتخزين قيم الفاصلة العائمة، ويتم تخزينها في مساحة تخزين تبلغ 8 بايت.
- TEXT - يخزن سلاسل نصية. كما أنه يدعم ترميزًا مختلفًا مثل UTF-8 أو UTF-16 BE أو UTF-26LE.
- BLOB - يستخدم لتخزين الملفات الكبيرة مثل الصور أو الملفات النصية. يتم تخزين القيمة كمصفوفة بايت بنفس قيمة الإدخال.
SQLite نوع التقارب
تقارب النوع هو النوع الموصى به من البيانات المخزنة في عمود. ومع ذلك، لا يزال بإمكانك تخزين أي نوع من البيانات كما تريد، ويوصى باستخدام هذه الأنواع وليست مطلوبة.
تم تقديم هذه الأنواع في SQLite لتحقيق أقصى قدر من التوافق بين SQLite وغيرها نظام إدارة قواعد البيانات.
أي عمود تم الإعلان عنه في SQLite يتم تعيين نوع تقارب لقاعدة البيانات اعتمادًا على نوع البيانات المعلن عنها. هنا رفع نوع الانتماءات في SQLite:
- نص.
- رقمي.
- عدد صحيح.
- حقا.
- سائل لزج.
إليك الطريقة SQLite يحدد تقارب العمود من نوع البيانات المعلن عنه:
- يتم تعيين تقارب INTEGER إذا كان النوع المعلن يحتوي على سلسلة "INT".
- يتم تعيين قرابة النص، إذا كان العمود يحتوي على نوع البيانات الخاص به أحد السلاسل التالية "TEXT"،"CHARأو "كلوب". على سبيل المثال، سيتم تعيين نوع VARCHAR لتقارب TEXT.
- يتم تعيين تقارب BLOB إذا لم يكن العمود يحتوي على نوع محدد أو كان نوع البيانات هو BLOB.
- يتم تعيين التقارب الحقيقي إذا كان النوع يحتوي على أحد السلاسل التالية "دوب"،"ريالأو "تطفو".
- يتم تعيين تقارب NUMERIC لأي نوع بيانات آخر.
يوجد أيضًا جدول على نفس الصفحة يوضح بعض الأمثلة للتعيين بين SQLite أنواع البيانات وارتباطاتها التي تحددها هذه القواعد:

أمثلة على تخزين أنواع البيانات في SQLite
رقم التخزين مع SQLite عدد صحيح
يحتوي أي عمود من نوع البيانات على الكلمة "INT"، وسيتم تعيين تقارب من النوع INTEGER له. سيتم تخزينه في فئة تخزين عدد صحيح.
يتم تعيين جميع أنواع البيانات التالية باعتبارها قرابة من نوع INTEGER:
- عدد صحيح، عدد صحيح، كبير.
- إنت2، إنت4، إنت8.
- TINYINT، SMALLINT، MEDIUM INT.
عدد صحيح من نوع التقارب في SQLite يمكنه الاحتفاظ بأي رقم صحيح معين (إيجابي أو سلبي) من 1 بايت إلى 8 بايت كحد أقصى.
تخزين الأرقام مع SQLite ريال
الأرقام الحقيقية هي الأرقام ذات الدقة العائمة المزدوجة. SQLite يتم تخزين الأرقام الحقيقية على هيئة مصفوفة مكونة من 8 بايتات. فيما يلي قائمة بأنواع البيانات في SQLite التي يمكنك استخدامها لتخزين الأرقام الحقيقية:
- حقا.
- مزدوج.
- دقة مضاعفة.
- يطفو.
تخزين البيانات الكبيرة باستخدام SQLite BLOB
هناك طريقة واحدة فقط لتخزين الملفات الكبيرة في ملف SQLite قاعدة البيانات، ويستخدم نوع البيانات BLOB. يُستخدم نوع البيانات هذا لتخزين الملفات الكبيرة مثل الصور والملفات (من أي نوع) وما إلى ذلك. ويتم تحويل الملف إلى مصفوفة بايت ثم تخزينه بنفس حجم ملف الإدخال.
تخزين SQLite القيم المنطقية
SQLite لا يحتوي على فئة تخزين منطقية منفصلة. ومع ذلك، يتم تخزين القيم المنطقية كأعداد صحيحة مع القيم 0 (كخطأ) أو 1 (كصحيح).
تخزين SQLite التواريخ والأوقات
يمكنك إعلان التاريخ أو الأوقات في التاريخ SQLite باستخدام أحد أنواع البيانات التالية:
- تاريخ
- التاريخ والوقت
- الطابع الزمني
- الوقت
لاحظ أنه لا توجد فئة تخزين DATE أو DATETIME منفصلة SQLite. بدلاً من ذلك، يتم تخزين أي قيم معلنة باستخدام أحد أنواع البيانات السابقة في فئة تخزين اعتمادًا على تنسيق التاريخ للقيمة المدرجة على النحو التالي:
- TEXT - إذا قمت بإدراج قيمة التاريخ بتنسيق سلسلة ISO8601 ("YYYY-MM-DD HH:MM:SS.SSS").
- ريال - إذا قمت بإدخال قيمة التاريخ في أرقام الأيام الجوليانية، أي عدد الأيام منذ الظهر في جرينتش في 24 نوفمبر 4714 قبل الميلاد، فسيتم تخزين قيمة التاريخ على أنها حقيقية.
- INTEGER as يونكس الوقت، عدد الثواني منذ 1970-01-01 00:00:00 بالتوقيت العالمي.
ملخص
SQLite يدعم مجموعة واسعة من أنواع البيانات. ولكنها في الوقت نفسه مرنة جدًا فيما يتعلق بأنواع البيانات. يمكنك وضع أي نوع قيمة في أي نوع بيانات. SQLite كما قدم أيضًا بعض المفاهيم الجديدة في أنواع البيانات مثل تقارب النوع وفئات التخزين، على عكس أنظمة إدارة قواعد البيانات الأخرى.
