SQLite قاعدة البيانات: كيفية إنشاء الملفات وفتحها ونسخها احتياطيًا وإسقاطها

⚡ ملخص ذكي

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

  • 🗄️ لا يوجد أمر CREATE DATABASE: SQLite لا يحتوي على عبارة CREATE DATABASE؛ تشغيل sqlite3 SchoolDB.db يقوم بإنشاء الملف تلقائيًا.
  • 📂 الموقع المحدد: يقوم الأمر .open بإنشاء أو فتح قاعدة بيانات في أي مسار تحدده.
  • 🧱 مخطط من ملف: Piping يؤدي إدخال ملف .sql في sqlite3 إلى إنشاء قاعدة بيانات جديدة مملوءة مسبقًا بجداولها.
  • 💾 دعم: يقوم الأمر .backup بنسخ قاعدة البيانات المفتوحة إلى ملف جديد لأغراض الحماية.ping.
  • 🗑️ قطرةping قاعدة بيانات: SQLite لا يوجد أمر DROP DATABASE؛ حذف ملف قاعدة البيانات يؤدي إلى إزالته بالكامل.
  • 🤖 مساعدة الذكاء الاصطناعي: يقوم برنامج GitHub Copilot وأدوات تحويل النصوص إلى SQL بإنشاء SQLite المخططات والاستعلامات من خلال عبارات بسيطة باللغة الإنجليزية.

قاعدة بيانات SQLite

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

SQLite إنشاء قاعدة بيانات

على عكس أنظمة إدارة قواعد البيانات الأخرى، لا يوجد أمر CREATE DATABASE في SQLiteإليك كيفية إنشاء قاعدة بيانات جديدة:

  • فتح Windows أداة سطر الأوامر (cmd.exe) من قائمة ابدأ، اكتب "cmd"، ثم افتحها.
  • ستفتح نافذة موجه الأوامر في مجلد المستخدم الافتراضي. على جهازي، يكون المسار هو "C:\Users\MGA":

SQLite تم فتح موجه الأوامر في مجلد المستخدم الافتراضي C:/Users/MGA

  • من البرنامج التعليمي للتثبيت والحزم، يجب أن تكون قد قمت الآن بإنشاء ملف SQLite المجلد في الدليل "C" ونسخ sqlite3.exe إليه.
  • بعد ذلك، انتقل إلى موقع ملف sqlite3.exe باستخدام ما يلي SQLite سطر الأوامر:

الانتقال إلى مجلد sqlite3.exe في Windows سطر الأوامر

فيما يلي الصيغة الأساسية لأمر sqlite3 لإنشاء قاعدة بيانات:

sqlite3 SchoolDB.db

سيؤدي هذا إلى إنشاء قاعدة بيانات جديدة باسم "SchoolDB.db" في نفس الدليل الذي نسخت إليه ملف .exe الخاص بك.

إذا انتقلت إلى الدليل "c:\sqlite"، ستجد أن الملف "SchoolDB.db" قد تم إنشاؤه، كما هو موضح في لقطة الشاشة التالية:

تشغيل أمر sqlite3 SchoolDB.db لإنشاء قاعدة البيانات

تم إنشاء ملف قاعدة البيانات SchoolDB.db في الدليل c:/sqlite

يمكنك التأكد من إنشاء قاعدة البيانات عن طريق كتابة ما يلي SQLite أمر:

.databases

هذا يعطيك قائمة بقواعد البيانات التي تم إنشاؤها، ويجب أن ترى قاعدة البيانات الجديدة "SchoolDB.db" مدرجة هناك:

يعرض الأمر .databases قاعدة بيانات SchoolDB التي تم إنشاؤها حديثًا

SQLite إنشاء قاعدة بيانات في موقع محدد باستخدام Open

إذا كنت ترغب في إنشاء ملف قاعدة البيانات في موقع محدد بدلاً من المجلد الذي يوجد فيه ملف sqlite3.exe، فإليك كيفية فتحه SQLite ملف قاعدة البيانات:

  • انتقل يدويًا إلى المجلد الذي يوجد فيه ملف sqlite3.exe، "C:\sqlite".
  • Doubleانقر فوق sqlite3.exe لفتح الملف SQLite سطر الأوامر.
  • الأمر لفتح ملف قاعدة البيانات هو:

فتح SQLite افتح ملف قاعدة البيانات في موقع محدد باستخدام الأمر .open

.open c:/users/mga/desktop/SchoolDB.db

يؤدي هذا إلى إنشاء قاعدة البيانات "SchoolDB.db" وتخزين الملف في الموقع المحدد. يفتح الأمر نفسه قاعدة بيانات موجودة، لذا فإن تشغيله مرة أخرى يعيد فتح تلك القاعدة ببساطة.

.open c:/users/mga/desktop/SchoolDB.db

SQLite يتحقق مما إذا كان ملف "SchoolDB.db" موجودًا في ذلك الموقع. إذا كان موجودًا، SQLite يفتح الملف؛ وإلا، فسيتم إنشاء قاعدة بيانات جديدة بنفس اسم الملف.

SQLite إنشاء قاعدة بيانات وملؤها بالجداول من ملف

إذا كان لديك ملف .SQL يحتوي على مخطط الجدول وتريد إنشاء قاعدة بيانات جديدة بنفس الجداول، فإن المثال التالي يشرح كيفية القيام بذلك.

على سبيل المثال:

هنا نقوم بإنشاء قاعدة البيانات النموذجية المستخدمة في جميع أنحاء هذا SQLite البرنامج التعليمي، المسمى "SQLiteTutorialsDB"، وقم بتعبئتها بالجداول على النحو التالي:

  • افتح ملف نصي وألصق النص التالي SQLite الأوامر التي تُدخل فيها:
CREATE TABLE [Departments] ( 
	[DepartmentId] INTEGER  NOT NULL PRIMARY KEY, 
	[DepartmentName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Students] (  
	[StudentId] INTEGER  PRIMARY KEY NOT NULL,
	[StudentName] NVARCHAR(50) NOT NULL, 
	[DepartmentId] INTEGER  NULL,   
	[DateOfBirth] DATE  NULL  
);     
CREATE TABLE [Subjects] (  
	[SubjectId] INTEGER  NOT NULL PRIMARY KEY,  
	[SubjectName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Marks] (  
	[StudentId] INTEGER  NOT NULL,  
	[SubjectId] INTEGER  NOT NULL,  
	[Mark] INTEGER  NULL  
);

يقوم الكود أعلاه بإنشاء أربعة جداول، كما يلي:

  • جدول "الأقسام"، مع الأعمدة التالية:
    • "DepartmentId"، وهو معرف قسم صحيح، تم تعريفه كمفتاح أساسي.
    • "DepartmentName"، وهو اسم قسم نصي لا يسمح بالقيم الفارغة (NOT NULL).
  • جدول "الطلاب"، مع الأعمدة التالية:
    • "StudentId"، وهو عدد صحيح تم تعريفه كمفتاح أساسي.
    • "اسم الطالب"، وهو اسم الطالب، والذي لا يسمح بقيمة فارغة.
    • "DepartmentId"، وهو عدد صحيح يشير إلى معرف القسم في جدول الأقسام.
    • "DateOfBirth"، تاريخ ميلاد الطالب.
  • جدول "المواضيع"، مع الأعمدة التالية:
    • "SubjectId"، وهو عدد صحيح تم تعريفه كمفتاح أساسي.
    • "SubjectName"، قيمة نصية لا تسمح بالقيم الفارغة.
  • جدول "العلامات"، مع الأعمدة التالية:
    • "StudentId"، وهو عدد صحيح يشير إلى رقم الطالب.
    • "SubjectId"، وهو عدد صحيح يشير إلى معرف الموضوع.
    • "العلامة"، وهي العلامة التي يحصل عليها الطالب في مادة ما، وهي عدد صحيح يسمح بالقيم الفارغة.
  • احفظ الملف باسم "SQLiteملف TutorialsDB.sql موجود في نفس موقع ملف sqlite3.exe.
  • افتح cmd.exe وانتقل إلى الدليل الذي يوجد فيه sqlite3.exe.
  • اكتب الأمر التالي:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

قاعدة بيانات جديدة "SQLiteتم إنشاء "TutorialsDB"، والملف "SQLiteيتم وضع ملف TutorialsDB.db في نفس الدليل، كما يلي:

استخدم SQLiteقاعدة بيانات TutorialsDB تم إنشاؤها من ملف مخطط .sql

يمكنك التأكد من إنشاء الجداول عن طريق فتح قاعدة البيانات التي أنشأناها للتو:

.open SQLiteTutorialsDB.db

ثم اكتب الأمر التالي:

.tables

هذا يعطيك قائمة الجداول في "SQLite"TutorialsDB"، يجب أن ترى الجداول الأربعة التي أنشأناها للتو:

يُظهر الأمر .tables قائمة الجداول الأربعة التي تم إنشاؤها في SQLiteدروسDB

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

SQLite قاعدة بيانات النسخ الاحتياطي

لعمل نسخة احتياطية من قاعدة البيانات، يجب عليك فتح قاعدة البيانات أولاً، كما يلي:

  • انتقل إلى المجلد "C:\sqlite"، ثم انقر نقرًا مزدوجًا على sqlite3.exe لفتحه.
  • افتح قاعدة البيانات باستخدام الاستعلام التالي:
.open c:/sqlite/sample/SchoolDB.db

يفتح هذا الأمر قاعدة بيانات موجودة في الدليل "c:/sqlite/sample/".

إذا كان الملف موجودًا في نفس المجلد الذي يوجد به ملف sqlite3.exe، فلن تحتاج إلى تحديد موقع، كما يلي:

.open SchoolDB.db

ثم، لعمل نسخة احتياطية من قاعدة البيانات، اكتب الأمر التالي. سيؤدي هذا إلى عمل نسخة احتياطية من قاعدة البيانات بأكملها في ملف جديد باسم "SchoolDB.db" في نفس المجلد:

.backup SchoolDB.db

إذا لم تظهر أي أخطاء بعد تنفيذ هذا الأمر، فهذا يعني أنه تم إنشاء النسخة الاحتياطية بنجاح.

SQLite إسقاط قاعدة البيانات

على عكس أنظمة إدارة قواعد البيانات الأخرى، لا يوجد أمر DROP DATABASE في SQLiteإذا كنت ترغب في حذف قاعدة بيانات في SQLiteكل ما عليك فعله هو حذف ملف قاعدة البيانات.

ملاحظة:

  • لا يمكنك إنشاء قاعدتي بيانات في نفس الموقع بنفس الاسم؛ اسم قاعدة البيانات فريد داخل الدليل.
  • أسماء قواعد البيانات غير حساسة لحالة الأحرف.
  • لا توجد امتيازات مطلوبة لإنشاء قواعد البيانات.

الأسئلة الشائعة

SQLite هو محرك لا يعتمد على الخوادم، يحتفظ بقاعدة البيانات بأكملها في ملف واحد متعدد المنصات. حجمه أقل من 500 كيلوبايت، ولا يحتاج إلى تثبيت أو تهيئة، ويعمل مضمنًا داخل التطبيقات بدلاً من خادم منفصل.

SQLite تستخدم قواعد البيانات عادةً الامتداد .db أو .sqlite أو .db3، وجميعها متطابقة. SQLite يحدد ملفاته من خلال رأس داخلي، لذا فإن الامتداد ليس سوى تسمية.

نعم. SQLite هو برنامج مملوك للجميع، ومجاني تمامًا للاستخدام الشخصي والتجاري دون أي ترخيص أو رسوم. يتوفر كود المصدر وأدوات سطر الأوامر الخاصة به على الموقع الرسمي. SQLite موقع الكتروني.

افتح برنامج sqlite3 باستخدام اسم قاعدة البيانات، ثم شغّل الأمر .restore مع ملف النسخة الاحتياطية. لإنشاء نسخة احتياطية بصيغة .sql، شغّل الأمر sqlite3 newdb.db < backup.sql لإعادة تنفيذ جميع الأوامر وإعادة بناء البيانات.

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

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

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

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

تلخيص هذه التدوينة بـ: