نتائج البحث

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

الأمر 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 و ...

الربط اليساري LEFT JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 LEFT [OUTER] JOIN tbl_name2 ON col_name1 = col_name2 مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID للربط مع جدول الدورات التدريبية) RegDate CourseID LastName FirstName StudentID ...

الربط الداخلي INNER JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 [INNER] JOIN tbl_name2 ON col_name1 = col_name2 وكما يُلاحظ أن وجود كلمة INNER اختياريّ لأن الربط الداخلي هو الحالة الافتراضية في الربط. مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID ...

الدوال الداخلية (المضمّنة) في PHP

تقدّم PHP الكثير من الدوال والبنى الأساسية والمضمّنة في اللغة. هناك أيضًا دوال تتطلب وجود إضافة خاصّة باللغة، وعدا ذلك سيظهر الخطأ "undefined function". فعلى سبيل المثال، يجب تجميع PHP مع دعم GD لاستخدام الدوال الخاصة بالتعامل مع الصور مثل imagecreatetruecolor()‎. ويجب تجميع اللغة مع دعم MySQL لاستخدام الدالة mysql_connect()‎‎. هناك العديد من الدوالّ الأساسية والمضمّنة في جميع إصدارات PHP، مثل دوال السلاسل النصية والمتغيرات. يمكن استدعاء الدالة phpinfo()‎ أو get_loaded_extensions()‎ لمعرفة الإضافات المُحمّلة مع اللغة. لاحظ أيضًا أن هناك ...

الدوال الداخلية (المضمّنة) في PHP

تقدّم PHP الكثير من الدوال والبنى الأساسية والمضمّنة في اللغة. هناك أيضًا دوال تتطلب وجود إضافة خاصّة باللغة، وعدا ذلك سيظهر الخطأ "undefined function". فعلى سبيل المثال، يجب تجميع PHP مع دعم GD لاستخدام الدوال الخاصة بالتعامل مع الصور مثل imagecreatetruecolor()‎. ويجب تجميع اللغة مع دعم MySQL لاستخدام الدالة mysql_connect()‎‎. هناك العديد من الدوالّ الأساسية والمضمّنة في جميع إصدارات PHP، مثل دوال السلاسل النصية والمتغيرات. يمكن استدعاء الدالة phpinfo()‎ أو get_loaded_extensions()‎ لمعرفة الإضافات المُحمّلة مع اللغة. لاحظ أيضًا أن هناك ...

مفاتيح الجداول

تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. المفتاح الأوليّ PRIMARY KEY هو عمود (أو أكثر) من الجدول والذي يميّز السجلات عن بعضها، تكون القيم فيه فريدة (غير مكررة) ولا يمكن ألّا يحتوي قيمة (قيمته NULL)، ويكون للجدول مفتاح أولي وحيد. المفتاح الثانويّ FOREIGN KEY هو عمود (أو أكثر) من الجدول والذي يمكن عدّه مرجعيةً (reference) لعمود آخر في جدول ثانٍ (وغالبًا ما يكون هذا العمود هو المفتاح الأولي للجدول الثاني). مثال تحتوي قاعدة بيانات أحد المراكز التعليمية ...

الاستعلام SELECT

يُستخدَم استعلام SELECT للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر. البنية العامة SELECT [DISTINCT | TOP] select_list [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ ASC | DESC]]; ويمكن أن تُستخدَم بعض المعاملات مثل UNION و EXCEPT و INTERSECT لدمج نتائج الاستعلامات أو مقارنتها مع بعضها، وتجب مراعاة ترتيب الكلمات المفتاحية المستخدمة في الصياغة السابقة لدى وجود العديد منها ضمن استعلامٍ واحد. أمثلة فيما يلي أمثلةٌ مختلفةٌ ...

العبارة ORDER BY

تتلخص مهمة عبارة ORDER BY بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعلام SELECT وفق عمودٍ (أو أكثر) من الجدول. تحديد نمط الترتيب التصاعدي أو التنازلي تُستخدم الكلمتان المفتاحيتان ASC و DESC لتحديد نمط الترتيب التصاعدي ASC والتنازلي DESC بعدّ الترتيب التصاعدي الحالة الافتراضية للعبارة. ليكن الجدول rivers الآتي موجودًا في قاعدة البيانات: Continent Outflow LengthMiles LengthKm River Serial South America Atlantic Ocean 4345 6992 Amazon 1 Africa Mediterranean 4258 6853 Nile 2 North America Gulf of Mexico 3902 6275 Mississippi ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

الربط بين الجداول

تخزن البيانات عادةً في قواعد البيانات بأكثر من جدول لتسهيل تنظيمها وإدارتها، وتُربط هذه الجداول فيما بينها من خلال الأعمدة المترابطة فيما بينها، وذلك بالاعتماد على مفهومي المفتاح الأولي Primary Key والمفتاح الثانوي Foreign Key، وله عدة أنواع ستُذكر تباعًا. أنواع ربط الجداول توجد عدة أنواع للربط بين جدولين (أو أكثر)، إذ يسمى الجدول الأول يساريًا والجدول الثاني يمينًا: الربط الداخلي INNER JOIN: تحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. الربط اليساري LEFT JOIN: تحديد ...

النشر على الخادم الإنتاجي في Laravel

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

الاستعلامات الفرعية Subqueries في SQL

الاستعلام الفرعي هو استعلام واقعٌ ضمن استعلام آخر بهدف استخدام البيانات الناتجة عنه في الاستعلام الرئيسي الذي يحتويه، وغالبًا ما يكون الاستعلام الفرعي عبارة عن استعلام SELECT، ويمكن استخدامه مع أي من استعلامات SELECT أو INSERT أو UPDATE أو DELETE. استخدام الاستعلام الفرعي في استعلام SELECT تحديد الاستعلام الفرعي كأحد الأعمدة يُمكن تحديد أحد الأعمدة التي ستظهر بتنفيذ استعلام SELECT من خلال الاستعلام الفرعي الذي يعيد قيمة وحيدة لكل سجل. مثال إن كانت الجداول الآتية موجودة في قاعدة البيانات: الجدول ...

أنواع البيانات في SQL

تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. في محرك البيانات MySQL أنواع البيانات العددية Numeric النوع بداية المجال نهاية المجال مساحة التخزين TINYINT ‎-128 127 1 بايت SMALLINT ‎-32768 32767 2 بايت MEDIUMINT ‎-8388608 8388607 3 بايت INT ‎-2147483648 2147483647 4 بايت BIGINT ‎-9223372036854775808 9223372036854775807 8 بايت BIT 0 1 بت واحد البيانات العددية الثابتة مع الفاصلة العشرية النوع الوصف DECIMAL(p,s)‎ يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد ...

المكتبة Active Record في ريلز

إنَّ Active Record هو مكتبة تربط أصنافًا بجداول قاعدة بيانات علائقية لتأسيس طبقة ثابتة لا تحتاج إلى ضبط للتطبيقات. توفر المكتبة صنفًا أساسيًّا يضبط - عند تفريع أصناف منه - العلاقة الرابطة بين الصنف الجديد وجدول موجود مسبقًا في قاعدة البيانات. في سياق أي تطبيق، يشار إلى هذه الأصناف عادةً على أنها «نماذج» (models). يمكن ربط النماذج Models أيضًا بنماذج أخرى عبر تعريف ارتباطات. يعتمد Active Record كل الاعتماد على التسمية، إذ يستعمل أسماء الصنف والارتباط لتأسيس علاقة رابطة (mapping) ...

بعض الدوال المساعدة في SQL

الدوال الرياضية الدالة مهمتها COUNT(*)‎ تعيد عدد السجلات الموجودة في الجدول MAX(col_name)‎ تعيد القيمة الأكبر في حقل col_name في سجلات الجدول MIN(col_name)‎ تعيد القيمة الأصغر في حقل col_name في سجلات الجدول AVG(col_name)‎ تعيد قيمة المتوسط الحسابي لقيم الحقل col_name في سجلات الجدول SUM(col_name)‎ تعيد قيمة مجموع قيم الحقل col_name في سجلات الجدول SQRT(m)‎ تعيد قيمة الجذر التربيعي للقيمة m (قد تكون قيمة أحد الحقول) RAND()‎ تعيد قيمة عشوائية مُولّدة واقعة في المجال ما بين القيمة 0 والقيمة 1 MOD(N,M)‎ تعيد ...

ضبط تطبيقات ريلز

يغطي هذا الدليل ميزات الضبط والتهيئة المتاحة لتطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلم: كيفية ضبط سلوك تطبيقات ريلز. كيفية إضافة شيفرة مصدريّة إضافية لتنفيذها وقت بدء تشغيل التطبيق. مواقع شيفرة التهيئة والضبط يوفر ريلز أربعة مواضع رئيسيّة لوضع الشيفرة المصدريّة للتهيئة: config/application.rb ملفات الضبط (configuration) الخاصة بالبيئة المهيآت (Initializers) ما بعد المهيآت (After-initializers) تشغيل شيفرة برمجية قبل ريلز في أحيان نادرة، يحتاج تطبيقك لتشغيل بعض الشيفرات البرمجية قبل تحميل ريلز نفسه، ذا ضعها آنذاك قبل استدعاء require 'rails/all'‎ في ...

منشئ الاستعلامات في Laravel

مقدمة يوفّر منشئ استعلامات قاعدة بيانات Laravel واجهة ملائمة وسلسة لإنشاء وإدارة استعلامات قاعدة البيانات. يمكن استخدامه لتنفيذ معظم عمليات قاعدة البيانات بتطبيقك كما أنه يعمل على جميع أنظمة قواعد البيانات المدعومة. يستخدم منشئ استعلامات Laravel ارتباط المعاملة PDO لحماية تطبيقك من هجمات حقن SQL. لا حاجة لتنظيف السلاسل النصيّة التي تُمرّر كارتباطات. استرداد النتائج استرداد جميع الصفوف من الجدول تستطيع استخدام التابع table على الواجهة الساكنة DB لبدء استعلام. يرد التابع table نسخة منشئ استعلامات فصيحة (fluent) للجدول المحدد، ...

تهجيرات Active Record في ريلز

التهجيرات (Migrations) هي ميزة من Active Record التي تمكّنك من تحديث مخطط قاعدة البيانات على مر الوقت. بدلًا من كتابة تعديلات قاعدة البيانات باستخدام SQL، تمكّنك التهجيرات من كتابة تعليمات DSL باستخدام روبي لتحديث جداولك. بعد قراءة هذا الدليل، ستتعرَّف على: المولِّدات التي تستطيع استعمالها لإنشاء التهجيرات. التوابع التي يوفرها Active Record لتعديل قاعدة البيانات. المهام bin/rails التي تعدِّل وتتحكم بالتهجيرات والمخطط (schema) الخاص بك. العلاقة بين التهجيرات والملف schema.rb. نظرة عامة على التهجيرات إن التهجيرات هي طريقة مناسبة وسلسة ...

أساسيات Active Record في ريلز

هذا الدليل هو مدخل إلى المكتبة Active Record. بعد قراءة هذا الدليل، ستتعرف على: ما هي تقنية ORM (اختصار للعبارة Object Relational Mapping أي "ربط الكائنات العِلاقيَّة") وما هو Active Record وكيفية استعمالهما في ريلز. كيف ينسجم Active Record مع النموذج MVC (اختصار للعبارة Model-View-Controller). كيفية استعمال نماذج Active Record (أي Active Record models) لمعالجة وتعديل البيانات المخزَّنة في قاعدة بيانات عِلاقيِّة (relational database). اصطلاحات تسمية مخطَّط Active Record. مفهوم تهجيرات، وتحققات، وردود نداء قاعدة البيانات. ما هو Active Record؟ ...

الوحدة configparser‎‎ في بايثون

تقدّم هذه الوحدة الصنف ConfigParser الذي يستخدم لغة إعدادات بسيطة تقدّم بنية مشابهة للبنية التي تقدّمها ملفات INI في نظام Microsoft Windows. ويمكن استخدام هذا الصنف لكتابة برامج وتطبيقات يمكن للمستخدمين تخصيصها بكل سهولة. ملاحظة: لا تفسّر هذه المكتبة ولا تكتب لواحق قيمة-نوع التي يستخدمها إصدار سجلّ نظام ويندوز Windows Registry الموسّع بصيغة INI. بداية سريعة لنبدأ بملف الإعدادات البسيط التالي: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no يتكوّن الملف بصورة أساسية من ...

سطر أوامر ريلز

بعد قراءة هذا الدّليل، ستتمكّن من: إنشاء تطبيق ريلز. توليد النماذج، ووحدات التحكّم، وتهجيرات قاعدة البيانات (database migrations)، ووحدات الاختبار. بدء الخادم الإنتاجي. كيفية تجربة الكائنات من خلال صدفة تفاعليّة (interactive shell) يفترض هذا الدليل أن لديك معرفة أساسية بإطار العمل ريلز من قراءة دليل البدء مع ريلز. أساسيات سطر الأوامر هناك بضعة أوامر تُعتبر حاسمة للغاية لاستخدامك اليومي لإطار العمل ريلز. هذا الأوامر مرتّبة حسب كثرة استخدامها تقريبًا بالشكل التالي: rails console rails server bin/rails rails generate rails dbconsole ...

عمليات التحقق من Active Record في ريلز

يعلِّمك هذا الدليل كيفية التحقق من حالة الكائنات قبل إرسالها إلى قاعدة البيانات باستعمال ميزة التحققات من الصحة (validations) التي يوفرها Active Record. بعد قراءة هذا الدليل، ستتعرَّف على: كيفية استعمال مساعدي التحقق من الصحة (validation helpers) لـ Active Record المدمجين. كيفية إنشاء توابع مخصصة للتحقق من الصحة. كيفية العمل مع رسالة الخطأ المولدة عبر عملية التحقق. نظرة عامة على عمليات التحقق الشيفرة التالية تظهر مثالًا عن تحقق بسيط جدًا: class Person < ApplicationRecord validates :name, presence: true end Person.create(name: ...