نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الأمر USE في SQL

يستخدم هذا الأمر لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق context لها، وله الصيغة الآتية: USE { database_name} [;] مثال لاستخدام قاعدة البيانات المُسماة centre يكون الأمر بالشكل: USE centre; التوافقية SQLServer SQLite Oracle PostgreSQL MySQL نعم لا لا لا نعم مصادر توثيق USE في محرك MySQL توثيق USE في محرك SQLServer

حذف الفهرس DROP INDEX

يستخدم هذا الأمر لحذف فهرس أو أكثر في قاعدة البيانات وفق البنية العامّة الآتية: DROP INDEX [ IF EXISTS ] name [ CASCADE | RESTRICT ] إذ يُحذف الفهرس المحدد باسم name، وتمنع IF EXISTS حدوث أي خطأ في حال عدم وجود هذا الفهرس في قاعدة البيانات، أما الكلمة المفتاحية CASCADE فهي للإعلام بحذف أي كائنات objects معتمدة على الفهرس المحذوف، وبالحالة الافتراضية فإن RESTRICT تمنع حذف الفهرس إن كان هناك اعتماد عليه من قبل كائن ما. بعض أمور التوافقية في ...

حلقة WHILE في SQL

تهدف حلقة WHILE إلى تكرار عددٍ من التعليمات باستمرار تحقق الشرط ضمنها، إذ يُتأكَّد من تحقّق الشرط قبل البدء بتنفيذ التعليمات التي تحتويه، وتكون البنية العامّة لها: [ <<label>> ] WHILE boolean-expression LOOP statements END LOOP [ label ]; إذ يمكن تحديد تسمية label لها وتوضع التعليمات statements ضمنها بعد الكلمة المفتاحية LOOP. أما في محرك MySQL فتصبح بالشكل الآتي: [begin_label:] WHILE search_condition DO statement_list END WHILE [end_label]; وفي محرك SQL Server تكون بالشكل: WHILE boolean_expression { sql_statement | ...

الأمر ROLLBACK

يستخدم هذا الأمر لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها. صيغة الأمر: ROLLBACK [TRANSACTION]; وفي محركات SQLite و MySQL و PostgreSQL تمكن العودة إلى نقطة محددة حُفظت مسبقًا، وذلك عبر الأمر: ROLLBACK TO SAVEPOINT savePointName; إذ إن savePointName هو اسم نقطة الحفظ التي سيُرجع لها بتجاهل أية تغييرات طرأت بعدها. مثال إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي: Bill OrderID FullName CustomerID 160 0291 Abd al-Salam Hadi 1156 170 0302 Ahmad ...

حذف مستخدم DROP USER

يُستخدَم هذا الأمر لحذف مستخدم، وله الصيغة العامّة الآتية: DROP USER [IF EXISTS] name; إذ يحذف المستخدم ذو الاسم name إن وُجد. مثال لحذف المستخدمَين accountant و customer (إن وُجدا)  يُستخدم الأمر الآتي: DROP USER IF EXISTS accountant, customer; التوافقية SQLServer SQLite Oracle PostgreSQL MySQL نعم لا نعم نعم نعم مصادر توثيق DROP USER في محرك MySQL توثيق DROP USER في محرك PostgreSQL توثيق DROP USER في محرك Oracle توثيق DROP USER في محرك SQLServer

إنشاء قاعدة البيانات CREATE DATABASE

يستخدم هذا الأمر لإنشاء قاعدة بيانات جديدة، وله البنية العامة التالية: CREATE DATABASE name; إذ إن name هو اسم قاعدة البيانات التي ستُنشأ ولا يسمح بتنفيذ هذا الاستعلام ضمن بنية عمليات (transaction block). مثال لإنشاء قاعدة بيانات باسم CompanyRecords يُستخدم الأمر: CREATE DATABASE CompanyRecords; التوافقية SQLServer SQLite Oracle PostgreSQL MySQL نعم لا نعم نعم نعم إن محرك SQLite لا يدعم الأمر CREATE DATABASE إذ يتيح خيار إنشاء قاعدة البيانات من خلال سطر الأوامر command-line. مصادر توثيق CREATE DATABASE في محرك MySQL ...

التعليقات في SQL

تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة، وتوجد طريقتان لإضافة التعليقات: الأولى: بإضافة شرطَتين متتاليتَن، وذلك للتعليقات السطرية (سطر واحد فقط). الثانية: بإضافة الرمزين ‎*/ عند بداية التعليقات وإنهائها بالرمزين ‎ */‎وذلك للتعليقات الممتدة عبر سطر أو أكثر. أمثلة SELECT count(*); -- This comment continues to the end of line SELECT count(*); /* This is an inline comment */; SELECT count(*), /* This is a multiline comment */ country; التوافقية SQLServer SQLite Oracle PostgreSQL ...

المعاملات المنطقية في SQL

غالبًا ما تستخدم المعاملات المنطقية (AND و OR و NOT) في عبارة WHERE للربط ما بين الشروط أو نفيها، إذ يستخدم المعامل AND للربط ما بين الشروط للتأكد من تحققها جميعًا، أما معامل OR فيستخدم للربط ما بين الشروط للتأكد من تحقّق شرطٍ أو أكثر من بينها، أما NOT فيستخدم بغرض النفي، وتكون قيمة التعبير النهائية منطقية (Boolean) إما TRUE أو FALSE. ويُضاف لها معامل XOR في محرك MySQL والذي يتحقق من تحقّق شرطٍ واحدٍ فقط دون الشروط الأخرى. مثال ...

إنشاء فهرس CREATE INDEX

يستخدم هذا الأمر لإنشاء فهرس للجدول وفق البنية العامّة الآتية: CREATE INDEX [ name ] ON tbl ( col [, ...]); إذ يُنشأ الفهرس باسم name للجدول المسمى tbl الذي يحتوي على العمود المسمى col، وتُعتَبر الفهارس إحدى المفاهيم الأساسية في قواعد البيانات إذ تُسرِّع أداء الاستعلامات من خلال تقليل عدد صفحات البيانات التي تُمسح بياناتها (scanned) في القاعدة. مثال يستخدم الأمر الآتي لإنشاء مؤشر باسم idx على الجدول records عبر العمود title: CREATE INDEX idx ON records (title); التوافقية SQLServer ...

تعبير الإعادة RETURN في SQL

تستخدم لإنهاء الدالة وإعادة قيمة ما للموقع الذي استُدعيت فيه الدالة، وتكون الصيغة العامّة بالشكل الآتي: RETURN [expression]; إذ إن expression هي قيمة التعبير التي ستُعاد (وقد تكون قيمة أوليّة scalar مباشرة أو قيمة مركّبة كسجل)، أما إن كانت الدالة تحتوي بتعريفها متحولات للخرج (من نوع OUT) أو عند الحاجة للخروج من الدالة فيُكتفى بكلمة RETURN فقط، أي بالشكل الآتي: RETURN; مثال تعيد الدالة الآتية double_it المُعرَّفة من المستخدم عبر محرك Oracle القيمة العددية (نوعها NUMBER) المُدخلة إليها بعد مضاعفتها: FUNCTION ...

حذف العرض DROP VIEW

يستخدم هذا الأمر لحذف view أو أكثر مُنشئ مسبقًا عبر الأمر CREATE VIEW، وله البنية العامّة الآتية: DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] إذ يُحذف view المحدد باسم name، وتمنع IF EXISTS حدوث أي خطأ في حال عدم وجوده في قاعدة البيانات، أما الكلمة المفتاحية CASCADE فهي للإعلام بحذف أي كائنات objects معتمدة عليه، وبالحالة الافتراضية فإن RESTRICT تمنع حذفه إن كان هناك اعتماد عليه من قبل كائن ما. مثال لحذف view باسم ...

التسمية البديلة Alias في SQL

يمكن إطلاق تسمية على الجداول أو الحقول تسهيلًا للتعامل معها بالاسم البديل المؤقت (وقد يكون أكثر اختصارًا)، وذلك عند الحاجة إلى الوصول إلى نفس الجدول أو الحقل عدة مرات، ويعبًّر عن ذلك بالكلمة المفتاحية AS، ويمكن الاستغناء عنها عند تسمية الجدول. أمثلة في الاستعلام الآتي: SELECT Name AS Top Students, Age, GPA FROM students سيظهر العمود Name باسم Top Students في النتائج. وفي الاستعلام: SELECT StudentID, FirstName, Course, Lecturer FROM students st LEFT JOIN courses co ON st.CourseID = co.CourseID; سُمي الجدول students باسم st والجدول ...

إنشاء العرض CREATE VIEW

يستخدم هذا الأمر لإنشاء عرضٍ والذي هو عبارة عن جدول افتراضي يُبنى بالاعتماد على نتائج استعلامٍ ما، وله البنية العامّة الآتية: CREATE VIEW name [ ( col_name [, ...] ) ] AS query إذ إن name هو اسم العرض المُنشَأ وتُحدّد الأعمدة المطلوبة بين قوسين، وتُعبِّر كلمة query عن الاستعلام الذي سيُؤخذ العرضُ منه، ويُمكن استخدام هذا العرض المنشأ في عبارة FROM بأي استعلام SELECT آخر. مثال لإنشاء عرض باسم novels يحتوي كافة الكتب الروائية المتوفرة في سجلات المكتبة الموجودة بالجدول books، ...

تعديل قاعدة البيانات ALTER DATABASE

يُمكن تعديل صفات قاعدة البيانات من خلال هذا الأمر الذي له الصيغ الآتية: ALTER DATABASE name RENAME TO new_name; أو في محرك SQL Server: ALTER DATABASE name MODIFY NAME = new_name; لإعادة تسمية قاعدة البيانات باسم جديد new_name ولا تمكن إعادة تسمية قاعدة البيانات المستخدمة حاليًا إذ يجب الاتصال بقاعدة بيانات أخرى ريثما تُعاد تسمية قاعدة البيانات الحالية. ALTER DATABASE name OWNER TO new_owner; التعليمة السابقة لنقل ملكية قاعدة البيانات باسم name إلى مالك آخر باسم new_owner. ALTER DATABASE name RESET ALL; أما التعليمة ...

حذف الجدول DROP TABLE

يستخدم هذا الأمر لحذف جدول أو أكثر من قاعدة البيانات، وله البنية العامّة الآتية: DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] إذ يُحذف الجدول المحدد باسم name، وتمنع IF EXISTS حدوث أي خطأ في حال عدم وجود هذا الجدول في قاعدة البيانات، أما الكلمة المفتاحية CASCADE فهي للإعلام بحذف أي كائنات objects معتمدة عليه (مثل Views)، وبالحالة الافتراضية فإن RESTRICT تمنع حذفه إن كان هناك اعتماد عليه من قبل كائن ما. أما لحذف كافة ...

حذف قاعدة البيانات DROP DATABASE

يستخدم هذا الأمر لحذف قاعدة البيانات، وله البنية العامة التالية: DROP DATABASE [IF EXISTS] name; إذ إن name هو اسم قاعدة البيانات التي ستُحذف ولا يسمح بتنفيذ هذا الاستعلام إلا من مالك قاعدة البيانات ولا يمكن التراجع عن الحذف فيما بعد، وتمنع العبارة IF EXISTS حدوث أي خطأ في حال عدم وجودة قاعدة بيانات بهذا الاسم. يتضمن الحذف كافة الملفات المرتبطة بقاعدة البيانات بالصيغ التالية: ‎.TRN ‎.BAK ‎.DAT ‎.HSH ‎.MRG ‎.frm ‎.ibd ‎.MYD ‎.MYI ‎.TRG ‎.ndb ‎.par ‎.cfg ‎.db مثال لحذف ...

حذف الدالة DROP FUNCTION

يستخدم هذا الأمر لحذف دالة (أو إجراء) أو أكثر مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION، وله البنية العامّة الآتية: DROP {FUNCTION | PROCEDURE} [ IF EXISTS ] name [ ( [argtype [, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ] إذ تُحذف الدالة المحدد باسم name، وتمنع IF EXISTS حدوث أي خطأ في حال عدم وجود دالة بهذا الاسم في قاعدة البيانات، ويُحدد نوع البيانات لمتغيرات الدالة ما بين قوسين لاحتمال تكرار نفس اسم الدالة بلائحة مختلفة ...

الأمر COMMIT في SQL

يستخدم هذا الأمر بهدف حفظ التغييرات المُجراة على قاعدة البيانات نتيجة لتنفيذ العمليات، إذ تحفظ كافة التغييرات منذ آخر أمر COMMIT أو ROLLBACK. صيغة الأمر: COMMIT [TRANSACTION]; مثال إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي: Bill OrderID FullName CustomerID 160 0291 Abd al-Salam Hadi 1156 170 0302 Ahmad Mostafa 1157 210 0203 Reem Hammad 1158 350 0294 Abd Allah Sadiq 1159 185 0255 Raghad al-Hamdan 1160 165 0276 Abd al-Razzaq Salloum 1161 175 0247 Hussam ...

معاملات المقارنة مع نتائج الاستعلام الفرعي

تستخدم المعاملات SOME و ANY و ALL بهدف المقارنة مع القيم الناتجة (لعمودٍ واحدٍ) عن أحد الاستعلامات الفرعية، وستُذكر تباعًا. معامل ANY إذ تعيد المقارنة قيمة TRUE في حال تطابق التعبير مع قيمة أيّ من السجلات الناتجة عن الاستعلام الفرعي وقيمة FALSE في حال عدم وجود أي نتيجة مطابقة. معامل SOME إذ تعيد المقارنة قيمة TRUE في حال وجود بعض القيم في السجلات الناتجة عن الاستعلام الفرعي والمطابقة لقيمة التعبير الذي تُقارن معه، وهي بهذا مماثلة لنتيجة المعامل ANY. معامل ...

تعديل الفهرس ALTER INDEX

يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر CREATE INDEX، وله الصيغ الآتية: ALTER INDEX [ IF EXISTS ] name RENAME TO new_name لتغيير اسم الفهرس المسمى name (إن وُجد) ليصبح باسم new_name. ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] ) لتعديل أيّ من قيم معاملات التخزين المتعلقة بالفهرس (إن وُجد). ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] ) لإعادة ضبط كافة قيم معاملات التخزين لهذا الفهرس (إن وُجد) ...

استعلام الاستبدال REPLACE

هو استعلام يستخدم للقيام بنفس مهمة الاستعلام INSERT (إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار، إذ يُحذف السجل المحتوي لهذه القيمة ليُضاف سجلٌ جديدٌ بدلًا منه، وتكون الصيغة العامة للاستعلام على النحو الآتي: REPLACE INTO tbl VALUES (col_name [, col_name] ...); إذ إن table هو اسم الجدول الذي سيُعدَّل فيه السجل، وتوضع القيم الجديدة ضمن القوسين. مثال إن كان الجدول الآتي students موجودًا في قاعدة البيانات: GPA Age Name ...

الأمر START TRANSACTION

يُستخدم هذا الأمر للإعلام بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر COMMIT أو ROLLBACK، وله الصيغة التالية: START TRANSACTION; وتختلف هذه الصيغة باستخدام الكلمة المفتاحية BEGIN في محرك SQL Server لتصبح: BEGIN TRANSACTION; أما في محرك SQLite فهي الكلمة المفتاحية BEGIN فقط، أيّ: BEGIN; وفي محرك Oracle يصبح الأمر على النحو الآتي: SET TRANSACTION NAME 'name'; ويكون هذا الأمر مسؤولًا عن البدء بالعمليات وتسميتها بآن واحد بالاسم الذي يُحدد عبر name. مثال إذا كان الجدول الآتي موجودًا في قاعدة البيانات: Bill OrderID ...

تحديد عدد السجلات في استعلامات SQL

يمكن تحديد عدد السجلات التي ستُجلب من الجدول ضمن استعلام SELECT أو التي ستُحذف من الجدول ضمن استعلام DELETE أو ستُحدَّث قيمها ضمن استعلام UPDATE، ولكن تختلف محركات قواعد البيانات فيما بينها بالصياغة العامة للاستعلام، وسيُذكر ذلك تباعًا. تحديد عدد سجلات النتائج يكون للاستعلام البنية العامة الآتية في محرك SQL Server، والتي تعتمد على الكلمة المفتاحية TOP: SELECT TOP number | percent col_name(s) FROM tbl_name WHERE condition; إذ يُعبّر المتحول number عن عدد السجلات المطلوبة، وتُعبّر الكلمة المفتاحية percent عن نسبة السجلات المئوية ...

تهجير قاعدة البيانات في Laravel

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

تعديل الدالة ALTER FUNCTION في SQL

يستخدم هذا الأمر لتعديل تعريف دالة مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION، وله الصيغ الآتية: ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name; لإعادة تسمية الدالة name (والتي معاملاتها محددة بالنوع argmode والاسم argname ونوع البيانات argtype) باسم جديد new_name. ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner ...

إنشاء دالة CREATE FUNCTION في SQL

يستخدم هذا الأمر لتعريف دالة جديدة، وله البنية العامّة الآتية: CREATE [ OR REPLACE ] FUNCTION name ( [[argmode] [ argname ] argtype [, ...] ] ) [RETURNS rettype] AS 'definition' إذ ينشئ هذا الأمر دالةً جديدةً (أو يستبدلها في حال وجود دالة سابقة) باسم name وتوضع معاملاتها ما بين القوسين وذلك بتحديد نوع المعامل argmode (كدخل IN أو خرج OUT أو دخل وخرج معًا INOUT) ومن ثم اسم المعامل argname ونوع قيمته argtype وكما يمكن تحديد نوع القيمة ...

تعديل المستخدم ALTER USER

يُستخدم هذا الأمر للتعديل من خصائص وسماحيات المستخدم، وله الصيغ الآتية (بحسب محركات قواعد البيانات المختلفة): في محرك البيانات PostgreSQL ALTER USER {name | CURRENT_USER} [ WITH ] option [ ... ] إذ إن name هو اسم المستخدم الذي ستطرأ التعديلات عليه، ويمكن أن يكون الخيار option أحد الكلمات المفتاحية الآتية: الخيار مهمته  SUPERUSER لجعل المستخدم SUPERUSER أي له كافة صلاحيات الوصول access privileges في قاعدة البيانات CREATEDB لإعطاء المستخدم صلاحية إنشاء قاعدة بيانات جديدة CREATEROLE لإعطاء المستخدم صلاحية إنشاء مستخدم ...

تحديد مجال أو عدد محدّد من القيم في SQL

معامل IN يستخدم لتحديد عددٍ معيّنٍ من القيم المحتملة لأحد حقول البيانات. مثال إن كان الجدولان الآتيان موجوديَن في قاعدة البيانات: الجدول الأول: جدول السيارات cars Colour Price Year Company Model CarID White 22,500 2018 KIA Optima 05081 Red 25,995 2017 KIA Optima Hybrid 05082 Red 31,900 2018 KIA Stinger 05083 Black 31,990 2017 KIA Cadenza 05084 Blue 23,240 2018 KIA Niro 05085 Grey 14,200 2018 KIA Rio 5-Door 05086 Blue 18,200 2018 KIA Forte5 05087 الجدول الثاني: جدول الزبائن ...

إنشاء مستخدم جديد CREATE USER

يُستخدم هذا الأمر لإنشاء مستخدم جديد، وله الصيغ الآتية (بحسب محركات قواعد البيانات المختلفة). في محرك البيانات PostgreSQL CREATE USER name [ [ WITH ] option [ ... ] ] إذ إن name هو اسم المستخدم المنشَأ ويمكن أن يكون الخيار option أحد الكلمات المفتاحية الآتية: الخيار مهمته  SUPERUSER لجعل المستخدم SUPERUSER أي له كافة صلاحيات الوصول access privileges في قاعدة البيانات CREATEDB لإعطاء المستخدم صلاحية إنشاء قاعدة بيانات جديدة CREATEROLE لإعطاء المستخدم صلاحية إنشاء مستخدم آخر جديد CONNECTION LIMIT connlimit ...

استعلام DELETE

يُستخدم استعلام DELETE لحذف سجل أو أكثر، وله البنية العامة: DELETE FROM tbl_name WHERE condition; إذ يُحدد الشرط الذي ستُحذف السجلات وفقًا له في عبارة WHERE. أما تنفيذ الاستعلامَيْن الآتيين: DELETE * FROM tbl_name; DELETE FROM tbl_name; فيؤدي لحذف كافة السجلات الموجودة في الجدول. مثال إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي: Bill OrderID FullName CustomerID 160 0291 Abd al-Salam Hadi 1156 170 0302 Ahmad Mostafa 1157 210 0203 Reem Hammad 1158 350 0294 Abd Allah Sadiq 1159 ...

الاستعلام UPDATE

يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول. البنية العامة للاستعلام: UPDATE tbl_name SET col_name = [|DEFAULT], col_name = value [|DEFAULT], … WHERE condition إذ من الممكن تحديث عدة قيم في عدة سجلات ضمن نفس الاستعلام، وعند استخدام الكلمة المفتاحية DEFAULT ستصبح القيمة في الحقل هي القيمة الافتراضية لنوع البيانات فيه، أما إن كان الاستعلام بالشكل: UPDATE tbl_name SET col_name = value [|DEFAULT], col_name = value [|DEFAULT], … فتنفيذه يؤدي لتعديل قيمة الحقل المحدد بكافة السجلات الموجودة في الجدول ...

تعديل العرض ALTER VIEW

يستخدم هذا الأمر لتعديل عرضٍ مُنشَأ مسبقًا عبر الأمر CREATE VIEW، وله الصيغ الآتية: ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] col_name SET DEFAULT expression; لتحديد قيمة افتراضية expression للعمود col_name الموجود في العرض name (إن وُجد). ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] col_name DROP DEFAULT; لحذف القيمة الافتراضية للعمود col_name الموجود في العرض name (إن وُجد). ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner; لنقل ملكية العرض name إلى المالك new_owner. ...

إنشاء جدول CREATE TABLE

يستخدم هذا الأمر لإنشاء جدولٍ جديدٍ في قاعدة البيانات وفق البنية العامّة الآتية: CREATE TABLE [ IF NOT EXISTS ] tbl_name ( [ { col_name data_type [ column_constraint [ ... ] | table_constraint } [, ... ] ] ) إذ يُنشأ الجدول الجديد باسم tbl_name وتُحدَّد أعمدته ما بين القوسين وذلك بتحديد اسم العمود col_name ونوع بياناته data_type وتحديد القيود على مستوى العمود أو الجدول. قيود العمود يُمكن ضبط بعض القيود على العمود مثل: القيد دلالته NOT NULL ...

الاختبار الشرطي IF في SQL

تستخدم صيغة IF لاختبار شرط معين للتأكّد من تحقّقه أو عدم تحقّقه وإجراء ما يتناسب مع ذلك، وتكون البنية العامة لها بالشكل الآتي: IF condition THEN statements [ ELSEIF condition THEN statements [ ELSEIF condition THEN statements ...]] [ ELSE statements ] END IF; إذ تعبّر الكلمة condition عن الشرط المُختبَر، وكلمة statements عن التعليمات التي ستُجرى أو قد تكون تعابير بدلًا من التعليمات. ويلاحظ  في محركي PostgreSQL و Oracle أن الكلمة المفتاحية ELSEIF تصبح ELSIF، وفي محرك SQL Server ...

التأكد من خُلوّ القيمة IS NULL في SQL

يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد)، ويكون سياق التعبير بالشكل الآتي: column IS [NOT] NULL وغالبًا ما تستخدم في العبارة WHERE للتحقق من وجود القيمة في إحدى حقول السجلات. مثال إن كانت قاعدة البيانات تحتوي الجدول customers الآتي: Bill OrderID Phone FullName CustomerID 160 0291 NULL Abd al-Salam Hadi 1156 170 0302 (171) 555-2222 Ahmad Mostafa 1157 210 0203 (100) 555-4822 Reem Hammad 1158 350 0294 NULL Abd Allah Sadiq 1159 185 ...

مقدمة إلى التعامل مع قواعد البيانات في Laravel

مقدمة يُبسّط Laravel التعامل مع قواعد البيانات بشكل كبير عبر مجموعة متنوعة من الأسندة الخلفية (backends) قواعد البيانات إمّا باستخدام  لغة الاستعلام البنيوية SQL خام أو باستخدام منشئ الاستعلامات الفصيح (fluent query builder)، أو باستخدام رابط الكائنات بالعلاقات Eloquent. يدعم Laravel حاليًا أربع قواعد بيانات: MySQL PostgreSQL SQLite SQL Server الضبط تقع إعدادات قاعدة بيانات تطبيقك في config/database.php. تستطيع في هذا الملف تعريف جميع اتصالات قاعدة بياناتك لإضافةً لتحديد الاتصال الافتراضي. تتوافر أمثلة عن معظم أنظمة قواعد البيانات المدعومة في ...

المعاملات Operators في SQL

المعاملات الرياضية Arithmetic Operators تستخدم لإجراء العمليات الحسابية على البيانات العددية في الجداول، وهي: المعامل المهمة + الجمع - الطرح * الضرب / القسمة % باقي القسمة ويضاف إليها المعامل ^ في محرك PostgreSQL للقيام بعملية الرفع إلى قوة. مثال إن كان الجدول الآتي items موجودًا في قاعدة البيانات: DiscountPercent No Price ItemID 20 2 25 157 10 2 5 203 30 3 10 109 فيمكن حساب قيمة الشراء النهائية من خلال إجراء العملية الحسابية وجمع النتائج باستخدام الدالة التجميعية ...

DISTINCT

تستخدم العبارة DISTINCT للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام SELECT للحصول على سجلات لا تتكرر القيم فيما بينها، إذ يصبح الاستعلام بالشكل الآتي: SELECT DISTINCT columns FROM tbl; مثال إن كان الجدول الآتي patients موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd al-Rahim 1150 Hadi Critical Care 65 Roushd 1097 ...

المعامل EXISTS

يستخدم المعامل EXISTS للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي. مثال إن كان في قاعدة البيانات الجدولان الآتيان: الجدول الأول: جدول الطلاب students RegDate CourseID LastName FirstName StudentID ‎07-JUL-2017‎ 0206 Najjar Rama 1147 ‎08-NOV-2017‎ 0604 Kordi Jenan 1148 ‎07-JUL-2017 0206 Bitar Rahaf 1149 ‎20-AUG-2017 0607 Taweel Farah 1150 ‎08-NOV-2017 0610 Arab Rami 1151 ‎24-OCT-2017 0803 Akkad Aya 1152 ‎08-NOV-2017 0504 Haddad Abed 1153 ‎20-AUG-2017 0801 Fares Tasneem 1154 ‎24-OCT-2017 0607 Hamsho Monther 1155 ‎30-SEP-2017 0607 ...

استعلام INSERT

مهمة هذا الاستعلام هي إنشاء سجل جديد في الجدول، وله البنية العامة: INSERT INTO tbl_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); إذ تجب مراعاة التوافقية ما بين اسم العمود والقيمة التي ستوضع فيه على التوالي وبالترتيب، وأن تكون متوافقةً مع نوع بيانات الحقل، أي أن التوافق يجب أن يكون بالترتيب والعدد والنوع. ولإسناد قيم إلى كافة الحقول في السجل يُمكن الاستغناء عن أسماء الأعمدة ليصبح الاستعلام بالشكل: INSERT INTO tbl_name VALUES (value1, value2, value3, ...); إذ تجب مراعاة ترتيب القيم ...

الشرط CASE في SQL

تستخدم لاختبار شرط معين بشكل مشابه لتعليمات if/else في لغات البرمجة الأخرى لتعيد أحد التعابير الممكنة، وتكون البنية العامة لها بالشكل الآتي: CASE WHEN condition THEN result [WHEN ...] [ELSE result] END إذ تعبر الكلمة condition عن الشرط المُختبَر، وكلمة result عن التعبير المُعاد. مثال ليكن الجدول الآتي students موجودًا في قاعدة البيانات: GPA Age Name StudentID 3.68 25 Mona 1024 3.57 24 Radi 1081 2.50 25 Leen 1012 4.00 26 Sarah 1085 1.96 22 Amin 1066 2.87 23 Yusuf ...

عبارة HAVING

تستخدم عبارة  HAVING ضمن استعلام SELECT لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها GROUP BY، وقد أُضيف إلى لغة SQL لأنه لا يمكن استخدام عبارة WHERE مع الدوال التجميعيّة مثل SUM و MIN  و MAX ...إلخ. تجميع السجلات وفق شرط مُحدّد ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd ...

الدالة get_resource_type()‎ في PHP

(PHP 4 >= 4.0.2, PHP 5, PHP 7) تُعيد الدالة get_resource_type()‎‎‎ نوع المورد المُعطى لها. الوصف string get_resource_type ( resource $handle ) تُعطي هذه الدالة نوع المورد المُعطى لها. المعاملات handle مقبض للمورد المطلوب تقييمه. القيم المعادة عندما يكون المقبض handle عبارة عن مورد، فستُعيد هذه الدالة سلسلة نصّيّة تُمثِّل نوعه. وإن لم تتعرّف هذه الدالة على النّوع تكون القيمة المُعادة هي السلسلة النصّيّة Unknown. إن لم يكن المقبض handle موردًا ستولِّد هذه الدالة خطأً وتُعيد القيمة NULL. سجل التغييرات الإصدار ...

بيئة تطوير Valet في Laravel

مقدمة Valet هي بيئة تطوير Laravel لأجهزة ماك. لا حاجة إلى استخدام Vagrant، ولا ملف ‎/etc/hosts. يمكنك أيضًا مشاركة مواقعك بشكل عام باستخدام الأنفاق المحلية. تقوم بيئة Laravel Valet بتكوين جهاز ماك الخاص بك لتشغيل Nginx دائمًا في الخلفية عند بدء تشغيل الجهاز. ثم، باستخدام DnsMasq، يقوم خادم Valet بتجميع جميع الطلبات على نطاق test.* للإشارة إلى المواقع المثبتة على جهازك المحلي. بعبارة أخرى، بيئة تطوير Laravel فائق السرعة تستخدم ما يقرب من 7 ميغابايت من ذاكرة الوصول العشوائي RAM. ...

إلغاء صلاحيات الوصول REVOKE

يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] FROM { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] }; إلغاء صلاحية تنفيذ استعلامات SELECT و INSERT و UPDATE و DELETE ...

عبارة GROUP BY

تُستخدم عبارة GROUP BY في استعلام SELECT بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول. استخدام GROUP BY لمعرفة عدد السجلات الممكن تجميعها سويةً ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd al-Rahim 1150 Hadi Critical Care 65 Roushd 1097 Reem Maternity 27 Sana 1034 Abd Allah ...

التابع ConfigParser.read_string()‎‎ في بايثون

يفسّر التابع الإعدادات من سلسلة نصية. ملاحظة: هذا التابع جديد في الإصدار 3.2 من بايثون. البنية العامة read_string(string, source='<string>') المعاملات ‎string السلسلة النصية المراد تفسير الإعدادات فيها. source معامل اختياري يحدد اسمًا خاصًّا بالسياق context-specific name للسلسلة النصية الممرّرة. تُستخدم القيمة '<string>' في حال عدم استخدام هذا المعامل. عادة ما تكون قيمة هذا المعامل مسارًا في ملفات النظام أو عنوان URL. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import configparser >>> sample_config = """ ... [mysqld] ... user = mysql ... ...

عبارة WHERE

تُستخدم عبارة WHERE ضمن استعلام SELECT لتحديد الشروط التي تُعرض أو تحذف السجلات أو تُعدل قيم حقولها وفقًا لها، إذ يُمكن أن تستخدم أيضًا مع استعلامَي DELETE و UPDATE، وتعتمد اعتمادًا أساسيًا على المُعاملات المنطقية والحسابية وبعض المعاملات الأخرى في صياغة تلك الشروط. الحصول على البيانات وفق شرطٍ بسيط إن كان الجدول الآتي موجودًا في قاعدة البيانات: GPA Age Name StudentID 3.68 25 Mona 1024 3.57 24 Radi 1081 2.50 25 Leen 1012 4.00 26 Sarah 1085 1.96 22 Amin ...

تعديل الجدول ALTER TABLE

يُستخدَم هذا الأمر لتعديل تعريف الجدول المُنشأ مسبقًا عبر الأمر CREATE TABLE، وله الصيغ الآتية: ALTER TABLE [ IF EXISTS ] name RENAME [ COLUMN ] col_name TO new_col_name لإعادة تسمية عمود اسمه col_name في الجدول الذي اسمه name (إن وُجد) باسمٍ جديد new_col_name. ALTER TABLE [ IF EXISTS ] name RENAME CONSTRAINT const_name TO new_const_name لإعادة تسمية قيد اسمه const_name في الجدول الذي اسمه name (إن وُجد) باسمٍ جديد new_const_name. ALTER TABLE [ IF ...

منح صلاحيات الوصول GRANT

يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] TO { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] } [ WITH GRANT OPTION ]; إعطاء صلاحية تنفيذ استعلامات SELECT و ...

عرض (50 السابقة | 50 التالية) (20 | 50 | 100 | 250 | 500).