لغة SQL الدليل الشامل الأول

يأخذك هذا الدليل في رحلة تعريفية إلى عالم لغة SQL، المستخدمة لإدارة وتنظيم البيانات في قواعد البيانات. هذا الشرح مناسب للمبتدئين ويشرح بلغة سهلة ومبسطة كيف يمكن استخدام SQL لإنشاء واستعلام وتحديث البيانات داخل قواعد البيانات.

saveقواعد البيانات

اسم الدليل: لغة SQL


رقم الدليل: 300


المجال: قواعد البيانات SQL


المتطلبات: لا يوجد


مسار تعلم متعلق بهذا الدليل: –


الفيديو المتعلق بهذا الدليل:


تنزيل الدليل كملف الكتروني PDF


تاريخ تحديث الدليل:

يأخذك هذا الدليل في رحلة تعريفية إلى عالم لغة SQL (Structured Query Language)، المستخدمة لإدارة وتنظيم البيانات في قواعد البيانات. هذا الشرح مناسب للمبتدئين ويشرح بلغة سهلة ومبسطة كيف يمكن استخدام SQL لإنشاء واستعلام وتحديث البيانات داخل قواعد البيانات.

ما هي SQL؟

SQL أو Structured Query Language هي لغة معيارية تُستخدم لإدارة قواعد البيانات العلائقية. تُمكِّنك من إجراء عمليات متعددة مثل الاستعلام عن البيانات، تحديثها، إدخالها، وحذفها من الجداول.


ماقبل أساسيات لغة SQL

هذه الأمور عليك أن تعرفها قبل البدء بتعلم لغة SQL

ما هي قواعد البيانات؟

قاعدة البيانات هي مجموعة منظمة من البيانات يمكن الوصول إليها وإدارتها وتحديثها بسهولة. تُستخدم قواعد البيانات لتخزين المعلومات بطريقة تجعلها سهلة البحث والفرز والاسترجاع.

مثال بسيط

الاسم الأولالاسم الأخيررقم الهاتفالبريد الإلكتروني
عليالأحمد123456789ali@example.com
سارةأحمد987654321sara@example.com
محمدالطيب456123789mohamed@example.com
جدول بيانات الأصدقاء
  • اسم الجدول: “الأصدقاء”.
  • الصفوف: كل صف يمثل سجلاً (Record) أو مدخل بيانات. في المثال، الصف الأول يحتوي على معلومات صديق يدعى “علي الأحمد”.
  • الأعمدة: كل عمود يمثل نوعًا معينًا من البيانات. في المثال، الأعمدة هي “الاسم الأول”، “الاسم الأخير”، “رقم الهاتف”، و”البريد الإلكتروني”.

باختصار، قاعدة البيانات هي مثل نظام تصنيف للمعلومات حيث يتم تخزين المعلومات في جداول (مثل ملفات على الرف)، وكل جدول يتكون من أعمدة (مثل التصنيفات)، وصفوف (مثل الأوراق داخل الملفات) لتخزين البيانات المنظمة.

توضيح بصري بسيط:

+-------------------- قاعدة البيانات --------------------+
|                         "دفتر العناوين"                |
|                                                        |
| +---------------+  +---------------+  +---------------+ |
| | جدول "الأصدقاء"|  | جدول "العناوين" |  | جدول "المكالمات" | |
| +---------------+  +---------------+  +---------------+ |
|                                                        |
|    +-----------+-------------+-------------+-----------+ |
|    | عمود 1    |   عمود 2    |    عمود 3   |   عمود 4   | |
|    +-----------+-------------+-------------+-----------+ |
|    | صف 1      |   بيانات    |    بيانات   |   بيانات   | |
|    | صف 2      |   بيانات    |    بيانات   |   بيانات   | |
|    +-----------+-------------+-------------+-----------+ |
+---------------------------------------------------------+
Plaintext

ما هي الأعمدة؟

الأعمدة هي مكونات الجدول التي تمثل خصائص معينة أو نوعًا معينًا من البيانات. كل عمود في الجدول له اسم ويخزن نوعًا معينًا من المعلومات.

مثال بسيط

في جدول “الأصدقاء” أعلاه:

  • العمود “الاسم الأول”: يحتوي على الأسماء الأولى للأصدقاء.
  • العمود “الاسم الأخير”: يحتوي على الأسماء الأخيرة للأصدقاء.
  • العمود “رقم الهاتف”: يحتوي على أرقام هواتف الأصدقاء.
  • العمود “البريد الإلكتروني”: يحتوي على عناوين البريد الإلكتروني للأصدقاء.

ما هي الصفوف؟

الصفوف هي مكونات الجدول التي تحتوي على البيانات الفعلية. كل صف يمثل سجلًا (Record) واحدًا ويخزن مجموعة من القيم في كل عمود من أعمدة الجدول.

مثال بسيط

في جدول “الأصدقاء” أعلاه، كل صف يحتوي على معلومات عن صديق واحد. الصف الأول يحتوي على بيانات “علي الأحمد”، بما في ذلك الاسم الأول، الاسم الأخير، رقم الهاتف، والبريد الإلكتروني.

الملخص

تخيل قاعدة بيانات كحافظة ملفات كبيرة:

  • قاعدة البيانات: الحافظة.
  • الجدول: كل مجلد في الحافظة يمثل جدولًا. مثلا، مجلد يحتوي على معلومات الأصدقاء.
  • الأعمدة: الفئات في كل مجلد مثل “الاسم الأول”، “الاسم الأخير”، إلخ.
  • الصفوف: كل ورقة داخل المجلد تحتوي على المعلومات عن شخص واحد.

الحاجة للغة استعلام

قواعد البيانات الحديثة غالبًا ما تكون معقدة وتتضمن العديد من الجداول والعلاقات بينها. هذا يعني أنه من الضروري أن يكون هناك واجهة قوية وفعالة لإدارة وتحليل هذه البيانات بكفاءة، وهنا تأتي دور لغة SQL.

لغة SQL تقدم مجموعة من الأدوات والأوامر التي تسمح للمستخدمين بالتعامل مع قواعد البيانات بسهولة وفعالية. من خلال SQL، يمكن للمستخدمين القيام بالعديد من الأنشطة مثل:

  1. استعلام البيانات: باستخدام عبارات SELECT يمكن للمستخدمين استعلام البيانات من مجموعة متنوعة من الجداول باستخدام مجموعة متنوعة من الشروط والمعايير.
  2. تحديث وحذف البيانات: يمكن للمستخدمين استخدام عبارات UPDATE و DELETE لتحديث البيانات الموجودة بالفعل في الجداول أو حذفها.
  3. إدخال البيانات الجديدة: يمكن للمستخدمين استخدام عبارة INSERT لإدخال بيانات جديدة إلى الجداول.
  4. إدارة هيكل قاعدة البيانات: يمكن للمستخدمين إنشاء وتعديل وحذف الجداول والفهارس والقيود باستخدام عبارات DDL (Data Definition Language).

بفضل هذه الأدوات والأوامر، يمكن للمستخدمين إدارة وتحليل البيانات في قواعد البيانات بكفاءة، بغض النظر عن حجمها أو تعقيدها. وبذلك، تكون لغة SQL أداة قوية وحيوية في مجال إدارة البيانات الحديثة.


كيف تتبع هذا الدليل؟

سيتم توضيح كل التعليمات من خلال تطبيق عملي.

سنقوم بتنفيذ كود وتعليمات SQL على موقع:
https://www.db-fiddle.com

  1. اذهب لرابط الموقع: https://www.db-fiddle.com
  2. سيكون هنالك مربعان: الأول خاص بإضافة جداول قاعدة البيانات تحت اسم schema SQL
  3. المربع الثاني: يتم اضافة فيه الاستعلامات تحت اسم Query SQL
  4. اكتب أوامر التمرينات في المربع الذي يحدده التمرين، ثم قم بالنقر على تنفيذ RUN موجودة في الأعلى.
  5. سأقوم بمشاركة رابط الكود الذي أكتبه في كل مرة معكم، وسيتم اضافة الكود لنفس الموقع السابق.
  6. يمكنك مقارنة الكود الذي تكتبه مع الكود الموجود في التمرين لتتأكد من صحة الكود الذي كتبته أو تتبع الأخطاء
  7. لا تيأس إذا وجدت صعوبة بفهم فكرة أو تمرين ما، فالعقل يحتاج وقت للاعتياد على المعلومات الجديدة.
  8. استمر! حاول! استمر!

ماذا تعني Schema SQL؟

هنا سيتم اضافة قاعدة البيانات نفسها أي بمعنى آخر البيانات التي لدينا مجمعة بجداول ومعبر عنها بصفوف وجداول.

هذا هو من أهم مزايا SQL، أنها تسمح لنا بتنظيم البيانات بجداول التي بدورها تحتوي على أعمدة وصفوف.

ماذا تعني SQL Query ؟

بعد إنشاء وتنظيم البيانات بقاعدة البيانات، سيكون هنالك حاجة لطلب هذه البيانات.

اذا كانت هذه بيانات الأصدقاء كما في المثال في القسم الأول، فالآن نريد أن نحصل على رقم هاتف سارة، ففي هذه الحالة يتم القيام بعملية استعلام أو استرجاع أو ما تسمى باللغة الانكليزية Query.

فعندما نريد استرجاع أو الاستعلام عن معلومة ما سواء كان هذا الاستعلام معقد أو بسيط، فهذه العملية تسمى Query

ما هذا الموقع db-fiddle.com

للأسف، عملية تثبيت أدوات قواعد البيانات على جهاز الحاسوب قد تكون عملية صعبة للمبتدئين.

ولذلك، وجدت عن موقع يساعدنا على التدرب على أوامر لغة SQL دون الحاجة فعلياً لتثبيت أي أداة على جهاز الحاسوب.

هذا سيسهل عملية التعلم ولاحقاً يمكن أن تتعلم كيفية تثبيت لغة SQL على جهازك.

لا، هذا ليس إعلان أو مقالة دعائية لموقع db-fiddle.com. وجدت أنه موقع مفيد ومجاني، وأحببت مشاركة الفائدة معكم.


أساسيات لغة SQL

هنا سيتم توضيح أهم الأوامر التي عليك تعلمها في لغة SQL.

سيتم توضيح الأوامر الأساسية بالتدريبات العملية

تدريب 301: إنشاء جدول وإدخال بيانات والاستعلام عنها.

  1. المطلوب: قم بإنشاء جدول في قاعدة بيانات يحتوي معلومات الأصدقاء في الجدول أدناه.
  2. رابط الأمر النهائي – الخطوة الأولى: تمرين 301 – الكود النهائي 1
  3. رابط الأمر النهائي – الخطوة الثانية: تمرين 301 – الكود النهائي 2
  4. رابط الأمر النهائي – الخطوة الثالثة: تمرين 301 – الكود النهائي 3
الاسم الأولالاسم الأخيررقم الهاتفالبريد الإلكتروني
عليالأحمد123456789ali@example.com
سارةأحمد987654321sara@example.com
محمدالطيب456123789mohamed@example.com

نعتبر أن لدينا قاعدة بيانات منشئة وجاهزة، ونبدأ من نقطة إنشاء جداول.

نكتب الكود الآتي في موقع db-fiddle.com في قسم Schema

CREATE TABLE Friends (
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    PhoneNumber VARCHAR(15),
    Email VARCHAR(100)
);
SQL

هذا الكود يقوم بإنشاء جدول في قاعدة البيانات يُسمى “Friends”، وهذا الجدول يحتوي على أربعة أعمدة:

  1. FirstName (الاسم الأول): هذه العمود يحتوي على الأسماء الأولى لأصدقائك.
  2. LastName (الاسم الأخير): هذه العمود يحتوي على الأسماء الأخيرة لأصدقائك.
  3. PhoneNumber (رقم الهاتف): هذه العمود يحتوي على أرقام هواتف أصدقائك.
  4. Email (البريد الإلكتروني): هذه العمود يحتوي على عناوين البريد الإلكتروني لأصدقائك.

كل عمود له نوع محدد للبيانات التي يمكن تخزينها فيه. في هذا الجدول، يتم استخدام أنواع بيانات “VARCHAR”، وهي تعني سلسلة محارف بعدد معين. على سبيل المثال، “FirstName” و “LastName” يمكنهما أن يحتويا على نص يصل إلى 50 محرفاً، و “PhoneNumber” يمكنه أن يحتوي على نص يصل إلى 15 محرفاً، و “Email” يمكنه أن يحتوي على نص يصل إلى 100 محرفاً.

ملاحظات في دفترك
يتم إنشاء الجدول من خلال الأمر
Create Table
SQL

varchar يعبر أن قيمة العمود قد تكون بين 0 لقيمة قصوى يتم تحديدها. مثلاً: varchar(50) يعني أن قيمة العمود لا يمكن أن تكون أكثر من 50 محرف (حرف أو رقم أو رمز خاص)

سؤال: هل يجب أن أكتب كل كلمات الأمر بأحرف كبيرة (upper case)؟

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

نكتب الكود الآتي في موقع db-fiddle.com في قسم Schema

CREATE TABLE Friends (
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    PhoneNumber VARCHAR(15),
    Email VARCHAR(100)
);

INSERT INTO Friends (FirstName, LastName, PhoneNumber, Email)
VALUES
    ('Ali', 'Al-Ahmad', '123456789', 'ali@example.com'),
    ('Sara', 'Ahmad', '987654321', 'sara@example.com'),
    ('Mohamed', 'Al-Tayeb', '456123789', 'mohamed@example.com');

SQL

هذا الكود هو أمر INSERT في SQL، ويتم استخدامه لإضافة سجلات جديدة (صفوف) إلى جدول. دعني أقدم لك تفسيرًا بسيطًا للكود:

  1. INSERT INTO Friends: هذا الجزء يحدد اسم الجدول الذي نريد إدراج السجلات فيه، وهو “Friends”. سنقوم بإضافة السجلات إلى جدول “Friends”.
  2. (FirstName, LastName, PhoneNumber, Email): هذا الجزء يحدد الأعمدة التي نريد إدراج البيانات فيها. تُسمى الأعمدة FirstName، LastName، PhoneNumber، وEmail.
  3. VALUES: هذه الكلمة الرئيسية تُستخدم لتحديد القيم التي نريد إدراجها في الأعمدة المحددة.
  4. (‘علي’, ‘الأحمد’, ‘123456789’, ‘ali@example.com’): هذه هي مجموعة القيم الأولى التي سنقوم بإدراجها في الجدول. كل مجموعة من القيم تتوافق مع صف واحد في الجدول. القيم تُقدم في نفس ترتيب الأعمدة المحددة سابقًا. لذا، ‘علي’ تتوافق مع FirstName، ‘الأحمد’ تتوافق مع LastName، ‘123456789’ تتوافق مع PhoneNumber، و’ali@example.com’ تتوافق مع Email.
  5. (‘سارة’, ‘أحمد’, ‘987654321’, ‘sara@example.com’): هذه هي مجموعة القيم الثانية التي سنقوم بإدراجها. مرة أخرى، كل قيمة تتوافق مع العمود المقابل لها بنفس الترتيب.
  6. (‘محمد’, ‘الطيب’, ‘456123789’, ‘mohamed@example.com’): هذه هي مجموعة القيم الثالثة التي سنقوم بإدراجها، وتتبع نفس النمط.

لذا، يقوم هذا الكود SQL بإدراج ثلاثة سجلات جديدة في جدول “Friends”، حيث يحتوي كل سجل على اسم،

ملاحظات في دفترك
اضافة سجلات للجدول
INSERT INTO اسم الجدول
SQL

يجب تحديد اسماء الاعمدة التي تريد اضافة قيم لها، ووضعها ضمن أقواس عادية، وتفصل بينها بفاصلة.

سؤال: هل استخدم اشارات اقتباس أحادية أو ازدواجية ؟

استخدم اشارات الاقتباس الأحادية للقيم النصية لتفادي أي التباس. ستتعلم أكثر عن هذا في المستقبل.

لمزيد من المعلومات:
شاهد فيديو: لن تخطأ باستخدام ‘ , ” في SQL بعد الآن.

نكتب الكود الآتي في موقع db-fiddle.com في قسم Query

SELECT * FROM Friends;
SQL

يقوم هذا الأمر بالاستعلام لاسترجاع جميع البيانات المخزنة في جدول معين. دعنا نوضحه بشكل مبسط:

  • SELECT: تعني “اختر”. تُستخدم لتحديد الأعمدة التي تريد استرجاعها من قاعدة البيانات.
  • *: تعني “كل الأعمدة”. عندما نستخدم *، فنحن نطلب استرجاع جميع الأعمدة الموجودة في الجدول.
  • FROM: تعني “من”. تُستخدم لتحديد الجدول الذي نريد استرجاع البيانات منه.
  • Friends: اسم الجدول الذي نريد استرجاع البيانات منه. في هذا المثال، الجدول اسمه “Friends”.
الاستعلام عن كل السجلات في جدول في لغة SQL
نتيجة الاستعلام عن الأصدقاء
ملاحظات في دفترك
الاستعلام عن السجلات
SELECT
SQL
سؤال: ماذا تعني *؟

في SQL، الرمز * يُعرف باسم “علامة النجمة” أو “النجمة”، وهو يستخدم لاسترجاع جميع الأعمدة من الجدول المحدد.

الصفحات: 1 2