شعار زيفيرنت

أوامر SQL (DDL، DML، DCL، TCL، DQL): الأنواع وبناء الجملة والأمثلة

التاريخ:

جدول المحتويات

نبذة

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

ما هو SQL؟

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

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

تصنيف أوامر SQL

يمكن تصنيف أوامر SQL إلى خمسة أنواع أساسية، يخدم كل منها غرضًا مميزًا في إدارة قاعدة البيانات. يعد فهم هذه الفئات أمرًا ضروريًا لعمليات قاعدة البيانات بكفاءة وفعالية. يمكن تصنيف أوامر SQL إلى خمسة أنواع رئيسية:

أوامر لغة تعريف البيانات (DDL)

ما هو DDL؟

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

تُستخدم أوامر DDL لتعريف وتعديل وإدارة بنية كائنات قاعدة البيانات، مثل الجداول والفهارس والقيود. تتضمن بعض أوامر DDL الشائعة ما يلي:

  • إنشاء جدول: يستخدم لإنشاء جدول جديد.
  • ALTER TABLE: يستخدم لتعديل بنية الجدول الموجود.
  • DROP TABLE: يستخدم لحذف جدول.
  • إنشاء فهرس: يُستخدم لإنشاء فهرس على جدول، مما يؤدي إلى تحسين أداء الاستعلام.

تلعب أوامر DDL دورًا حاسمًا في تحديد مخطط قاعدة البيانات.

أوامر لغة معالجة البيانات (DML) في SQL

تُستخدم أوامر DML لاسترداد البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تتضمن أوامر DML الشائعة ما يلي:

  • SELECT: يستخدم لاسترداد البيانات من جدول واحد أو أكثر.
  • INSERT: يستخدم لإضافة سجلات جديدة إلى الجدول.
  • تحديث: يستخدم لتعديل السجلات الموجودة في الجدول.
  • DELETE: يستخدم لإزالة السجلات من الجدول.

تعتبر أوامر DML ضرورية لإدارة البيانات المخزنة في قاعدة البيانات.

أوامر لغة التحكم في البيانات (DCL) في SQL

تُستخدم أوامر DCL لإدارة أمان قاعدة البيانات والتحكم في الوصول. أمرا DCL الأساسيان هما:

  • المنحة: تستخدم لمنح امتيازات محددة لمستخدمي قاعدة البيانات أو الأدوار.
  • إبطال: يستخدم لإلغاء الامتيازات الممنوحة مسبقًا.

تضمن أوامر DCL أن المستخدمين المصرح لهم فقط هم من يمكنهم الوصول إلى قاعدة البيانات وتعديلها.

أوامر لغة التحكم في المعاملات (TCL). في SQL

تُستخدم أوامر TCL لإدارة معاملات قاعدة البيانات، مما يضمن سلامة البيانات. تتضمن أوامر TCL الرئيسية ما يلي:

  • COMMIT: إجراء معاملة، وحفظ التغييرات بشكل دائم.
  • ROLLBACK: التراجع عن التغييرات التي تم إجراؤها أثناء المعاملة.
  • SAVEPOINT: قم بتعيين نقطة ضمن المعاملة التي يمكنك الرجوع إليها لاحقًا.

تعتبر أوامر TCL حيوية للحفاظ على تناسق البيانات في قاعدة البيانات.

أوامر لغة استعلام البيانات (DQL) في SQL

تركز أوامر DQL حصريًا على استرداد البيانات من قاعدة البيانات. بينما ال SELECT البيان هو أمر DQL الأبرز، فهو يلعب دورًا حاسمًا في استخراج البيانات وعرضها من جدول واحد أو أكثر بناءً على معايير محددة. تمكنك أوامر DQL من الحصول على رؤى قيمة من البيانات المخزنة.

تشمل أوامر SQL مجموعة متنوعة من الفئات، كل منها مصمم خصيصًا لجانب معين من إدارة قاعدة البيانات. سواء كنت تقوم بتعريف هياكل قاعدة البيانات (DDL)، أو معالجة البيانات (DML)، أو التحكم في الوصول (DCL)، أو إدارة المعاملات (TCL)، أو الاستعلام عن المعلومات (DQL)، فإن SQL توفر الأدوات التي تحتاجها للتفاعل مع قواعد البيانات العلائقية بشكل فعال. إن فهم هذه الفئات يمكّنك من اختيار أمر SQL المناسب للمهمة التي تقوم بها، مما يجعلك محترفًا في قواعد البيانات أكثر كفاءة.

التمييز بين أوامر DDL وDML وDCL وTCL وDQL

تخدم كل فئة من أوامر SQL غرضًا محددًا:

  • تحدد أوامر DDL بنية قاعدة البيانات وإدارتها.
  • تقوم أوامر DML بمعالجة البيانات داخل قاعدة البيانات.
  • أوامر DCL تتحكم في الوصول والأمان.
  • تقوم أوامر TCL بإدارة المعاملات وسلامة البيانات.
  • أوامر DQL مخصصة لاسترداد البيانات من قاعدة البيانات.

أوامر DDL المشتركة

إنشاء الجدول

يتم استخدام الأمر CREATE TABLE لتحديد جدول جديد في قاعدة البيانات. هنا مثال:

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    ...
);

يحدد هذا الأمر جدولًا يسمى "الموظفون" يحتوي على أعمدة لمعرف الموظف والاسم الأول واسم العائلة والمزيد.

تغيير الجدول

يسمح لك أمر ALTER TABLE بتعديل جدول موجود. على سبيل المثال، يمكنك إضافة عمود جديد أو تعديل نوع بيانات عمود موجود:

ALTER TABLE Employees
ADD Email VARCHAR(100);

يؤدي هذا إلى إضافة عمود "البريد الإلكتروني" إلى جدول "الموظفين".

انخفاض الجدول

يقوم الأمر DROP TABLE بإزالة جدول من قاعدة البيانات:

DROP TABLE Employees;

يؤدي هذا إلى حذف جدول "الموظفين" وجميع بياناته.

إنشاء مؤشر

يتم استخدام الأمر CREATE INDEX لإنشاء فهرس على عمود واحد أو أكثر من الجدول، مما يؤدي إلى تحسين أداء الاستعلام:

CREATE INDEX idx_LastName ON Employees(LastName);

يؤدي هذا إلى إنشاء فهرس في عمود "اسم العائلة" في جدول "الموظفين".

أوامر DDL في SQL مع أمثلة

فيما يلي مقتطفات التعليمات البرمجية ومخرجاتها المقابلة لأوامر DDL:

أمر SQL مقتطف الرمز الناتج
إنشاء الجدول CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Department VARCHAR(50) ); تم إنشاء جدول "الموظفين" الجديد بأعمدة محددة.
تغيير الجدول ALTER TABLE Employees ADD Email VARCHAR(100); تمت إضافة عمود "البريد الإلكتروني" إلى جدول "الموظفين".
انخفاض الجدول DROP TABLE Employees; جدول "الموظفون" وتم حذف بياناته.
توضح هذه الأمثلة استخدام أوامر DDL لإنشاء كائنات قاعدة البيانات وتعديلها وحذفها.

أوامر لغة معالجة البيانات (DML) في SQL

ما هو DML؟

DML، أو لغة معالجة البيانات، هي مجموعة فرعية من SQL تستخدم لاسترداد البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تعتبر أوامر DML أساسية للعمل مع البيانات المخزنة في الجداول.

أوامر DML الشائعة في SQL

اختر

تسترد عبارة SELECT البيانات من جدول واحد أو أكثر بناءً على معايير محددة:

SELECT FirstName, LastName FROM Employees WHERE Department = 'Sales';

يقوم هذا الاستعلام بتحديد الأسماء الأولى والأخيرة للموظفين في قسم "المبيعات".

INSERT

تضيف عبارة INSERT سجلات جديدة إلى الجدول:

INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR');

يؤدي هذا إلى إدراج سجل موظف جديد في جدول "الموظفين".

قم

تقوم عبارة UPDATE بتعديل السجلات الموجودة في الجدول:

تحديث الراتب المحدد للموظفين = الراتب * 1.1 حيث القسم = "الهندسة"؛

مما يؤدي إلى زيادة رواتب الموظفين في قسم “الهندسة” بنسبة 10%.

حذف

تقوم عبارة DELETE بإزالة السجلات من الجدول:

DELETE FROM Employees WHERE Department = 'Finance';

يؤدي هذا إلى حذف الموظفين من قسم "المالية".

أوامر DML في SQL مع أمثلة

فيما يلي مقتطفات التعليمات البرمجية ومخرجاتها المقابلة لأوامر DML:

أمر SQL مقتطف الرمز الناتج
اختر SELECT FirstName, LastName FROM Employees WHERE Department = 'Sales'; استرجاع الأسماء الأولى والأخيرة للموظفين في قسم "المبيعات".
INSERT INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR'); تمت إضافة سجل موظف جديد إلى جدول "الموظفين".
قم UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'Engineering'; زيادة رواتب العاملين في قسم "الهندسة" بنسبة 10%
حذف DELETE FROM Employees WHERE Department = 'Finance'; تم حذف الموظفين في قسم "المالية".
توضح هذه الأمثلة كيفية معالجة البيانات داخل قاعدة البيانات باستخدام أوامر DML.

أوامر لغة التحكم في البيانات (DCL) في SQL

ما هو DCL؟

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

أوامر DCL المشتركة

منحة

يتم استخدام أمر GRANT لمنح امتيازات محددة لمستخدمي قاعدة البيانات أو الأدوار:

GRANT SELECT, INSERT ON Employees TO HR_Manager;

وهذا يمنح دور "HR_Manager" امتيازات تحديد البيانات وإدراجها في جدول "الموظفين".

سحب او إبطال

يتم استخدام الأمر REVOKE لإلغاء الامتيازات الممنوحة مسبقًا:

REVOKE DELETE ON Customers FROM Sales_Team;

يؤدي هذا إلى إلغاء امتياز حذف البيانات من جدول "العملاء" من دور "فريق_المبيعات".

أوامر DCL في SQL مع أمثلة

فيما يلي مقتطفات التعليمات البرمجية ومخرجات القيمة الحقيقية المقابلة لأوامر DCL:

أمر SQL مقتطف الرمز الإخراج (مثال على القيمة الحقيقية)
منحة GRANT SELECT, INSERT ON Employees TO HR_Manager; يمنح دور "HR_Manager" امتيازات لتحديد وإدراج البيانات في جدول "الموظفين".
سحب او إبطال REVOKE DELETE ON Customers FROM Sales_Team; تم إلغاء امتياز حذف البيانات من جدول "العملاء" من دور "فريق_المبيعات".
توضح هذه الأمثلة كيفية التحكم في الوصول والأمان في قاعدة بيانات باستخدام أوامر DCL.

أوامر لغة التحكم في المعاملات (TCL) في SQL

ما هو تي سي ال؟

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

أوامر TCL الشائعة في SQL

ارتكب

يتم استخدام الأمر COMMIT لحفظ التغييرات التي تم إجراؤها أثناء معاملة على قاعدة البيانات بشكل دائم:

BEGIN;
-- SQL statements
COMMIT;

يبدأ هذا المثال معاملة، ويقوم بتنفيذ عبارات SQL، ثم يقوم بإجراء التغييرات على قاعدة البيانات.

رول باك

يتم استخدام أمر ROLLBACK للتراجع عن التغييرات التي تم إجراؤها أثناء المعاملة:

BEGIN;
-- SQL statements
ROLLBACK;

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

حفظ نقطة

يتيح لك أمر SAVEPOINT تعيين نقطة ضمن المعاملة التي يمكنك الرجوع إليها لاحقًا:

BEGIN;
-- SQL statements
SAVEPOINT my_savepoint;
-- More SQL statements
ROLLBACK TO my_savepoint;

يقوم هذا المثال بإنشاء نقطة حفظ ثم يعود لاحقًا إلى تلك النقطة، مما يؤدي إلى التراجع عن بعض تغييرات المعاملة.

أوامر TCL في SQL مع أمثلة

فيما يلي مقتطفات التعليمات البرمجية ومخرجاتها المقابلة لأوامر TCL:

أمر SQL مقتطف الرمز الناتج
ارتكب BEGIN; -- SQL statements COMMIT; يتم حفظ التغييرات التي تم إجراؤها في المعاملة بشكل دائم.
رول باك BEGIN; -- SQL statements ROLLBACK; تم التراجع عن التغييرات التي تم إجراؤها في المعاملة.
حفظ نقطة BEGIN; -- SQL statements SAVEPOINT my_savepoint; -- More SQL statements ROLLBACK TO my_savepoint; تم إنشاء Savepoint واستخدامه لاحقًا للعودة إلى نقطة محددة في المعاملة.
توفر هذه الأمثلة مقتطفات من التعليمات البرمجية ومخرجات القيمة الحقيقية المقابلة لها بتنسيق جدولي لكل نوع من أوامر SQL.

أوامر لغة استعلام البيانات (DQL) في SQL

ما هو DQL؟

لغة استعلام البيانات (DQL) هي مجموعة فرعية مهمة من SQL (لغة الاستعلام الهيكلية) المستخدمة بشكل أساسي للاستعلام عن البيانات واسترجاعها من قاعدة البيانات. في حين أن SQL تشمل مجموعة من الأوامر لمعالجة البيانات، فإن أوامر DQL تركز حصريًا على استرجاع البيانات.

تشكل لغة استعلام البيانات (DQL) أساس SQL ولا غنى عنها لاسترداد البيانات وتحليلها من قواعد البيانات العلائقية. من خلال الفهم القوي لأوامر ومفاهيم DQL، يمكنك استخلاص رؤى قيمة وإنشاء تقارير تدفع إلى اتخاذ قرارات مستنيرة. سواء كنت مسؤول قاعدة بيانات، أو محلل بيانات، أو مطور برامج، فإن إتقان DQL يعد أمرًا ضروريًا للعمل بفعالية مع قواعد البيانات.

الغرض من DQL

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

  • توليد التقارير
  • استخراج المعلومات الإحصائية
  • عرض البيانات للمستخدمين
  • الإجابة على الاستفسارات التجارية المعقدة

أوامر DQL الشائعة في SQL

عبارة SELECT

SELECT البيان هو حجر الزاوية في DQL. يسمح لك باسترداد البيانات من جدول واحد أو أكثر في قاعدة البيانات. وهنا بناء الجملة الأساسي لل SELECT بيان:

SELECT column1, column2, ...FROM table_nameWHERE condition;
  • column1, column2، …: الأعمدة التي تريد استرجاعها من الجدول.
  • table_name: اسم الجدول الذي تريد استرجاع البيانات منه.
  • condition (اختياري): الشرط الذي يحدد الصفوف التي سيتم استردادها. إذا تم حذفها، سيتم استرداد كافة الصفوف.
مثال: استرداد أعمدة محددة
SELECT FirstName, LastNameFROM Employees;

يقوم هذا الاستعلام باسترداد الأسماء الأولى والأخيرة لجميع الموظفين من جدول "الموظفين".

مثال: تصفية البيانات بشرط
SELECT ProductName, UnitPriceFROM ProductsWHERE UnitPrice > 50;

يقوم هذا الاستعلام باسترجاع أسماء المنتجات وأسعار وحداتها من جدول "المنتجات" حيث يكون سعر الوحدة أكبر من 50.

كلمة رئيسية مميزة

DISTINCT يتم استخدام الكلمة الأساسية بالتزامن مع SELECT عبارة لإزالة الصفوف المكررة من مجموعة النتائج. فهو يضمن إرجاع القيم الفريدة فقط.

مثال: استخدام DISTINCT
SELECT DISTINCT CountryFROM Customers;

يسترد هذا الاستعلام قائمة بالبلدان الفريدة من جدول "العملاء"، مما يؤدي إلى إزالة الإدخالات المكررة.

عبارة ORDER BY

ORDER BY يتم استخدام العبارة لفرز مجموعة النتائج بناءً على عمود واحد أو أكثر بترتيب تصاعدي أو تنازلي.

مثال: فرز النتائج
SELECT ProductName, UnitPriceFROM ProductsORDER BY UnitPrice DESC;

يقوم هذا الاستعلام باسترداد أسماء المنتجات وأسعار الوحدات من جدول "المنتجات" وفرزها بترتيب تنازلي لسعر الوحدة.

وظائف مجمعة

يدعم DQL العديد من الوظائف المجمعة التي تسمح لك بإجراء العمليات الحسابية على مجموعات من الصفوف وإرجاع القيم الفردية. وتشمل الوظائف الإجمالية المشتركة COUNT, SUM, AVG, MINو MAX.

مثال: استخدام الوظائف التجميعية
SELECT AVG(UnitPrice) AS AveragePriceFROM Products;

يقوم هذا الاستعلام بحساب متوسط ​​سعر الوحدة للمنتجات في جدول "المنتجات".

الانضمام إلى العمليات

يمكّنك DQL من دمج البيانات من جداول متعددة باستخدام JOIN العمليات. INNER JOIN, LEFT JOIN, RIGHT JOINو FULL OUTER JOIN هي أنواع شائعة من الصلات.

مثال: استخدام INNER JOIN
SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

يسترد هذا الاستعلام معرفات الطلبات وأسماء العملاء من خلال الانضمام إلى جدولي "الطلبات" و"العملاء" استنادًا إلى عمود "معرف العميل".

تجميع البيانات باستخدام GROUP BY

GROUP BY تسمح لك الجملة بتجميع الصفوف التي تشترك في قيمة مشتركة في عمود واحد أو أكثر. يمكنك بعد ذلك تطبيق وظائف مجمعة على كل مجموعة.

مثال: تجميع البيانات وتجميعها
SELECT Country, COUNT(*) AS CustomerCountFROM CustomersGROUP BY Country;

يقوم هذا الاستعلام بتجميع العملاء حسب البلد وحساب عدد العملاء في كل بلد.

مفاهيم DQL المتقدمة في SQL

الاستعلامات الفرعية

الاستعلامات الفرعية، والمعروفة أيضًا باسم الاستعلامات المتداخلة، هي استعلامات مضمنة في استعلامات أخرى. ويمكن استخدامها لاسترداد القيم التي سيتم استخدامها في الاستعلام الرئيسي.

مثال: استخدام استعلام فرعي
SELECT ProductNameFROM ProductsWHERE CategoryID IN (SELECT CategoryID FROM Categories WHERE CategoryName = 'Beverages');

يقوم هذا الاستعلام باسترداد أسماء المنتجات في فئة "المشروبات" باستخدام استعلام فرعي للعثور على معرف الفئة.

المشاهدات

طرق العرض هي جداول افتراضية تم إنشاؤها عن طريق تحديد استعلام في SQL. إنها تسمح لك بتبسيط الاستعلامات المعقدة وتوفير واجهة متسقة للمستخدمين.

مثال: إنشاء طريقة عرض
CREATE VIEW ExpensiveProducts ASSELECT ProductName, UnitPriceFROM ProductsWHERE UnitPrice > 100;

يقوم هذا الاستعلام بإنشاء طريقة عرض تسمى "المنتجات باهظة الثمن" تتضمن أسماء المنتجات وأسعار الوحدات للمنتجات التي يزيد سعر الوحدة فيها عن 100.

وظائف النافذة

تُستخدم وظائف النافذة لإجراء العمليات الحسابية عبر مجموعة من الصفوف المرتبطة بالصف الحالي ضمن مجموعة النتائج. غالبًا ما يتم استخدامها لمهام مثل حساب المجاميع التراكمية وصفوف الترتيب.

مثال: استخدام وظيفة النافذة
SELECT OrderID, ProductID, UnitPrice, SUM(UnitPrice) OVER (PARTITION BY OrderID) AS TotalPricePerOrderFROM OrderDetails;

يقوم هذا الاستعلام بحساب السعر الإجمالي لكل طلب باستخدام دالة النافذة لتقسيم البيانات حسب الطلب.

استعلامات SQL الأساسية

مقدمة إلى استعلامات SQL الأساسية

تعد استعلامات SQL الأساسية ضرورية لاسترداد البيانات وعرضها من قاعدة البيانات. وهي تشكل الأساس للعديد من عمليات قاعدة البيانات المعقدة.

أمثلة على استعلامات SQL الأساسية

عبارة SELECT

يتم استخدام عبارة SELECT لاسترداد البيانات من جدول واحد أو أكثر. إليك مثال بسيط:

SELECT * FROM Customers;

يقوم هذا الاستعلام باسترداد كافة الأعمدة من جدول "العملاء".

تصفية البيانات باستخدام أين

يمكنك تصفية البيانات باستخدام WHERE الشرط.

SELECT * FROM Employees WHERE Department = 'Sales';

يقوم هذا الاستعلام باسترجاع جميع الموظفين من جدول "الموظفين" الذين يعملون في قسم "المبيعات".

فرز البيانات باستخدام ORDER BY

ORDER BY يتم استخدام العبارة لفرز مجموعة النتائج.

SELECT * FROM Products ORDER BY Price DESC;

يقوم هذا الاستعلام باسترداد كافة المنتجات من جدول "المنتجات" وفرزها بترتيب تنازلي حسب السعر.

تجميع البيانات باستخدام GROUP BY

يمكنك تجميع البيانات باستخدام GROUP BY الشرط.

SELECT Department, AVG(Salary) AS AvgSalary FROM Employees GROUP BY Department;

يقوم هذا الاستعلام بحساب متوسط ​​الراتب لكل قسم في جدول "الموظفين".

الجمع بين الشروط مع و/أو

يمكنك الجمع بين الشروط باستخدام AND و OR.

SELECT * FROM Orders WHERE (CustomerID = 1 AND OrderDate >= '2023-01-01') OR TotalAmount > 1000;

يسترد هذا الاستعلام الطلبات التي يكون فيها معرف العميل هو 1، ويكون تاريخ الطلب في 1 يناير 2023 أو بعده، أو يكون المبلغ الإجمالي أكبر من 1000.

تحديد النتائج بـ LIMIT

LIMIT يتم استخدام العبارة لتحديد عدد الصفوف التي يتم إرجاعها.

SELECT * FROM Products LIMIT 10;

يقوم هذا الاستعلام باسترداد الصفوف العشرة الأولى من جدول "المنتجات".

الجمع بين الجداول مع JOIN

يمكنك دمج البيانات من جداول متعددة باستخدام JOIN.

SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

يسترد هذا الاستعلام أسماء العملاء وتواريخ الطلب للعملاء الذين قدموا طلبات من خلال الانضمام إلى جدولي "العملاء" و"الطلبات" في معرف العميل.

تغطي هذه الأمثلة لاستعلامات SQL الأساسية السيناريوهات الشائعة عند العمل مع قاعدة بيانات علائقية. يمكن تخصيص استعلامات SQL وتوسيعها لتناسب الاحتياجات المحددة لتطبيق قاعدة البيانات الخاصة بك.

ورقة الغش SQL

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

فيما يلي ورقة الغش الكاملة لـ SQL، والتي تتضمن أوامر SQL الشائعة وتفسيراتها:

أمر SQL الوصف مثال
اختر يسترجع البيانات من جدول. SELECT FirstName, LastName FROM Employees;
التصفية مع أين يقوم بتصفية الصفوف بناءً على شرط محدد. SELECT ProductName, Price FROM Products WHERE Price > 50;
الفرز حسب الطلب فرز مجموعة النتائج بترتيب تصاعدي (ASC) أو تنازلي (DESC). SELECT ProductName, Price FROM Products ORDER BY Price DESC;
التجميع مع GROUP BY يقوم بتجميع الصفوف ذات القيم نفسها في صفوف التلخيص وتطبيق الوظائف المجمعة. SELECT Department, AVG(Salary) AS AvgSalary FROM Employees GROUP BY Department;
شروط الجمع يجمع بين الشروط باستخدام AND و OR العاملين. SELECT * FROM Orders WHERE (CustomerID = 1 AND OrderDate >= '2023-01-01') OR TotalAmount > 1000;
نتائج محدودة يحد من عدد الصفوف التي تم إرجاعها LIMIT ويتخطى الصفوف مع OFFSET. SELECT * FROM Products LIMIT 10 OFFSET 20;
الانضمام إلى الجداول مع JOIN يجمع البيانات من جداول متعددة باستخدام JOIN. SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
إدراج في إدراج سجلات جديدة في جدول. INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR');
قم تعديل السجلات الموجودة في الجدول. UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'Engineering';
حذف إزالة السجلات من الجدول. DELETE FROM Employees WHERE Department = 'Finance';
منحة يمنح امتيازات للمستخدمين أو الأدوار. GRANT SELECT, INSERT ON Employees TO HR_Manager;
سحب او إبطال يلغي الامتيازات الممنوحة مسبقًا. REVOKE DELETE ON Customers FROM Sales_Team;
ابدأ، التزم، التراجع يدير المعاملات: BEGIN يبدأ، COMMIT يحفظ التغييرات بشكل دائم، و ROLLBACK التراجع عن التغييرات والتراجع. BEGIN; -- SQL statements COMMIT;
توفر ورقة الغش SQL هذه مرجعًا سريعًا لمختلف أوامر ومفاهيم SQL المستخدمة بشكل شائع في إدارة قواعد البيانات.

أنواع لغة SQL ومجموعاتها الفرعية

استكشاف أنواع لغة SQL ومجموعاتها الفرعية

SQL، أو لغة الاستعلام الهيكلية، هي لغة متعددة الاستخدامات تستخدم لإدارة قواعد البيانات العلائقية. مع مرور الوقت، قدمت أنظمة إدارة قواعد البيانات المختلفة (DBMS) اختلافات وملحقات لـ SQL، مما أدى إلى ظهور أنواع ومجموعات فرعية مختلفة من لغة SQL. يمكن أن يساعدك فهم هذه الفروق في اختيار متغير SQL المناسب لنظام قاعدة البيانات الخاص بك أو حالة الاستخدام.

أنواع لغة SQL

1. SQL القياسي (ANSI SQL)

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

تتضمن الخصائص الرئيسية لـ Standard SQL (ANSI SQL) ما يلي:

  • عبارات SQL الشائعة مثل SELECT, INSERT, UPDATEو DELETE.
  • أنواع البيانات القياسية مثل INTEGER, VARCHARو DATE.
  • وظائف مجمعة موحدة مثل SUM, AVGو COUNT.
  • عمليات JOIN الأساسية لدمج البيانات من جداول متعددة.

2. Transact-SQL (T-SQL)

SQL للعمليات (T-SQL) هو امتداد لـ SQL تم تطويره بواسطة Microsoft للاستخدام مع Microsoft SQL Server DBMS. ويتضمن ميزات وإمكانيات إضافية تتجاوز معيار ANSI SQL. يعتبر T-SQL قويًا بشكل خاص لتطوير التطبيقات والإجراءات المخزنة داخل بيئة SQL Server.

تتضمن الميزات المميزة لـ T-SQL ما يلي:

  • تحسين معالجة الأخطاء باستخدام TRY...CATCH كتل.
  • دعم بنيات البرمجة الإجرائية مثل الحلقات والعبارات الشرطية.
  • الوظائف المخصصة والإجراءات المخزنة.
  • وظائف خاصة بـ SQL Server مثل GETDATE() و TOP.

3. PL/SQL (اللغة الإجرائية/SQL)

PL / SQL، الذي طورته شركة Oracle Corporation، هو امتداد إجرائي لـ SQL. يتم استخدامه بشكل أساسي مع قاعدة بيانات Oracle. يسمح PL/SQL للمطورين بكتابة الإجراءات والوظائف والمشغلات المخزنة، مما يجعله خيارًا قويًا لبناء تطبيقات معقدة داخل بيئة Oracle.

تشمل الميزات الرئيسية لـ PL/SQL ما يلي:

  • البنيات الإجرائية مثل الحلقات والعبارات الشرطية.
  • معالجة الاستثناءات لإدارة الأخطاء القوية.
  • دعم المؤشرات لمعالجة مجموعات النتائج.
  • التكامل السلس مع SQL لمعالجة البيانات.

مجموعات فرعية SQL

1. سكليتي

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

تشمل الخصائص البارزة لـ SQLite ما يلي:

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

2. الخلية

MySQL هو نظام إدارة قواعد بيانات علائقية مفتوح المصدر معروف بسرعته وموثوقيته. بينما يدعم MySQL لغة SQL القياسية، فإنه يتضمن أيضًا امتدادات ومحركات تخزين متنوعة، مثل InnoDB وMyISAM.

تشمل ميزات وإضافات MySQL ما يلي:

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

3 PostgreSQL

كيو، والذي يشار إليه غالبًا باسم Postgres، هو نظام قاعدة بيانات علائقية قوي مفتوح المصدر معروف بميزاته المتقدمة وقابلية التوسعة والامتثال للمعايير. إنه يلتزم بشكل وثيق بمعايير SQL ويوسع SQL بميزات مثل أنواع البيانات المخصصة وعوامل التشغيل والوظائف.

تتضمن سمات PostgreSQL البارزة ما يلي:

  • دعم أنواع البيانات المعقدة والأنواع المحددة من قبل المستخدم.
  • خيارات فهرسة واسعة النطاق وتحسين الاستعلام المتقدم.
  • مجموعة غنية من اللغات الإجرائية، بما في ذلك PL/pgSQL وPL/Python والمزيد.

اختيار متغير SQL الصحيح

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

فهم SQL المضمن واستخدامه

يمثل Embedded SQL تكاملاً قويًا وسلسًا بين SQL التقليدية ولغات البرمجة عالية المستوى مثل Java أو C++ أو Python. إنه بمثابة جسر يسمح للمطورين بدمج عبارات SQL مباشرة داخل كود التطبيق الخاص بهم. يسهل هذا التكامل تفاعلات قاعدة البيانات الفعالة والمضبوطة من داخل التطبيق نفسه. فيما يلي نظرة فاحصة على لغة SQL المضمنة واستخدامها:

كيف يعمل SQL المضمن

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

فوائد SQL المضمنة

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

سيناريوهات الاستخدام

يعد SQL المضمن مفيدًا بشكل خاص في السيناريوهات التي تتشابك فيها تفاعلات كود التطبيق وقاعدة البيانات بشكل وثيق. فيما يلي حالات الاستخدام الشائعة:

  1. تطبيقات ويب: يتم استخدام SQL المضمن للتعامل مع عمليات قاعدة البيانات لتطبيقات الويب، مما يسمح للمطورين باسترداد البيانات ومعالجتها وتخزينها بكفاءة.
  2. المشاريع والبرامج: غالبًا ما تستخدم تطبيقات برامج المؤسسات لغة SQL المضمنة لإدارة معاملات البيانات المعقدة وإعداد التقارير.
  3. أنظمة الوقت الحقيقي: تستخدم الأنظمة التي تتطلب معالجة البيانات في الوقت الفعلي، مثل منصات التداول المالي، لغة SQL المضمنة لاسترجاع البيانات وتحليلها بسرعة عالية.
  4. نظم جزءا لا يتجزأ من: في تطوير الأنظمة المضمنة، يتم تضمين عبارات SQL لإدارة تخزين البيانات واسترجاعها على الأجهزة ذات الموارد المحدودة.

الاعتبارات وأفضل الممارسات

عند استخدام SQL المضمن، من الضروري مراعاة أفضل الممارسات التالية:

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

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

أمثلة وممارسات SQL

المزيد من أمثلة استعلام SQL للممارسة

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

أهمية ممارسة SQL

SQL هي لغة متعددة الاستخدامات تستخدم للاستعلام عن البيانات ومعالجتها في قواعد البيانات العلائقية. سواء كنت مسؤول قاعدة بيانات، أو مطورًا، أو محلل بيانات، أو محترفًا طموحًا في SQL، فإن الممارسة المنتظمة هي المفتاح لتصبح محترفًا. إليك سبب أهمية ممارسة SQL:

  1. تطوير المهارة: يساعدك التدريب على إتقان بناء جملة SQL ومعرفة كيفية تطبيقه على سيناريوهات العالم الحقيقي.
  2. حل المشاكل: تتحدى تمارين تدريب SQL حل المشكلات العملية، مما يعزز مهارات حل المشكلات لديك.
  3. الكفاءة: يتيح لك إتقان لغة SQL العمل بكفاءة أكبر، مما يوفر الوقت والجهد في استرجاع البيانات ومعالجتها.
  4. التقدم الوظيفي: يعد إتقان SQL مهارة قيمة في سوق العمل، ويمكن أن تساعدك الممارسة على تطوير حياتك المهنية.

أمثلة على ممارسات SQL

1. استعلامات التحديد الأساسية

ممارسة الكتابة الأساسية SELECT الاستعلامات لاسترداد البيانات من قاعدة البيانات. ابدأ باستعلامات بسيطة لجلب أعمدة محددة من جدول واحد. ثم قم بالتقدم إلى استعلامات أكثر تعقيدًا تتضمن جداول متعددة ومعايير التصفية.

-- Example 1: Retrieve all columns from the "Employees" table.SELECT * FROM Employees; 
-- Example 2: Retrieve the names of employees with a salary greater than $50,000. SELECT FirstName, LastName FROM Employees WHERE Salary > 50000; 
-- Example 3: Join two tables to retrieve customer names and their associated orders. SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

2. استعلامات تعديل البيانات

تدرب على الكتابة INSERT, UPDATEو DELETE بيانات لمعالجة البيانات في قاعدة البيانات. تأكد من أنك تفهم آثار هذه الاستعلامات على سلامة البيانات.

-- Example 1: Insert a new record into the "Products" table. INSERT INTO Products (ProductName, UnitPrice) VALUES ('New Product', 25.99);
 -- Example 2: Update the quantity of a product in the "Inventory" table. UPDATE Inventory SET QuantityInStock = QuantityInStock - 10 WHERE ProductID = 101; 
-- Example 3: Delete records of inactive users from the "Users" table. DELETE FROM Users WHERE IsActive = 0;

3. التجميع والتجمع

تدرب على استخدام الوظائف المجمعة مثل SUM, AVG, COUNTو GROUP BY لإجراء العمليات الحسابية على مجموعات البيانات وإنشاء إحصائيات موجزة.

-- Example 1: Calculate the total sales for each product category. SELECT Category, SUM(UnitPrice * Quantity) AS TotalSales FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID GROUP BY Category; 
-- Example 2: Find the average age of employees by department. SELECT Department, AVG(Age) AS AverageAge FROM Employees GROUP BY Department;

4. الاستعلامات الفرعية والانضمامات

تدرب على استخدام الاستعلامات الفرعية داخل SELECT, INSERT, UPDATEو DELETE صياغات. أتقن فن ربط الجداول لاسترجاع المعلومات ذات الصلة.

-- Example 1: Find employees with salaries greater than the average salary. SELECT FirstName, LastName, Salary FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees); -- Example 2: Update customer records with their latest order date. UPDATE Customers SET LastOrderDate = (SELECT MAX(OrderDate) FROM Orders WHERE Customers.CustomerID = Orders.CustomerID);

موارد ممارسة SQL عبر الإنترنت

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

  1. SQLZoo: يقدم دروس SQL تفاعلية واختبارات لممارسة استعلامات SQL لأنظمة قواعد البيانات المختلفة.
  2. LeetCode: يوفر تحديات ومسابقات SQL لاختبار وتحسين مهارات SQL الخاصة بك.
  3. HackerRank: يقدم مجال SQL مع مجموعة واسعة من مشاكل وتحديات SQL.
  4. Codecademy: يتميز بدورة SQL تفاعلية مع تمارين عملية للمبتدئين والمتوسطين.
  5. SQLFiddle: يوفر بيئة SQL على شبكة الإنترنت لممارسة استعلامات SQL عبر الإنترنت.
  6. Kaggle: يقدم نواة SQL ومجموعات البيانات لتحليل البيانات واستكشافها.

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

وفي الختام

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

قاموس المصطلحات

  • SQL: لغة الاستعلام الهيكلية، وهي لغة خاصة بالمجال لإدارة قواعد البيانات العلائقية.
  • DDL: لغة تعريف البيانات، وهي مجموعة فرعية من لغة SQL لتحديد وإدارة هياكل قاعدة البيانات.
  • DML: لغة معالجة البيانات، وهي مجموعة فرعية من SQL لاسترداد البيانات وإدراجها وتحديثها وحذفها.
  • DCL: لغة التحكم في البيانات، وهي مجموعة فرعية من SQL لإدارة أمان قاعدة البيانات والتحكم في الوصول.
  • TCL: لغة التحكم في المعاملات، وهي مجموعة فرعية من SQL لإدارة معاملات قاعدة البيانات.
  • DQL: لغة استعلام البيانات، وهي مجموعة فرعية من SQL تركز فقط على استرداد البيانات والاستعلام عنها من قاعدة البيانات.

مراجع حسابات

لمزيد من القراءة والاستكشاف المتعمق لموضوعات SQL محددة، يرجى الرجوع إلى المراجع التالية:

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة