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

ما هو 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)

يلخص الجدول أدناه الفئات الخمس قبل أن يتم تناول كل منها بالتفصيل.
| الفئة | الهدف | الأوامر الرئيسية |
|---|---|---|
| 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 للتخلص من الجدول بالكامل.
