SQL أسلوب كتابة الأوامر
مبادئ كتابة الكود في SQL
في البداية عليك معرفة أن كل ما ستتعلمه في هذا الدرس عبارة عن شرح نظري لأساليب كتابة الكود.
إذاَ في هذا الدرس ستتعلم كيف تكتب كود SQL بشكل صحيح يفهمه الكمبيوتر و يفهمه أي شخص يحاول قراءة الكود الذي ستقوم أنت بكتابته مستقبلاً عند بناء قواعد بيانات.
قبل البدء بذكر أساليب الكتابة نود الإشارة إلى أن ما سنذكره قد لا يكون إتباعه إجبارياً دائماً أو أنك لست مجبر على اتباعه في كل الحالات, و لكن إذا أردت العمل باحترافية و بدقة عالية فكن دائماً دقيق و منظم في الكتابة و اعتمد الأسلوب الذي ستتعلمه في هذا الدرس لأنه سيسهل عليك كتابة الأوامر بشكل كبير.
كيفية التفرقة بين أوامر SQL و الكلمات العادية
أي كلمة تكتبها في الإستعلام ستكون إما كلمة من أوامر SQL و إما كلمة ترمز لشيء أنت نفسك قمت بتعريفه في قاعدة البيانات.
أوامر SQL أكتبها دائماً بأحرف كبيرة لأن ذلك سيجعلك تفرّق بسهولة بين أوامر SQL و الكلمات الأخرى المكتوبة في نص الإستعلام.
الأشياء التي قمت أنت بتعريفها و إعطاءها أسماءها; مثل إسم قاعدة البيانات, إسم جدول في قاعدة البيانات, إسم حقل في الجدول, إسم دالة قمت بتعريفها إلخ..
عند كتابة إستعلامات للتعامل مع الأشياء التي قمت أنت بتعريفها, يجب أن تكتب أسماء الأشياء التي قمت بتعريفها تماماً كما قمت بتعريفها في الأساس.
فمثلاً إذا قمت بتعريف قاعدة بيانات إسمها harmash
فيجب أن تتعامل معها بإسم harmash
و ليس بإسم Harmash
حتى لو كان هذا الأمر لا يسبب أي مشكلة.
في الأمثلة التالية لا تركز بمعنى الكود لأننا سنشرحه لك بتفصيل في دروس لاحقة, ركز فقط بالشكل الذي كتبنا فيه الكود.
المثال الأول
الكود التالي عبارة عن إستعلام ( Query ) يحتوي على أمر واحد فقط.
الكلمات التي تظهر بلون مميز و المكتوبة بأحرف كبيرة هي كلمات خاصة بلغة SQL.
الكلمة users
تمثل إسم جدول إفترضنا أننا قمنا بتعريف إسمه بهذا بأحرف صغيرة لهذا قمنا بكتابته في الإستعلام بهذا الشكل أيضاً.
SELECT * FROM users;
المثال الثاني
في حال قمت بكتابة أوامر SQL بأحرف صغيرة فإن ذلك لا يسبب أي مشكلة.
ملاحظة: كتابة الكود هكذا لا تسبب مشكلة و لكن ينصح بعدم إتباع هذه الأسلوب لأنه يفضل أن تكتب أوامر SQL بأحرف كبيرة.
select * from users;
المثال الثالث
في حال قمت بكتابة أوامر SQL بأحرف صغيرة و كبيرة في نفس الوقت فإن ذلك لا يسبب أي مشكلة.
ملاحظة: كتابة الكود هكذا لا تسبب مشكلة و لكن ينصح بعدم إتباع هذه الأسلوب إطلاقاً لأنه الأسلوب الأسوء على الإطلاق و لا أحد يستخدمه.
Select * From users;
المثال الرابع
في حال كانت الأشياء التي قمت بتعريفها مكتوبة بغير الطريقة التي كتبتها بها فإن ذلك على الأغلب سيؤدي لظهور أخطاء في الإستعلام.
هنا افترضنا أن أوامر SQL مكتوبة بأفضل أسلوب و لكن المشكلة هي في الكلمات الأخرى الموضوعة في الإستعلام و نقصد كلمة Users
.
في حال كان الجدول الذي تحاول أن تتعامل معه إسمه users
بالأساس و لكنك في الإستعلام كتبت Users
فإنه يوجد إحتمال كبير أن يظهر لك خطأ في الإستعلام.
SELECT * FROM Users;
هل وضع فاصلة منقوطة ;
ضروري في نهاية أوامر SQL؟
هناك حالات تضطر لوضعها فيها و هناك حالات يكون لك الحرية في وضعها أو عدم وضعها كالتالي:
- إذا كنت تكتب أمر SQL واحد و تريد تنفيذه, في هذه الحالة لا داعي لها.
- في حال قمت بتجهيز أكثر من أمر SQL و تريد تنفيذهم الواحد تلو الآخر, في هذه الحالة أنت مجبر على وضع فاصلة منقوطة في نهاية كل أمر لأنك بذلك تحدد لخادم قاعدة البيانات ( MySQL ) أين يبدأ و ينتهي كل أمر.
- هناك أوامر لا تطلّب وضع فاصلة منقوطة في نهايتها مثل الأمر
USE
حتى لو كنت تنوي تنفيذ عدة أوامر بعده.
ننصحك دائماً بأن تضع فاصلة منقوطة في نهاية كل أمر تكتبه حتى تتجنب الوقوع في مشاكل تداخل الأوامر بسبب نسيان وضع الفاصلة المنقوطة.
في هذه الدورة سنضع فاصلة منقوطة في نهاية كل أمر.
إنتبه من جديد, قلنا أننا سنضع فاصلة منقوطة في نهاية كل أمر و ليس في نهاية كل سطر, حيث أن الأمر في SQL يمكن كتابته على سطر واحد أو على عدة أسطر.
إذاً سواء كتبت الأمر على سطر واحد أو على عدة أسطر فذلك لا يؤثر إطلاقاً كما وضحنا في الأمثلة التالية.
المثال الأول
في المثال التالي وضعنا أمر واحد و كتبناه على سطر واحد.
SELECT id, phone, email FROM users;
المثال الثاني
في المثال التالي وضعنا نفس الأمر و لكننا كتبناه على سطرين.
SELECT id, phone, email FROM users;
المثال الثالث
في المثال التالي وضعنا نفس الأمر و لكننا كتبناه على أربعة أسطر.
SELECT id, phone, email FROM users;
في النهاية, أكتب دائماً الكود بالطريقة التي ترتاح أنت فيها و التي تجد أنها أنسب لما تفعله.
فمثلاً إذا كان الإستعلام صغير, فكتابته على سطر واحد لا مشكلة بها. أما إن كان الإستعلام معقد و كبير فستجد أن تقسيمه على عدة أسطر أفضل لك بكثير.
الكلمات المحجوزة في SQL
جميع الكلمات التالية تستخدم في كتابة أوامر SQL, و يفضّل عدم إستخدامها كأسماء للجداول, الحقول أو الدوال التي نعرّفها في قواعد البيانات.
ADD
- ALTER
- ALL
- AND
- ANY
- ASC
- AUTO_INCREMENT
- BACKUP
- BETWEEN
- CASE
- CHECK
- COLUMN
- CONSTRAINT
- CREATE
- DATABASE
- DEFAULT
- DELETE
- DISTINCT
- DROP
- DEFAULT
- EXEC
- EXISTS
- FOREIGN
- FROM
- FULL
- HAVING
- INDEX
- INNER
- INSERT
- INTO
- IS
- JOIN
- KEY
- LEFT
- LIKE
- LIMIT
- NOT
- NULL
- OR
- ORDER BY
- OUTER
- UPDATE
- REPLACE
- RIGHT
- ROWNUM
- SELECT
- SET
- TABLE
- TRUNCATE
- TOP
- UNIQUE
- UNION
- VALUES
- VIEW
- PRIMARY
- PROCEDURE
- WHERE
بشكل عام هذه الكلمات هي نفسها في كل قواعد البيانات و تستخدم بنفس الطريقة و نود الإشارة إلى أن لكل قاعدة بيانات قد يكون هناك بعض الكلمات الإضافية الخاصة بها و لكن هذه الكلمات تعتبر الأساس و الأكثر استخداماً.