دروس سكليتي: كل ما تحتاج إلى معرفته



سيساعدك هذا البرنامج التعليمي الخاص بـ sqlite على فهم كيفية اختلاف sqlite عن أنظمة قواعد البيانات العلائقية الأخرى وجميع الأوامر الأساسية

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

الموضوعات التي تمت مناقشتها في هذه المقالة هي:





دروس سكليتي: ما هو سكليتي؟

فيما يلي تعريف الصناعة المعياري لـ SQLite:

SQLite عبارة عن محرك قاعدة بيانات علائقية للمعاملات ، مفتوح المصدر ، بدون تكوين ، مستقل بذاته ، مصمم ليتم تضمينه في أحد التطبيقات.

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



ميزات سكليتي

تقدم SQLite العديد من الميزات المميزة مثل:

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

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

دروس سكليتي: تثبيت سكليتي على ويندوز

الخطوات التي يجب اتباعها هي:



الخطوة 1: اذهب إلى سكليتي الرسمي موقع الويب وانقر على الرابط المناسب للتنزيلالثنائيات المترجمة مسبقًا.

الخطوة 2: قم بتنزيل ملف مضغوط لسطر أوامر SQLite (هنا: sqlite- أدوات- win32-x86-3270200.zip) وتوسيع هذه الملفات في مجلد من اختيارك.

ستحتوي أداة سطر الأوامر SQLite هذه على منتجات SQLite التالية

  • نواة سكليتي : يحتوي جوهر SQLite على محرك قاعدة البيانات الفعلي وواجهة برمجة التطبيقات العامة.
  • أداة سطر أوامر SQLite3 : تطبيق sqlite3 هو أداة سطر أوامر مبنية على قمة SQLite الأساسية.
  • تمديد Tcl : هذه المكتبة هي في الأساس نسخة من نواة SQLite مع تثبيت روابط Tcl.
  • أداة محلل سكليتي : أداة محلل SQLite تستخدم لتحليل ملفات قاعدة البيانات.

الخطوه 3: بعد ذلك ، يكون بدء سطر أوامر SQLite أمرًا بسيطًا مثل النقر على تطبيق sqlite3 ، والذي سيجعل سطر الأوامر ينبثق.

إذا كنت ترغب في إجراء مزيد من الاختبار ، فما عليك سوى الكتابة .مساعدة أمر من سكلايت> موجه لرؤية جميع الأوامر المتاحة بتنسيق سكلايت 3 كما هو موضح أدناه.

ملحوظة: بشكل افتراضي ، تستخدم جلسة SQLite قاعدة البيانات الموجودة في الذاكرة ، وبالتالي ، ستختفي جميع التغييرات عند انتهاء الجلسة.

بسيط بما فيه الكفاية ، أليس كذلك؟ بعد ذلك ، لنبدأ بأوامر SQLite.

دروس سكليتي: أوامر سكليتي

يقدم هذا القسم من البرنامج التعليمي SQLite جمل SQL الأساسية التي يمكنك استخدامها مع SQLite.

ملحوظة: تنتهي أوامر SQLite بفاصلة منقوطة (). يخبر SQLite أن الأمر الخاص بك قد اكتمل ويجب تشغيله.أيضًا ، يمكنك نشر الأمر الخاص بك عبر أسطر متعددة واستخدام الفاصلة المنقوطة في السطر الأخير.

أوامر قاعدة البيانات

يتكون هذا القسم من تلك الأوامر ، والتي من خلالها يمكنك التعامل مع قاعدة البيانات الخاصة بك. الأوامر هي:

  • سكليتي إنشاء قاعدة بيانات

لا تستخدم SQLite عبارة إنشاء قاعدة بيانات كما هو الحال في أنظمة إدارة قواعد البيانات العلائقية الأخرى ، مثل MySQL ، SQL Server ، إلخ. لإنشاء قاعدة بيانات جديدة في SQLite ، ما عليك سوى إدخال sqlite3 متبوعًا باسم الملف الذي ترغب في استخدامه لقاعدة البيانات. تييقوم التعليمات البرمجية التالية بإنشاء ملف قاعدة بيانات يسمى StudentDetails.db:

مثال

sqlite3 StudentDetails.db sqlite>. قواعد البيانات main: D: sqliteStudentDetails.db
  • SQLite إرفاق قاعدة بيانات

عندما يكون لديك عدة قواعد بيانات ، يمكنك استخدام واحدة فقط في كل مرة. في SQLite ، يتم استخدام عبارة ATTACH DATABASE لإرفاق قاعدة بيانات معينة للاتصال الحالي. أبعد هذا الأمر ، سيتم تنفيذ جميع عبارات SQLite ضمن قاعدة البيانات المرفقة.

مثال

sqlite> إرفاق قاعدة البيانات 'DepartmentDetails.db' AS 'Department' sqlite> قواعد البيانات الرئيسية: D: sqliteStudentDetails.db القسم: D: sqliteDepartmentDetails.db
  • SQLite فصل قاعدة البيانات

في SQLite ، يتم استخدام عبارة DETACH DATABASE لفصل قاعدة البيانات ذات الاسم المستعار من اتصال قاعدة البيانات الذي تم إرفاقه مسبقًا باستخدام عبارة ATTACH. إذا تم إرفاق ملف قاعدة البيانات نفسه بأسماء مستعارة متعددة ، فسيقوم هذا الأمر بفصل الاسم المحدد فقط وسيظل باقي المرفق موجودًا.سيتم تدمير قواعد البيانات داخل الذاكرة أو قاعدة البيانات المؤقتة تمامًا وسيتم فقد المحتوى.

مثال

sqlite> .databases main: D: sqliteStudentDetails.db Department: D: sqliteDepartmentDetails.db الطالب: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Department' sqlite> .dails.dbase main: D: الطالب: D: sqliteStudentDetails.db DeptIn Information: D: sqliteDepartmentDetails.db

أوامر الجدول

هنا سوف نتعلم كيفية التعامل مع الجداول عند استخدام SQLite.

  • إنشاء جدول SQL

في SQLite ، يتم استخدام عبارة CREATE TABLE لإنشاء جدول جديد. أثناء إنشاء الجدول ، تحتاج إلى تسمية الجدول وتحديد العمود وأنواع البيانات الخاصة به لكل عمود.

بناء الجملة:

إنشاء اسم جدول الجدول (Column1 column_type [القيود] Column2 column_type [القيود] [.....])

مثال

إنشاء جدول StudentInfo (ID INT PRIMARY KEY NOT NULL ، NAME TEXT NOT NULL ، AGE INT NULL ، ADDRESS CHAR (50) ، DEPARTMENTID INTEGER NOT NULL ، PHONE TEXT افتراضي 'غير معروف' ، مفتاح خارجي (DEPARTMENTID) مرجع)

يمكنك التحقق مما إذا كان الجدول قد تم إنشاؤه أم لا باستخدام .الجداول الأمر كما هو موضح أدناه. لاحظ أنني قمت بالفعل بإنشاء جدول يسمى DepartmentInfo حيث DeptID هو المفتاح الأساسي.يحتوي جدول الأقسام على قيد مفتاح خارجي في جدول الطلاب.

sqlite> .tables StudentInfo جهات الاتصال Emp_Master
  • جدول إسقاط سكليتي

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

نسخة عميقة مقابل نسخة ضحلة جافا

بناء الجملة

DROP TABLE [IF EXISTS] table_name

مثال

خطأ في قسم DROP TABLE: لا يوجد مثل هذا الجدول: Department DROP TABLE Company sqlite> .tables StudentInfo

ملحوظة: إذا كانت EXISTS ، فهي عبارة اختيارية. إذا تم تحديد ذلك ، فلن تؤدي عبارة DROP TABLE إلى ظهور خطأ في حالة عدم وجود أحد الجداول.

أيضا ، هناك ملف بيان جدول تعديل SQLite ، الذي سوف نفهمه في الأقسام القليلة التالية من هذه المقالة. الآن بعد أن أنشأنا جدولًا ، دعنا نتحقق من كيفية إدراج البيانات وحذفها وتعديلها.

دروس سكليتي: عمليات CRUD

  • استعلام إدراج SQLite

بعد إنشاء الجدول ، يمكن استخدام أمر SQLite Insert Into لإنشاء صفوف جديدة في الجدول المحدد. هناك نوعان من أشكال جملة إدراج SQLite. يستخدم النموذج الأول جملة VALUES لتحديد قائمة القيم المراد إدراجها.

بناء الجملة

INSERT INTO TABLE_NAME [(عمود 1 ، عمود 2 ، عمود 3 ، ... عمود N)] VALUES (قيمة 1 ، قيمة 2 ، قيمة 3 ، ... قيمة N)

مثال

INSERT INTO StudentInfo (رقم التعريف ، الاسم ، العمر ، العنوان ، DEPARTMENTID ، الهاتف) القيم (1، 'Dean'، 20، 'California'، 2، '934 *******')

انتاج |

حدد * من معرف StudentInfo ID AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 عميد 20 كاليفورنيا 2934 *******

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

مثال

أدخل في قيم StudentInfo (2، 'SAM'، 22، 'Texas'، 2، '976 *******')

انتاج |

حدد * من معرف StudentInfo ID AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 عميد 20 كاليفورنيا 2934 ******* 2 سام 22 تكساس 2976 *******

يوفر SQLite أيضًا ميزة لـ أدخل عدة صفوف في بيان INSERT واحد. بناء الجملة كما هو موضح أدناه.

مثال

INSERT INTO StudentInfo VALUES (3، 'John'، 23، 'Norway'، 1، '923 *******')، (4، 'Mitch'، 22، 'Houston'، 3، '934 ** ***** ')

انتاج |

حدد * من StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | تكساس | 2 | 976 ******* 3 | جون | 23 | النرويج | 1 | 923 ******* 4 | ميتش | 22 | هيوستن | 3 | 934 *******

كما ترى ، تنسيق الإخراج ليس مشابهًا تمامًا للتنسيق السابق. إذن ، كيف يمكنك تغيير تنسيق الإخراج في SQLite؟ لنقم بتنسيق الإخراج بحيث تكون نتائجنا أسهل قليلاً في القراءة.

  • تشكيل

يمكنك استخدام .mode لتغيير وضع الإخراج. يستخدم المثال أعلاه .الوضع القائمة التي تعرض النتائج على شكل قائمة. أيضا ، يمكنك استخدام .headers بيان لتحديد عرض رؤوس الأعمدة أم لا. بمجرد إجراء التغييرات ، يمكنك عرض الإعداد باستخدام .تبين أمر.

مثال

sqlite> .mode 'العمود' sqlite> .headers on sqlite> .show echo: off eqp: off شرح: رؤوس تلقائية: on mode: column nullvalue: '' output: stdout colseparator: '|' rowseparator: 'n' stats: off width: filename: StudentDetails.db

انتاج |

حدد * من اسم معرف StudentInfo رقم هاتف قسم العنوان العمر ---------- ---------- ---------- ---------- ---------- ---------- 1 دين 20 كاليفورنيا 2934 ******* 2 سام 22 تكساس 2976 ******* 3 جون 23 النرويج 1923 ******* 4 ميتش 22 هيوستن 3934 *******
  • استعلام تحديد SQLite

في SQLite ، يتم استخدام عبارة Selectلجلب البيانات من جدول ، والذي يقوم بإرجاع البيانات في شكل جدول نتائج. تسمى جداول النتائج هذه أيضًا بالنتيجة مجموعات. باستخدام جملة تحديد SQLite ، يمكننا إجراء حسابات بسيطة أو تعبيرات متعددة بناءً على متطلباتنا.لقد استخدمنا بالفعل عبارة SELECT سابقًا عندما أدخلنا البيانات.

بناء الجملة

حدد [الكل | DISTINCT] نتيجة [FROM table-list] [WHERE expr]
  • خامد - عندما نستخدم كلمة رئيسية مميزة في عبارة select ، فإنها تُرجع صفوفًا مميزة فقط من البيانات.
  • الكل - إذا استخدمنا جميع الكلمات الرئيسية في عبارة تحديد ، فإنها تُرجع جميع صفوف البيانات حتى لو تم تكرارها.
  • من قائمة الجدول - هي قائمة بالجداول التي تريد الحصول على البيانات منها.
  • أين التعبير - يستخدم التعبير WHERE لتحديد شروطنا المخصصة للحصول على البيانات المطلوبة من الجداول.

مثال 1

حدد معرّف ، الاسم من StudentInfo أين العمر<21

انتاج |

كيفية عكس سلسلة في بيثون
اسم الهوية ---------- ---------- 1 عميد

مثال 2

حدد الاسم من StudentInfo حيث DEPARTMENTID = (حدد DeptID من DepartmentInfo حيث DeptName = 'علم النفس')

انتاج |

// يجلب أشخاصًا من القسم الذي هو 2 NAME ---------- Dean SAM
  • استعلام تحديث SQLite

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

بناء الجملة

UPDATE table_name SET column1 = القيمة 1 ، العمود 2 = القيمة 2 .... ، العمود N = القيمة N حيث [الحالة]

مثال

تحديث StudentInfo SET DEPARTMENTID = 4 حيث المعرف = '2'

انتاج |

حدد * من اسم معرّف StudentInfo رقم العنوان AGE Address DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ------------ ---------- 1 عميد 20 كاليفورنيا 2934 ******* 2 سام 22 تكساس 4976 ******* 3 جون 23 النرويج 1923 ******* 4 ميتش 22 هيوستن 3934 *******
  • استعلام حذف SQLite

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

مثال

حذف من DepartmentInfo حيث DeptName = 'العلم'

انتاج |

اختر * من DepartmentInfo DeptID DeptName ---------- ----------- 1 الرياضيات 2 علم النفس 3 الرياضة 4 الموسيقى

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

مثال

حذف من DepartmentInfo WHERE DeptName = خطأ 'Music': فشل قيد FOREIGN KEY

لذلك ، نحتاج إلى حذف سجلات المفاتيح الخارجية قبل حذف المفتاح الأساسي.

احذف من معلومات الطالب حيث DEPARTMENTID = 4 sqlite> احذف من DepartmentInfo حيث DeptName = 'Music' sqlite> حدد * من DepartmentInfo DeptID DeptName ---------- ----------- 1 الرياضيات 2 علم النفس 3 الرياضة حدد * من معرف معلومات الطالب الاسم العمر العنوان هاتف قسم القسم ---------- ---------- ---------- ------- ------------ ---------- 1 عميد 20 كاليفورنيا 2934 ******* 3 يوحنا 23 النرويج 1923 ****** * ميتش 22 هيوستن 3934 *******

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

بنود / شروط SQLite

قبل البدء في استخدام الجمل ، إليك البنية الكاملة لعبارة SELECT في SQLite.

بناء الجملة

حدد [الكل | DISTINCT] نتيجة [FROM table-list] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [Comp-op select] * [ORDER BY sort-expr-list] [LIMIT عدد صحيح [(OFFSET | ،) عدد صحيح ]]

ملاحظة: لقد قمت بتحديث جداول StudentInfo و DepartmentInfo كما هو موضح أدناه.

// معرف جدول الطالب الاسم العمر العنوان DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2934 ******* 3 يوحنا 23 النرويج 1923 ******* 4 ميتش 22 هيوستن 3934 ******* 2 SAM 22 تكساس 4976 ******* 5 جوني 23 النرويج 2945 ******* 6 روبن 23 النرويج 2 غير معروف // تفاصيل القسم DeptID DeptName - --------- ----------- 1 رياضيات 2 علم نفس 3 رياضة 4 موسيقى 5 علوم
  • سكليتي أين

في SQLite ، يتم استخدام جملة WHERE لفرض قيود على عبارة SELECT من خلال تحديد شرط أو أكثر للحصول على البيانات المطلوبة من الجداول في قاعدة البيانات.إذا تم تحديد الشرط راضٍ أو صحيح ، فإنه يُرجع قيمة محددة من الجدول. كما رأيت من قبل ، لا يتم استخدام جملة WHERE في عبارة SELECT فحسب ، بل يتم استخدامها أيضًا في عبارة UPDATE و DELETE وما إلى ذلك.

مثال

حدد الاسم من StudentInfo حيث العمر = 23 الاسم ---------- John Johny Robin

في SQLite ، هناك عدد من العوامل العلائقية التي يمكن استخدامها مع جملة WHERE.

  • مجموعة سكليتي حسب

في SQLite ، يتم استخدام عبارة GROUP BY لتجميع البيانات في صف واحد حيث يتم تكرار قيمة عمود أو أكثر من الأعمدة المحددة. يتم استخدام هذه الجملة مع جملة WHERE في عبارة SELECT وتسبق عبارة ORDER BY.

بناء الجملة

حدد نتيجة من [قائمة الجدول] المجموعة حسب [قائمة إكسبر]
حدد الاسم والعنوان من مجموعة StudentInfo حسب الاسم الاسم العنوان ---------- ---------- دين كاليفورنيا جون النرويج جوني النرويج ميتش هيوستن روبن النرويج سام تكساس

لاحظ أن عملية التجميع تتكون من خطوتين. أولاً ، يتم استخدام تعبير GROUP BY لترتيب صفوف الجدول في مجموعات مختلفة. بمجرد تحديد المجموعات ، تحدد عبارة SELECT كيفية تسوية هذه المجموعات في صف واحد.

  • SQLite ORDER BY

بشكل عام ، تخزن جداول SQLite البيانات بترتيب غير محدد وستقوم بإرجاع السجلات بنفس الترتيب غير المحدد أثناء جلب البيانات باستخدام جملة تحديد SQLite. في مثل هذه الحالات ، يمكنك استخدام عبارة ORDER BY المستخدمة لفرز سجلات الأعمدة إما بترتيب تصاعدي أو تنازلي. في المثال أدناه ، قمت بتجميع البيانات وترتيبها 9 بترتيب تنازلي) بناءً على العنوان.

بناء الجملة

حدد التعبيرات من قائمة الجداول [شروط أين] ترتيب حسب العمود 1 ، العمود 2 ، ... [ASC | تنازلي]

مثال

حدد العنوان ، العد (العنوان) من StudentInfo GROUP حسب العنوان ORDER BY ADDRESS DESC ADDRESS COUNT (ADDRESS) ---------- -------------- Texas 1 Norway 3 Houston 1 كاليفورنيا 1
  • سكليتي الحصول على

في SQLite ، يعد ملف نأخذ شرط مماثل ل أين شرط. عبارة HAVING هي شرط إضافي يتم تطبيقه بعد أن يحدث التجميع جنبًا إلى جنب مع المجموعة بواسطة في عبارة select. بشكل عام في SQLite ، أين يتم استخدام شرط لتطبيق شرط على العناصر الفردية في جدول وال نأخذ تستخدم الجملة لإضافة شروط التصفية استنادًا إلى المجموعات التي تم إنشاؤها بواسطة عبارة Group By.

مثال

حدد العنوان ، العد (العنوان) من StudentInfo GROUP حسب العنوان HAVING COUNT (*)> 1 ADDRESS COUNT (ADDRESS) ---------- -------------- النرويج 3
  • شرط تحديد SQLite

في SQLite ، يتم استخدام جملة LIMIT لتعيين حد للسجلات التي يتم إرجاعها بواسطة عبارة التحديد. دعونا ننظر في مثال لفهم المفهوم.

بناء الجملة

حدد التعبيرات من قائمة الجداول [شروط أين] حد العدد_الصفوف OFFSET offset_value

مثال

حدد الاسم والعنوان من StudentInfo LIMIT 4 OFFSET 2 الاسم العنوان ---------- ---------- Mitch Houston SAM Texas Johny Norway Robin Norway

عوضاختياري ويحدد عدد الصفوف التي يجب تخطيها في بداية مجموعة النتائج بناءً على قيمة تعويض .

  • سكليتي AND & OR

في SQLite ، يتم استخدام عوامل التشغيل AND & OR لتنفيذ شروط متعددة على عبارات التحديد والإدراج والتحديث والحذف بناءً على متطلباتنا. سيعيد عامل تشغيل SQLite الصفوف أو السجلات التي تفي بالشروط المحددة باستخدام عامل التشغيل AND.

مثال 1

حدد الاسم من StudentInfo حيث العمر = 22 والعنوان = اسم 'تكساس' ---------- سام

يستخدم الشرط 'أو' لتحديد شروط متعددة في عبارات SQLite وسيعيد صفوفًا أو سجلات من العبارة إذا تم استيفاء أي شرط واحد.

مثال 2

حدد الاسم من StudentInfo حيث (العمر = 22 والعنوان = 'النرويج') أو العنوان = اسم 'النرويج' ---------- John Johny Robin
  • مشغل سكليتي GLOB

في SQLite ، يتم استخدام عامل التشغيل GLOB للتحقق مما إذا كانت قيمة السلسلة المحددة تطابق نمطًا معينًا أم لا. في حالة تطابق قيمة السلسلة مع قيمة النمط ، فسوف تعود صحيح وهو مشابه لعامل التشغيل LIKE. أيضا ، GLOB هو حساسية الموضوع.

بناء الجملة

حدد * من table_name حيث العمود اسم_البحث GLOB 'تعبير'

مثال

حدد * من StudentInfo حيث الاسم GLOB 'Joh *' ID الاسم العمر العنوان DEPARTMENTID PHONE ---------- ---------- ---------- --- ------- ------------ ---------- 3 يوحنا 23 النرويج 1923 ******* 5 جوني 23 النرويج 2945 ** *****
  • سكليتي المميز

في SQLite ، ستقوم الكلمة الأساسية DISTINCT بفحص مجموعة نتائج عبارة SELECT وإزالة أي صفوف مكررة. أيضًا ، تعتبر القيم NULL بمثابة تكرارات ، لذلك إذا استخدمنا جملة DISTINCT مع عمود يحتوي على قيم NULL ، فسيحتفظ بصف واحد فقط من قيمة NULL. عند تطبيق DISTINCT لأعمدة متعددة ، فإن العبارة تُرجع كل مجموعة فريدة من كولنم 1 و العمود 2.

مثال

اختر العمر المميز من معلومات الطالب العمر ---------- 20 23 22
  • مشغل IN SQLite

في SQLite ، يتم استخدام عامل التشغيل IN لتحديد ما إذا كانت القيمة المحددة تطابق قائمة من القيم المعطاة أو النتيجة التي تم إرجاعها بواسطة الاستعلام الفرعي.

مثال

حدد الاسم من StudentInfo حيث العنوان في ('تكساس' ، 'هيوستن') الاسم ---------- ميتش سام
  • اتحاد سكليتي واتحاد الكل

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

بناء الجملة

حدد تعبير 1 ، تعبير 2 ، ... تعبير __ من جداول [أين الشروط] UNION / UNION ALL SELECT تعبير 1 ، تعبير 2 ، ... تعبير_ من جداول [شروط أين]

مثال

حدد قسمًا من StudentInfo UNION حدد قسمًا من DepartmentInfo أمرًا بواسطة DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

يتم استخدام عامل التشغيل UNION ALL لدمج مجموعات النتائج المكونة من 2 أو أكثر من عبارات SELECT وسيعيد جميع الصفوف بما في ذلك التكرارات.

مثال

حدد قسم من StudentInfo UNION كل الأقسام المختارة من DepartmentInfo Order by DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

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

ينضم إلى SQLite

في SQLite ، الصلات هيتُستخدم لدمج السجلات من جدولين أو أكثر في قاعدة بيانات والحصول على السجلات بناءً على متطلباتنا. دنوع JOINS المتوفر في SQLite:

  • صلة داخلية -يتم استخدام INNER JOIN لدمج وإرجاع السجلات المطابقة فقط من جداول المضاعفات بناءً على الشروط المحددة في عبارات SQLite.
  • الانضمام الخارجي -سيحدد SQLite Outer Join صفوفًا متطابقة من جداول متعددة مثل صلة داخلية وبعض الصفوف الأخرى خارج العلاقة.بعبارات بسيطة ، يمكننا أن نقول SQLiteOUTER JOINهو إضافةصلة داخلية . بشكل عام ، لدينا ثلاثة أنواع من الصلات الخارجية في معيار SQL ، وهي الصلات الخارجية اليسرى واليمنى والكاملة ولكن SQLite تدعم فقط LEFT OUTER JOIN.
  • تقاطع الانضمام -يتم استخدامه للحصول على ناتج الصفوف الديكارتيةعن طريق مطابقة كل صف من الجدول الأول مع كل صف من الجدول الثاني.
  • الانضمام الذاتي - ذلكيستخدم لربط نفس الجدول بنفسه. لاستخدام ميزة الانضمام الذاتي ، نحتاج إلى إنشاء أسماء مستعارة مختلفة لنفس الجدول لإجراء عمليات بناءً على متطلباتنا.

المفهوم مشابه لمفهوم أنظمة قواعد البيانات العلائقية الأخرى مثل SQL. لذا ، لمعرفة المزيد يمكنك الرجوع إلى هذه المقالة على .

قائمة أحداث جافا سكريبت مع أمثلة

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

دروس سكليتي: عيوب سكليتي

المدرجة أدناه هي عيوب استخدام SQLite:

  • لا يعمل بشكل جيد في هندسة العميل / الخادم.
  • يقتصر حجم قاعدة بيانات SQLite على 2 غيغابايت في معظم الحالات.
  • لم يقم SQLite بتنفيذ RIGHT OUTER JOIN و FULL OUTER JOIN. باستخدام SQLite ، يمكننا فقط تنفيذ LEFT OUTER JOIN.
  • طرق العرض في SQLite للقراءة فقط. لا يمكننا استخدام عبارات DML (إدراج ، تحديث ، وحذف) مع طرق العرض.
  • لا يمكننا استخدام جمل GRANT و REVOKE مع SQLite.

بهذا ، نصل إلى نهاية هذا البرنامج التعليمي لـ SQLite.

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

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذا البرنامج التعليمي لـ SQLite وسأعاود الاتصال بك.