برمجة

SQLite

ما هو SQLite؟

كتب D. Richard Hipp SQLite سنة 2000. المحرك يوضع داخل البرنامج. لا ينتظر عملية أخرى. كل الجداول عادة في ملف .sqlite أو .db واحد. لغة SQL تُستخدم هنا أيضاً لكن المحرك ليس MySQL. MySQL خادم منفصل ويقدر كثيرون أن يكتبوا في الوقت نفسه. SQLite مرتاح مع كاتب واحد ويسمح بكثير من القراء أيضاً. الفرق عن Python هو هذا: Python يشغّل البرنامج وSQLite يحفظ الصفوف. في مكتبة Python القياسية sqlite3، وبها يُفتح الملف. الفرق عن Node.js هو هذا أيضاً: Node يشغّل JavaScript. يقدر أن يفتح ملف SQLite بحزمة أو بوحدة Node الجديد نفسه. Node القديم ليست فيه تلك الوحدة.

فيمَ يُستخدم SQLite؟

SQLite لبيانات مستخدم واحد أو جهاز واحد. الإعداد والملاحظة والفهرس الصغير مكانه.

  • قاعدة تطبيق الهاتف المحلية
  • ملاحظة يحفظها المتصفح
  • إعداد برنامج سطح المكتب
  • قاعدة موقع صغير في ملف واحد

ماذا يمكن فعله باستخدام SQLite؟

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

هل تعلم SQLite صعب؟

فتح الملف سهل. الصعوبة الكتابة في الوقت نفسه. حين تغيّر عمليتان الصف نفسه تنتظر إحداهما. إذا طال الانتظار يتوقف الأمر. نقل الملف إلى مجلد آخر يغيّر مسار البرنامج أيضاً. لصق نص المستخدم في نص SQL يفتح الحقن هنا أيضاً.

المزايا والحدود

الميزة: لا خادم يُثبّت والنسخة ملف واحد وSQL مألوفة. الحد: يضيق مع كثير من الكتّاب والحمل الكبير. SQLite ليس الاسم الصغير لـ MySQL. هو محرك يعمل داخل ملف.

أفكار أساسية

الملف هو القاعدة نفسها. الجدول أسماء الأعمدة. الصف سجل واحد.

  • لا عملية خادم منفصلة
  • طلب SQL يُستخدم هنا أيضاً
  • كاتب واحد مرتاح
  • النسخة الاحتياطية نسخة الملف

مثال قصير

هذا الطلب يفتح جدولاً. إذا غاب الملف يقدر المحرك أن ينشئه. لا حاجة للاتصال بخادم.

CREATE TABLE note (
  id INTEGER PRIMARY KEY,
  text TEXT
);

أسئلة شائعة

  • هل SQLite وPython الشيء نفسه؟ لا. Python يشغّل البرنامج. SQLite يحفظ الصفوف. Python يفتح الملف بـ sqlite3 القياسي.
  • هل SQLite وNode.js الشيء نفسه؟ لا. Node يشغّل JavaScript. يقدر أن يفتح ملف SQLite بحزمة أو بوحدة Node الجديد نفسه. Node القديم ليست فيه تلك الوحدة.
  • هل SQLite وMySQL الشيء نفسه؟ لا. كلاهما يستخدم SQL. SQLite ملف واحد وMySQL خادم منفصل.