الفرق بين المراجعتين لصفحة: «SQL/Topics»
إعادة هيكلة جدول المحتويات |
إعادة هيكلة الجدول |
||
سطر 52: | سطر 52: | ||
يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول. | يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول. | ||
== [[SQL/join|ربط الجداول]] == | |||
=== [[SQL/inner join|الربط الداخلي INNER JOIN]] === | |||
يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. | يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. | ||
=== [[SQL/left join|الربط اليساري LEFT JOIN]] === | |||
يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط. | يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط. | ||
=== [[SQL/right join|الربط اليميني RIGHT JOIN]] === | |||
يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات التي تحقق شرط الربط من الجدول اليساري وكافة السجلات من الجدول اليميني. | يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات التي تحقق شرط الربط من الجدول اليساري وكافة السجلات من الجدول اليميني. | ||
=== [[SQL/full join|الربط التامّ FULL JOIN]] === | |||
يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط. | يُستخدم هذا النوع من <nowiki/>[[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط. | ||
سطر 117: | سطر 117: | ||
يستخدم هذا الأمر لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها. | يستخدم هذا الأمر لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها. | ||
== | == التعامل مع المستخدمين == | ||
=== [[SQL/create user|إنشاء المستخدم CREATE USER]] === | |||
يُستخدم هذا الأمر لإنشاء مستخدم جديد، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | يُستخدم هذا الأمر لإنشاء مستخدم جديد، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/alter user|تعديل المستخدم ALTER USER]] === | |||
يُستخدم هذا الأمر للتعديل من خصائص وسماحيات المستخدم، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | يُستخدم هذا الأمر للتعديل من خصائص وسماحيات المستخدم، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/drop user|حذف المستخدم DROP USER]] === | |||
يُستخدَم هذا الأمر لحذف مستخدم. | يُستخدَم هذا الأمر لحذف مستخدم. | ||
=== [[SQL/grant|منح الصلاحيات GRANT]] === | |||
يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
=== [[SQL/revoke|إلغاء الصلاحيات REVOKE]] === | |||
يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وتختلف صيغته بحسب محركات قواعد البيانات المختلفة. | ||
== التعامل مع الفهارس == | |||
=== [[SQL/create index|إنشاء الفهرس CREATE INDEX]] === | |||
يستخدم هذا الأمر لإنشاء فهرس للجدول. | يستخدم هذا الأمر لإنشاء فهرس للجدول. | ||
=== [[SQL/alter index|تعديل الفهرس ALTER INDEX]] === | |||
يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر <code>[[SQL/create index|CREATE INDEX]]</code>. | يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر <code>[[SQL/create index|CREATE INDEX]]</code>. | ||
=== [[SQL/drop index|حذف الفهرس DROP INDEX]] === | |||
يستخدم هذا الأمر لحذف فهرس أو أكثر. | يستخدم هذا الأمر لحذف فهرس أو أكثر. | ||
== التعامل مع قواعد البيانات == | |||
=== [[SQL/create database|إنشاء قاعدة البيانات CREATE DATABASE]] === | |||
يستخدم هذا الأمر لإنشاء قاعدة بيانات جديدة. | يستخدم هذا الأمر لإنشاء قاعدة بيانات جديدة. | ||
=== [[SQL/drop database|حذف قاعدة البيانات DROP DATABASE]] === | |||
يستخدم هذا الأمر لحذف قاعدة البيانات. | يستخدم هذا الأمر لحذف قاعدة البيانات. | ||
=== [[SQL/use|الاستخدام USE]] === | |||
يستخدم هذا الأمر لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق <code>context</code> لها. | يستخدم هذا الأمر لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق <code>context</code> لها. | ||
== التعامل مع الجداول == | |||
=== [[SQL/keys|مفاتيح الجداول Table Keys]] === | |||
تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. ومن أنواعها: المفتاح الأولي، والمفتاح الثانوي. | تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. ومن أنواعها: المفتاح الأولي، والمفتاح الثانوي. | ||
=== [[SQL/create table|إنشاء الجدول CREATE TABLE]] === | |||
يستخدم هذا الأمر لإنشاء جدولٍ جديدٍ في قاعدة البيانات. | يستخدم هذا الأمر لإنشاء جدولٍ جديدٍ في قاعدة البيانات. | ||
=== [[SQL/alter table|تعديل جدول ALTER TABLE]] === | |||
يُستخدَم هذا الأمر لتعديل تعريف الجدول المُنشأ مسبقًا عبر الأمر <code>[[SQL/create table|CREATE TABLE]]</code>. | يُستخدَم هذا الأمر لتعديل تعريف الجدول المُنشأ مسبقًا عبر الأمر <code>[[SQL/create table|CREATE TABLE]]</code>. | ||
=== [[SQL/drop table|حذف الجدول DROP TABLE]] === | |||
يستخدم هذا الأمر لحذف جدول أو أكثر من قاعدة البيانات. | يستخدم هذا الأمر لحذف جدول أو أكثر من قاعدة البيانات. | ||
مراجعة 14:33، 30 يناير 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
يُستخدَم استعلام SELECT
للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر.
الشرط WHERE
تُستخدم عبارة WHERE
ضمن استعلام SELECT
لتحديد الشروط التي تُعرض أو تحذف السجلات أو تُعدل قيم حقولها وفقًا لها، إذ يُمكن أن تستخدم أيضًا مع استعلامَي DELETE
و UPDATE
.
التجميع GROUP BY
تُستخدم عبارة GROUP BY في استعلام SELECT
بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول.
الشرط HAVING
تستخدم عبارة HAVING
ضمن استعلام SELECT
لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها GROUP BY
.
ترتيب النتائج ORDER BY
تتلخص مهمة عبارة ORDER BY
بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعلام SELECT
وفق عمودٍ (أو أكثر) من الجدول.
الحصول على عدد محدد من النتائج
يمكن تحديد عدد السجلات التي ستُجلب من الجدول ضمن استعلام SELECT
أو التي ستُحذف من الجدول ضمن استعلام DELETE
أو ستُحدَّث قيمها ضمن استعلام UPDATE
، هنالك اختلافات بين محركات قواعد البيانات، ويُفضَّل العودة إلى هذه الصفحة للتفاصيل.
إدخال السجلات للجدول INSERT
مهمة هذا الاستعلام هي إنشاء سجل جديد في الجدول.
حذف السجلات من الجدول DELETE
يُستخدم استعلام DELETE
لحذف سجل أو أكثر.
الاستبدال REPLACE
هو استعلام يستخدم للقيام بنفس مهمة الاستعلام INSERT
(إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار.
التعديل UPDATE
يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول.
ربط الجداول
الربط الداخلي INNER JOIN
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط.
الربط اليساري LEFT JOIN
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط.
الربط اليميني RIGHT JOIN
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات التي تحقق شرط الربط من الجدول اليساري وكافة السجلات من الجدول اليميني.
الربط التامّ FULL JOIN
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط.
المعاملات
المعاملات الأساسية
تتضمن المعاملات الأساسية المعاملات الرياضية، والمعاملات الثنائية، ومعاملات المقارنة، والمعاملات المنطقية، وتحتوي الصفحة أيضًا على جداول تبيّن أولوية المعاملات.
النتائج المتمايزة DISTINCT
تستخدم العبارة DISTINCT
للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام SELECT
للحصول على سجلات لا تتكرر القيم فيما بينها.
التأكد من وجود سجل EXISTS
يستخدم المعامل EXISTS
للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي.
المعامل LIKE
يستخدم هذا المعامل لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له.
المعاملات المنطقية AND, OR, NOT
غالبًا ما تستخدم المعاملات المنطقية (AND
و OR
و NOT
) في عبارة WHERE
للربط ما بين الشروط أو نفيها.
معاملات المجال IN, BETWEEN
تُستخدَم هذه المعاملات لتحديد مجال أو عدد محدّد من القيم في SQL.
معاملات الضم UNION, INTERSECT, EXCEPT
تُستخدَم هذه المعاملات للربط بين نتائج الاستعلامات في SQL.
معاملات المقارنة ALL, SOME, ANY
تستخدم المعاملات SOME
و ANY
و ALL
بهدف المقارنة مع القيم الناتجة (لعمودٍ واحدٍ) عن أحد الاستعلامات الفرعية.
بنى التحكم
شرط 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
.