الفرق بين المراجعتين لصفحة: «SQL/Topics»
إعادة هيكلة الجدول |
اختصار بعض التكرارات |
||
سطر 18: | سطر 18: | ||
=== [[SQL/subquery|الاستعلامات الفرعية Subqueries]] === | === [[SQL/subquery|الاستعلامات الفرعية Subqueries]] === | ||
هي استعلام واقعٌ ضمن استعلام آخر بهدف استخدام البيانات الناتجة عنه في الاستعلام الرئيسي الذي يحتويه. | |||
== التعامل مع السجلات == | == التعامل مع السجلات == | ||
=== [[SQL/select|عرض السجلات SELECT]] === | === [[SQL/select|عرض السجلات SELECT]] === | ||
يُستخدَم | يُستخدَم للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر. | ||
=== [[SQL/where|الشرط WHERE]] === | === [[SQL/where|الشرط WHERE]] === | ||
يُستخدم ضمن استعلام <code>[[SQL/select|SELECT]]</code> لتحديد الشروط التي تُعرض أو تحذف السجلات أو تُعدل قيم حقولها وفقًا لها، إذ يُمكن أن تستخدم أيضًا مع استعلامَي <code>[[SQL/delete|DELETE]]</code> و <code>[[SQL/update|UPDATE]]</code>. | |||
=== [[SQL/group by|التجميع GROUP BY]] === | === [[SQL/group by|التجميع GROUP BY]] === | ||
تُستخدم | تُستخدم في استعلام <code>[[SQL/select|SELECT]]</code> بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول. | ||
=== [[SQL/having|الشرط HAVING]] === | === [[SQL/having|الشرط HAVING]] === | ||
يُستخدم ضمن استعلام <code>[[SQL/select|SELECT]]</code> لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها <code>[[SQL/group by|GROUP BY]]</code>. | |||
=== [[SQL/order by|ترتيب النتائج ORDER BY]] === | === [[SQL/order by|ترتيب النتائج ORDER BY]] === | ||
سطر 44: | سطر 44: | ||
=== [[SQL/delete|حذف السجلات من الجدول DELETE]] === | === [[SQL/delete|حذف السجلات من الجدول DELETE]] === | ||
يُستخدم | يُستخدم لحذف سجل أو أكثر. | ||
=== [[SQL/replace|الاستبدال REPLACE]] === | === [[SQL/replace|الاستبدال REPLACE]] === | ||
سطر 55: | سطر 55: | ||
=== [[SQL/inner join|الربط الداخلي INNER JOIN]] === | === [[SQL/inner join|الربط الداخلي INNER JOIN]] === | ||
يُستخدم | يُستخدم <nowiki/>لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. | ||
=== [[SQL/left join|الربط اليساري LEFT JOIN]] === | === [[SQL/left join|الربط اليساري LEFT JOIN]] === | ||
يُستخدم | يُستخدم <nowiki/>لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط. | ||
=== [[SQL/right join|الربط اليميني RIGHT JOIN]] === | === [[SQL/right join|الربط اليميني RIGHT JOIN]] === | ||
يُستخدم | يُستخدم <nowiki/>لتحديد بعض السجلات التي تحقق شرط الربط من الجدول اليساري وكافة السجلات من الجدول اليميني. | ||
=== [[SQL/full join|الربط التامّ FULL JOIN]] === | === [[SQL/full join|الربط التامّ FULL JOIN]] === | ||
يُستخدم | يُستخدم <nowiki/>لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط. | ||
== المعاملات == | == المعاملات == | ||
سطر 72: | سطر 72: | ||
=== [[SQL/distinct|النتائج المتمايزة DISTINCT]] === | === [[SQL/distinct|النتائج المتمايزة DISTINCT]] === | ||
تستخدم | تستخدم للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام <code>[[SQL/select|SELECT]]</code> للحصول على سجلات لا تتكرر القيم فيما بينها. | ||
=== [[SQL/exists|التأكد من وجود سجل EXISTS]] === | === [[SQL/exists|التأكد من وجود سجل EXISTS]] === | ||
يستخدم | يستخدم للتأكد من وجود سجلات ناتجة عن <nowiki/>[[SQL/subquery|الاستعلام الفرعي]] المستخدم في <nowiki/>[[SQL/select|الاستعلام الرئيسي]]. | ||
=== [[SQL/like|المعامل LIKE]] === | === [[SQL/like|المعامل LIKE]] === | ||
يستخدم | يستخدم لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له. | ||
=== [[SQL/Logical Operators|المعاملات المنطقية AND, OR, NOT]] === | === [[SQL/Logical Operators|المعاملات المنطقية AND, OR, NOT]] === | ||
سطر 90: | سطر 90: | ||
=== [[SQL/Comparison Operators|معاملات المقارنة ALL, SOME, ANY]] === | === [[SQL/Comparison Operators|معاملات المقارنة ALL, SOME, ANY]] === | ||
تستخدم | تستخدم بهدف المقارنة مع القيم الناتجة (لعمودٍ واحدٍ) عن أحد <nowiki/>[[SQL/subquery|الاستعلامات الفرعية]]. | ||
== بنى التحكم == | == بنى التحكم == | ||
سطر 112: | سطر 112: | ||
=== [[SQL/commit|الأمر COMMIT]] === | === [[SQL/commit|الأمر COMMIT]] === | ||
يستخدم | يستخدم بهدف حفظ التغييرات المُجراة على قاعدة البيانات نتيجة لتنفيذ العمليات، إذ تحفظ كافة التغييرات منذ آخر أمر <code>COMMIT</code> أو <code>ROLLBACK</code>. | ||
=== [[SQL/rollback|الأمر ROLLBACK]] === | === [[SQL/rollback|الأمر ROLLBACK]] === | ||
يستخدم | يستخدم لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها. | ||
== التعامل مع المستخدمين == | == التعامل مع المستخدمين == | ||
=== [[SQL/create user|إنشاء المستخدم CREATE USER]] === | === [[SQL/create user|إنشاء المستخدم CREATE USER]] === | ||
يُستخدم | يُستخدم لإنشاء مستخدم جديد، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/alter user|تعديل المستخدم ALTER USER]] === | === [[SQL/alter user|تعديل المستخدم ALTER USER]] === | ||
يُستخدم | يُستخدم للتعديل من خصائص وسماحيات المستخدم، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/drop user|حذف المستخدم DROP USER]] === | === [[SQL/drop user|حذف المستخدم DROP USER]] === | ||
يُستخدَم | يُستخدَم لحذف مستخدم. | ||
=== [[SQL/grant|منح الصلاحيات GRANT]] === | === [[SQL/grant|منح الصلاحيات GRANT]] === | ||
يستخدم | يستخدم لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/revoke|إلغاء الصلاحيات REVOKE]] === | === [[SQL/revoke|إلغاء الصلاحيات REVOKE]] === | ||
يستخدم | يستخدم لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
== التعامل مع الفهارس == | == التعامل مع الفهارس == | ||
=== [[SQL/create index|إنشاء الفهرس CREATE INDEX]] === | === [[SQL/create index|إنشاء الفهرس CREATE INDEX]] === | ||
يستخدم | يستخدم لإنشاء فهرس للجدول. | ||
=== [[SQL/alter index|تعديل الفهرس ALTER INDEX]] === | === [[SQL/alter index|تعديل الفهرس ALTER INDEX]] === | ||
يستخدم | يستخدم لتعديل الفهرس المُنشأ عبر الأمر <code>[[SQL/create index|CREATE INDEX]]</code>. | ||
=== [[SQL/drop index|حذف الفهرس DROP INDEX]] === | === [[SQL/drop index|حذف الفهرس DROP INDEX]] === | ||
يستخدم | يستخدم لحذف فهرس أو أكثر. | ||
== التعامل مع قواعد البيانات == | == التعامل مع قواعد البيانات == | ||
=== [[SQL/create database|إنشاء قاعدة البيانات CREATE DATABASE]] === | === [[SQL/create database|إنشاء قاعدة البيانات CREATE DATABASE]] === | ||
يستخدم | يستخدم لإنشاء قاعدة بيانات جديدة. | ||
=== [[SQL/drop database|حذف قاعدة البيانات DROP DATABASE]] === | === [[SQL/drop database|حذف قاعدة البيانات DROP DATABASE]] === | ||
يستخدم | يستخدم لحذف قاعدة البيانات. | ||
=== [[SQL/use|الاستخدام USE]] === | === [[SQL/use|الاستخدام USE]] === | ||
يستخدم | يستخدم لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق <code>context</code> لها. | ||
== التعامل مع الجداول == | == التعامل مع الجداول == | ||
سطر 162: | سطر 162: | ||
=== [[SQL/create table|إنشاء الجدول CREATE TABLE]] === | === [[SQL/create table|إنشاء الجدول CREATE TABLE]] === | ||
يستخدم | يستخدم لإنشاء جدولٍ جديدٍ في قاعدة البيانات. | ||
=== [[SQL/alter table|تعديل جدول ALTER TABLE]] === | === [[SQL/alter table|تعديل جدول ALTER TABLE]] === | ||
يستخدم لتعديل تعريف الجدول المُنشأ مسبقًا عبر الأمر <code>[[SQL/create table|CREATE TABLE]]</code>. | |||
=== [[SQL/drop table|حذف الجدول DROP TABLE]] === | === [[SQL/drop table|حذف الجدول DROP TABLE]] === | ||
يستخدم | يستخدم لحذف جدول أو أكثر من قاعدة البيانات. | ||
== التعامل مع الدوال == | == التعامل مع الدوال == | ||
سطر 176: | سطر 176: | ||
=== [[SQL/create function|إنشاء الدالة CREATE FUNCTION]] === | === [[SQL/create function|إنشاء الدالة CREATE FUNCTION]] === | ||
يستخدم | يستخدم لتعريف دالة جديدة. | ||
=== [[SQL/alter function|تعديل الدالة ALTER FUNCTION]] === | === [[SQL/alter function|تعديل الدالة ALTER FUNCTION]] === | ||
يستخدم | يستخدم لتعديل تعريف دالة مُعرَّفة مسبقًا عبر الأمر <code>[[SQL/create function|CREATE FUNCTION]]</code>. | ||
=== [[SQL/drop function|حذف الدالة DROP FUNCTION]] === | === [[SQL/drop function|حذف الدالة DROP FUNCTION]] === | ||
يستخدم | يستخدم لحذف دالة (أو إجراء) أو أكثر مُعرَّفة مسبقًا عبر الأمر <code>[[SQL/create function|CREATE FUNCTION]]</code>. | ||
=== [[SQL/return|العودة من الدالة RETURN]] === | === [[SQL/return|العودة من الدالة RETURN]] === | ||
سطر 190: | سطر 190: | ||
=== [[SQL/create view|إنشاء العرض CREATE VIEW]] === | === [[SQL/create view|إنشاء العرض CREATE VIEW]] === | ||
يستخدم | يستخدم لإنشاء عرضٍ والذي هو عبارة عن جدول افتراضي يُبنى بالاعتماد على نتائج استعلامٍ ما. | ||
=== [[SQL/alter view|تعديل العرض ALTER VIEW]] === | === [[SQL/alter view|تعديل العرض ALTER VIEW]] === | ||
يستخدم | يستخدم لتعديل عرضٍ مُنشَأ مسبقًا عبر الأمر <code>[[SQL/create view|CREATE VIEW]]</code>. | ||
=== [[SQL/drop view|حذف العرض DROP VIEW]] === | === [[SQL/drop view|حذف العرض DROP VIEW]] === | ||
يستخدم | يستخدم لحذف <code>view</code> أو أكثر مُنشئ مسبقًا عبر الأمر <code>[[SQL/create view|CREATE VIEW]]</code>. |
المراجعة الحالية بتاريخ 10:17، 31 يناير 2018
أنواع البيانات
أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية، والبيانات النصية، والوقت والتاريخ، والبيانات الثنائية ...إلخ.).
أساسيات لغة SQL
القيمة NULL
يستخدم التعبير IS NULL
للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد).
التعليقات Comments
تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة.
SELECT count(*); -- This comment continues to the end of line
SELECT count(*); /* This is an inline comment */;
التسمية Alias
يمكن إطلاق تسمية على الجداول أو الحقول تسهيلًا للتعامل معها بالاسم البديل المؤقت، وذلك عند الحاجة إلى الوصول إلى نفس الجدول أو الحقل عدة مرات، وعندما يكون اسم الجدول أو الحقل طويلًا وصعب الكتابة.
الاستعلامات الفرعية Subqueries
هي استعلام واقعٌ ضمن استعلام آخر بهدف استخدام البيانات الناتجة عنه في الاستعلام الرئيسي الذي يحتويه.
التعامل مع السجلات
عرض السجلات SELECT
يُستخدَم للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر.
الشرط WHERE
يُستخدم ضمن استعلام SELECT
لتحديد الشروط التي تُعرض أو تحذف السجلات أو تُعدل قيم حقولها وفقًا لها، إذ يُمكن أن تستخدم أيضًا مع استعلامَي DELETE
و UPDATE
.
التجميع GROUP BY
تُستخدم في استعلام SELECT
بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول.
الشرط HAVING
يُستخدم ضمن استعلام SELECT
لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها GROUP BY
.
ترتيب النتائج ORDER BY
تتلخص مهمة عبارة ORDER BY
بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعلام SELECT
وفق عمودٍ (أو أكثر) من الجدول.
الحصول على عدد محدد من النتائج
يمكن تحديد عدد السجلات التي ستُجلب من الجدول ضمن استعلام SELECT
أو التي ستُحذف من الجدول ضمن استعلام DELETE
أو ستُحدَّث قيمها ضمن استعلام UPDATE
، هنالك اختلافات بين محركات قواعد البيانات، ويُفضَّل العودة إلى هذه الصفحة للتفاصيل.
إدخال السجلات للجدول INSERT
مهمة هذا الاستعلام هي إنشاء سجل جديد في الجدول.
حذف السجلات من الجدول DELETE
يُستخدم لحذف سجل أو أكثر.
الاستبدال REPLACE
هو استعلام يستخدم للقيام بنفس مهمة الاستعلام INSERT
(إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار.
التعديل UPDATE
يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول.
ربط الجداول
الربط الداخلي INNER JOIN
يُستخدم لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط.
الربط اليساري LEFT JOIN
يُستخدم لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط.
الربط اليميني RIGHT JOIN
يُستخدم لتحديد بعض السجلات التي تحقق شرط الربط من الجدول اليساري وكافة السجلات من الجدول اليميني.
الربط التامّ FULL JOIN
يُستخدم لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط.
المعاملات
المعاملات الأساسية
تتضمن المعاملات الأساسية المعاملات الرياضية، والمعاملات الثنائية، ومعاملات المقارنة، والمعاملات المنطقية، وتحتوي الصفحة أيضًا على جداول تبيّن أولوية المعاملات.
النتائج المتمايزة DISTINCT
تستخدم للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام SELECT
للحصول على سجلات لا تتكرر القيم فيما بينها.
التأكد من وجود سجل EXISTS
يستخدم للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي.
المعامل LIKE
يستخدم لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له.
المعاملات المنطقية AND, OR, NOT
غالبًا ما تستخدم المعاملات المنطقية (AND
و OR
و NOT
) في عبارة WHERE
للربط ما بين الشروط أو نفيها.
معاملات المجال IN, BETWEEN
تُستخدَم هذه المعاملات لتحديد مجال أو عدد محدّد من القيم في SQL.
معاملات الضم UNION, INTERSECT, EXCEPT
تُستخدَم هذه المعاملات للربط بين نتائج الاستعلامات في SQL.
معاملات المقارنة ALL, SOME, ANY
تستخدم بهدف المقارنة مع القيم الناتجة (لعمودٍ واحدٍ) عن أحد الاستعلامات الفرعية.
بنى التحكم
شرط IF
تستخدم صيغة IF
لاختبار شرط معين للتأكّد من تحقّقه أو عدم تحقّقه وإجراء ما يتناسب مع ذلك.
شرط CASE
تستخدم لاختبار شرط معين بشكل مشابه لتعليمات if/else
في لغات البرمجة الأخرى لتعيد أحد التعابير الممكنة.
حلقة WHILE
تهدف حلقة WHILE
إلى تكرار عددٍ من التعليمات باستمرار تحقق الشرط ضمنها، إذ يُتأكَّد من تحقّق الشرط قبل البدء بتنفيذ التعليمات التي تحتويه.
العمليات
لمحة عن العمليات
العملية هي مجموعة من التعديلات التي تتم في قاعدة البيانات وفق تسلسل منطقي، وينتج عنها بعض التغييرات في القاعدة كحذف سجل أو تعديل بيانات أو إنشاء سجل جديد، هذه كلها عبارة عن عمليات، وتصبح هذه التغييرات جزءًا دائمًا من قاعدة البيانات إذا نُفذَّت بشكل تامّ دون أخطاء، أما في حال حدوث أيّ خطأ فيُتراجَع عن هذه التغييرات وتعود قاعدة البيانات كما هي قبل إنجاز العمليات عليها.
أمر بدأ العمليات START TRANSACTION
يُستخدم هذا الأمر للإعلام بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر COMMIT
أو ROLLBACK
.
الأمر COMMIT
يستخدم بهدف حفظ التغييرات المُجراة على قاعدة البيانات نتيجة لتنفيذ العمليات، إذ تحفظ كافة التغييرات منذ آخر أمر COMMIT
أو ROLLBACK
.
الأمر ROLLBACK
يستخدم لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها.
التعامل مع المستخدمين
إنشاء المستخدم CREATE USER
يُستخدم لإنشاء مستخدم جديد، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة.
تعديل المستخدم ALTER USER
يُستخدم للتعديل من خصائص وسماحيات المستخدم، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة.
حذف المستخدم DROP USER
يُستخدَم لحذف مستخدم.
منح الصلاحيات GRANT
يستخدم لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة.
إلغاء الصلاحيات REVOKE
يستخدم لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة.
التعامل مع الفهارس
إنشاء الفهرس CREATE INDEX
يستخدم لإنشاء فهرس للجدول.
تعديل الفهرس ALTER INDEX
يستخدم لتعديل الفهرس المُنشأ عبر الأمر CREATE INDEX
.
حذف الفهرس DROP INDEX
يستخدم لحذف فهرس أو أكثر.
التعامل مع قواعد البيانات
إنشاء قاعدة البيانات CREATE DATABASE
يستخدم لإنشاء قاعدة بيانات جديدة.
حذف قاعدة البيانات DROP DATABASE
يستخدم لحذف قاعدة البيانات.
الاستخدام USE
يستخدم لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق context
لها.
التعامل مع الجداول
مفاتيح الجداول Table Keys
تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. ومن أنواعها: المفتاح الأولي، والمفتاح الثانوي.
إنشاء الجدول CREATE TABLE
يستخدم لإنشاء جدولٍ جديدٍ في قاعدة البيانات.
تعديل جدول ALTER TABLE
يستخدم لتعديل تعريف الجدول المُنشأ مسبقًا عبر الأمر CREATE TABLE
.
حذف الجدول DROP TABLE
يستخدم لحذف جدول أو أكثر من قاعدة البيانات.
التعامل مع الدوال
بعض الدوال المساعدة في SQL
هذه الدوال تساعد في إجراء العمليات الرياضية والإحصائية، مثل إيجاد عدد السجلات، وإعادة أكبر أو أصغر قيمة، وغيرها من العمليات.
إنشاء الدالة CREATE FUNCTION
يستخدم لتعريف دالة جديدة.
تعديل الدالة ALTER FUNCTION
يستخدم لتعديل تعريف دالة مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION
.
حذف الدالة DROP FUNCTION
يستخدم لحذف دالة (أو إجراء) أو أكثر مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION
.
العودة من الدالة RETURN
تستخدم لإنهاء الدالة وإعادة قيمة ما للموقع الذي استُدعيت فيه الدالة.
التعامل مع العرض
إنشاء العرض CREATE VIEW
يستخدم لإنشاء عرضٍ والذي هو عبارة عن جدول افتراضي يُبنى بالاعتماد على نتائج استعلامٍ ما.
تعديل العرض ALTER VIEW
يستخدم لتعديل عرضٍ مُنشَأ مسبقًا عبر الأمر CREATE VIEW
.
حذف العرض DROP VIEW
يستخدم لحذف view
أو أكثر مُنشئ مسبقًا عبر الأمر CREATE VIEW
.