أوامر SQL: DQL، DDL، DML، DCL، وTCL مع أمثلة

⚡ ملخص ذكي

تُصنف أوامر SQL إلى خمس لغات فرعية لإدارة قواعد البيانات العلائقية. تُحدد لغة تعريف البيانات (DDL) البنية، وتُغير لغة معالجة البيانات (DML) البيانات، وتتحكم لغة التحكم في الوصول (DCL)، وتُدير لغة التحكم في المعاملات (TCL)، وتسترجع لغة استعلام البيانات (DQL) البيانات، ولكل منها مجموعة خاصة بها من العبارات والصيغ.

  • ؟؟؟؟ ️ دائرة المالية: تُعرّف أوامر CREATE وDROP وALTER وTRUNCATE وتُغيّر مخطط الجداول وقواعد البيانات.
  • ✏️ دمل: تقوم أوامر INSERT وUPDATE وDELETE بتعديل الصفوف الموجودة داخل جدول.
  • 🔑 DCL: يمنح الأمران GRANT و REVOKE صلاحيات الوصول إلى كائنات قاعدة البيانات ويزيلانها.
  • 🔄 TCL: تتحكم أوامر COMMIT و ROLLBACK و SAVEPOINT في كيفية حفظ المعاملات أو التراجع عنها.
  • 🔍 DQL: يسترجع الأمر SELECT الصفوف، بعد تصفيتها بواسطة عبارة WHERE.
  • 🗄️ اللغة القياسية: جميع أنظمة إدارة قواعد البيانات العلائقية الرئيسية، بدءًا من MySQL إلى Oracle ويستخدم SQL Server.
  • ⚠️ مقارنة رئيسية: تقوم كل من TRUNCATE و DELETE بمسح الصفوف، لكن TRUNCATE هي DDL وليست صفًا تلو الآخر.

أوامر SQL DQL DDL DML DCL TCL

ما هو SQL؟

SQL هي لغة قاعدة بيانات مصممة لاسترجاع البيانات وإدارتها في قاعدة بيانات علائقية.

SQL هي اللغة القياسية لإدارة قواعد البيانات. جميع أنظمة RDBMS مثل MySQLالوصول إلى مايكروسوفت، Oracleتستخدم قواعد البيانات Sybase وPostgres وSQL Server لغة SQL كلغة برمجة قياسية. تستخدم لغة SQL أوامر متنوعة لتنفيذ عمليات مختلفة. سنتعرف في هذا الدرس على أوامر DCL وTCL وDQL وDDL وDML في SQL مع أمثلة توضيحية.

لماذا نستخدم SQL؟

فيما يلي أسباب مهمة لاستخدام لغة SQL:

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

تاريخ موجز لـ SQL

فيما يلي معالم مهمة من تاريخ SQL:

  • 1970 - وصف الدكتور إدغار ف. "تيد" كود نموذجًا علائقيًا لقواعد البيانات.
  • 1974 – ظهرت لغة الاستعلامات المهيكلة، والتي كانت تُسمى في الأصل SEQUEL في IBM.
  • 1979 - Oracle أصدرت أول قاعدة بيانات تجارية متاحة تعتمد على لغة SQL، استنادًا إلى IBMنموذج بحثي أولي لنظام R.
  • 1986 – نشرت ANSI أول معيار SQL، وهو SQL-86.
  • 1989 – ظهرت SQL-89 كأول مراجعة للمعيار.
  • 1992 – أصبح SQL-92 (SQL2) الأساس الرئيسي الذي لا تزال معظم قواعد البيانات تستخدمه حتى اليوم.
  • 1999 – تم إطلاق SQL:1999 (SQL3) بميزات مثل المشغلات والاستعلامات المتكررة والتوجه الكائني.
  • 2003 – أضافت SQL:2003 وظائف النوافذ، ومولدات التسلسل، والميزات المتعلقة بـ XML.
  • 2006 – أضاف SQL:2006 دعمًا للغة استعلام XML (XQuery).
  • 2008 – قدمت لغة SQL:2008 عبارة TRUNCATE ومشغلات INSTEAD OF.
  • 2011 – SQL:2011 دعم محسّن لقواعد البيانات الزمنية.
  • 2016 – أضاف SQL:2016 دعم JSON ومطابقة نمط الصف (MATCH_RECOGNIZE).
  • 2019 – أضافت SQL/MDA (الجزء 15) دعم المصفوفات متعددة الأبعاد إلى المعيار.
  • 2023 – SQL:2023 أضاف نوع بيانات JSON أصلي واستعلامات الرسم البياني للخصائص (SQL/PGQ).
  • 2024 - تم نشر GQL، وهي أول لغة قواعد بيانات ISO جديدة منذ SQL، كمعيار مصاحب لاستعلام الرسم البياني.
  • 2026 – لا يزال معيار SQL:2023 هو المعيار الحالي، مع وجود المراجعة التالية قيد التطوير في ISO/IEC.

أنواع أوامر SQL

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

  • لغة تعريف البيانات (DDL)
  • لغة معالجة البيانات (DML)
  • لغة التحكم في البيانات (DCL)
  • لغة التحكم في المعاملات (TCL)
  • لغة استعلام البيانات (DQL)
أنواع أوامر SQL
أنواع SQL

يلخص الجدول أدناه الفئات الخمس قبل أن يتم تناول كل منها بالتفصيل.

الفئة الهدف الأوامر الرئيسية
DDL تحديد البنية إنشاء، حذف، تعديل، اقتطاع
DML تعديل البيانات إدراج، تحديث، حذف
DCL التحكم في الوصول منح، إلغاء
TCL إدارة المعاملات الالتزام، التراجع، نقطة الحفظ
دي كيو إل استرداد البيانات اختر

ما هو DDL؟

تساعدك لغة تعريف البيانات (DDL) في تحديد بنية قاعدة البيانات أو مخططها. دعونا نتعرف على أوامر DDL وصيغتها. أهم أوامر DDL في SQL هي: CREATE، DROP، ALTER، وTRUNCATE.

خلق

تُستخدم عبارة CREATE لتحديد بنية قاعدة البيانات أو مخططها:

بناء الجملة:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

فمثلا:

Create database university;
Create table students;
Create view for_students;

إسقاط

يقوم أمر DROP بإزالة الجداول وقواعد البيانات من نظام إدارة قواعد البيانات العلائقية (RDBMS).

بناء الجملة:

DROP TABLE ;

فمثلا:

Drop object_type object_name;
Drop database university;
Drop table student;

ALTER

يسمح لك أمر ALTER بتغيير بنية قاعدة البيانات.

بناء الجملة: لإضافة عمود جديد في الجدول:

ALTER TABLE table_name ADD column_name COLUMN-definition;

لتعديل عمود موجود في الجدول:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

فمثلا:

Alter table guru99 add subject varchar;

اقتطاع

يستخدم هذا الأمر لحذف كافة الصفوف من الجدول وتحرير المساحة التي تحتوي على الجدول.

بناء الجملة:

TRUNCATE TABLE table_name;

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

TRUNCATE table students;

ما هي لغة معالجة البيانات؟

تتيح لك لغة معالجة البيانات (DML) تعديل قاعدة البيانات من خلال إدراج البيانات وتعديلها وحذفها. وهي مسؤولة عن تنفيذ جميع أنواع تعديل البيانات في قاعدة البيانات. أهم أوامر DML في لغة SQL هي:

  • INSERT
  • قم
  • حذف

INSERT

تُستخدم هذه العبارة لإدراج البيانات في صفوف الجدول.

بناء الجملة:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);

فمثلا:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

قم

يُستخدم هذا الأمر لتحديث أو تعديل قيمة عمود في الجدول.

بناء الجملة:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

فمثلا:

UPDATE students
SET FirstName = 'Jhon', LastName= 'Wick'
WHERE StudID = 3;

حذف

يستخدم هذا الأمر لإزالة صف واحد أو أكثر من الجدول.

بناء الجملة:

DELETE FROM table_name [WHERE condition];

فمثلا:

DELETE FROM students
WHERE FirstName = 'Jhon';

ما هو DCL؟

تتضمن لغة التحكم بالبيانات (DCL) أوامر مثل GRANT وREVOKE، والتي تُستخدم لمنح الحقوق والصلاحيات. كما تتحكم أوامر أخرى في معلمات نظام قاعدة البيانات.

منحة

يُستخدم هذا الأمر لمنح المستخدم صلاحيات الوصول إلى قاعدة البيانات.

بناء الجملة:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

فمثلا:

GRANT SELECT ON Users TO'Tom'@'localhost;

Revحسنا

يُعد هذا الأمر مفيدًا لاستعادة الأذونات من المستخدم.

بناء الجملة:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

فمثلا:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

ما هو تي سي ال؟

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

ارتكب

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

بناء الجملة:

Commit;

فمثلا:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

العودة

يسمح لك أمر التراجع بإلغاء المعاملات التي لم يتم حفظها بالفعل في قاعدة البيانات.

بناء الجملة:

ROLLBACK;

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

DELETE FROM Students
WHERE RollNo =25;

حفظ نقطة

يساعدك هذا الأمر في تحديد نقطة حفظ داخل المعاملة.

بناء الجملة:

SAVEPOINT SAVEPOINT_NAME;

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

SAVEPOINT RollNo;

ما هو DQL؟

تُستخدم لغة استعلام البيانات (DQL) لجلب البيانات من قاعدة البيانات. وهي تستخدم أمرًا واحدًا فقط، وهو SELECT.

اختر

يساعدك هذا الأمر في تحديد السمات بناءً على الشرط الموصوف في عبارة WHERE.

بناء الجملة:

SELECT expressions
FROM TABLES
WHERE conditions;

فمثلا:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

حذف مقابل اقتطاع مقابل إسقاط

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

البعد حذف اقتطاع إسقاط
الفئة DML DDL DDL
يزيل الصفوف المحددة جميع الصفوف الطاولة بأكملها
حيث الشرطية مسموح به غير مسموح غير قابل للتطبيق
العودة ممكن عادة لا غير ممكن
تم الحفاظ على الهيكل نعم نعم لا

باختصار، استخدم DELETE لإزالة صفوف محددة، وTRUNCATE لإفراغ جدول بسرعة، وDROP للتخلص من الجدول بالكامل.

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

أمر DELETE هو أمر DML يقوم بإزالة صفوف محددة ويمكن التراجع عنه. أما أمر TRUNCATE فهو أمر DDL يقوم بإزالة جميع الصفوف دفعة واحدة، وهو أسرع، وعادةً لا يمكن التراجع عنه.

وهي تنتمي إلى لغة التحكم في البيانات، أو DCL. يمنح الأمر GRANT المستخدم امتيازات على كائن قاعدة البيانات، بينما يسحب الأمر REVOKE تلك الامتيازات، والتي تتحكم معًا في الوصول والأمان.

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

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

يُعرّف تعريف البيانات (DDL) بنية قاعدة البيانات أو يُغيّرها، مثل الجداول والأعمدة. بينما تُغيّر لغة معالجة البيانات (DML) البيانات الموجودة داخل تلك البنية، من خلال عمليات الإدراج والتحديث والحذف. والفرق الأساسي يكمن في الفرق بين البنية والمحتوى.

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