تعلّم استعلامات SQL: دليل عملي للمبتدئين لفهم قواعد البيانات

دقائق القراءة: 6

مقدمة إلى لغة SQL وأهميتها

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

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

تعلم استعلامات SQL للمبتدئين وإدارة قواعد البيانات باحتراف

البنية الأساسية لقاعدة البيانات

قبل البدء في كتابة الاستعلامات، من المهم فهم التركيب الهرمي لقاعدة البيانات:

  • قاعدة البيانات: تحتوي على مجموعة من الجداول المرتبطة.
  • الجدول: يتكون من أعمدة وصفوف.
  • العمود: يعبّر عن نوع المعلومة مثل first_name أو salary.
  • الصف: يمثل سجلًا كاملًا، مثل بيانات موظف واحد.
  • الحقل: قيمة مفردة داخل صف معين.

على سبيل المثال، إذا أردت عرض جميع قواعد البيانات المتاحة، يمكنك استخدام الأمر التالي:

SHOW DATABASES;

وقد تكون النتيجة بالشكل التالي:

+--------------------+
| Databases          |
+--------------------+
| mysql              |
| information_schema |
| employees          |
| test               |
| sys                |
+--------------------+

ولعرض الجداول داخل قاعدة بيانات مثل employees يمكنك كتابة:

SHOW TABLES in employees;

مثال على النتيجة:

+----------------------+
| Tables_in_employees  |
+----------------------+
| engineering          |
| product              |
| marketing            |
| sales                |
+----------------------+

أما لمعرفة بنية جدول معين مثل engineering، فاستخدم:

DESCRIBE engineering;

وقد يظهر لك شيء مشابه لما يلي:

+-------------+----------------+------------------+
| Name        | Null           | Type             |
+-------------+----------------+------------------+
| EMPLOYEE_ID | NOT NULL       | INT(6)           |
| FIRST_NAME  | NOT NULL       | VARCHAR2(20)     |
| LAST_NAME   | NOT NULL       | VARCHAR2(25)     |
| EMAIL       | NOT NULL       | VARCHAR2(255)    |
| COUNTRY     | NOT NULL       | VARCHAR2(30)     |
| SALARY      | NOT NULL       | DECIMAL(10,2)    |
+-------------+----------------+------------------+

فهم عمليات CRUD في SQL

تعتمد أغلب العمليات في قواعد البيانات على مفهوم CRUD، وهو اختصار لأربع عمليات أساسية:

  • Create: إنشاء البيانات.
  • Read: قراءة البيانات واسترجاعها.
  • Update: تعديل البيانات.
  • Delete: حذف البيانات.

معرفة هذا المفهوم تسهّل عليك فهم دور كل استعلام في SQL.

أوامر SQL الأساسية للمبتدئين

إنشاء قاعدة بيانات باستخدام CREATE DATABASE

لإنشاء قاعدة بيانات جديدة باسم engineering:

CREATE DATABASE engineering;

إنشاء جدول باستخدام CREATE TABLE

الصيغة العامة:

CREATE TABLE table_name (
  column1 datatype,
  column2 datatype,
  column3 datatype
);

هذا الاستعلام ينشئ جدولًا جديدًا داخل قاعدة البيانات، مع تحديد الأعمدة وأنواع البيانات المناسبة لكل عمود.

من أشهر أنواع البيانات في SQL:

  • INT
  • DECIMAL
  • DATETIME
  • VARCHAR
  • NVARCHAR
  • FLOAT
  • BIT

مثال عملي:

CREATE TABLE engineering (
  employee_id int(6) NOT NULL,
  first_name varchar(20) NOT NULL,
  last_name varchar(25) NOT NULL,
  email varchar(255) NOT NULL,
  country varchar(30),
  salary decimal(10,2) NOT NULL
);

تعديل الجدول باستخدام ALTER TABLE

إذا أردت إضافة عمود جديد إلى جدول موجود، استخدم:

ALTER TABLE table_name ADD column_name datatype;

مثال لإضافة عمود birthday:

ALTER TABLE engineering ADD birthday date;

إدخال البيانات باستخدام INSERT INTO

يُستخدم هذا الأمر لإضافة صفوف جديدة إلى الجدول، وهو يمثل جزء Create من عمليات CRUD.

INSERT INTO table_name(column1, column2, column3)
VALUES (value1, 'value2', value3);

مثال عملي:

INSERT INTO table_name(employee_id,first_name,last_name,email,country,salary)
VALUES (1, 'Timmy', 'Jones', 'timmy@gmail.com', 'USA', 2500.00);

INSERT INTO table_name(employee_id,first_name,last_name,email,country,salary)
VALUES (2, 'Kelly', 'Smith', 'ksmith@gmail.com', 'UK', 1300.00);

لاحظ أن القيم النصية في SQL تُكتب بين علامتي اقتباس مفردتين مثل 'USA'.

قراءة البيانات باستخدام SELECT

يُستخدم الأمر SELECT لاسترجاع البيانات، وهو جزء Read من CRUD.

SELECT column1, column2 FROM table_name;

مثال:

SELECT first_name, last_name FROM engineering;

الناتج المتوقع:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Timmy     | Jones    |
| Kelly     | Smith    |
+-----------+----------+

ولجلب جميع الأعمدة من جدول ما:

SELECT * FROM table_name;

تعمل العلامة * على اختيار كل الأعمدة دون الحاجة إلى ذكرها واحدًا واحدًا.

تصفية النتائج باستخدام WHERE

عند الحاجة إلى استرجاع بيانات بشروط محددة، فإن WHERE هي الأداة المناسبة.

SELECT employee_id, first_name, last_name, email, country
FROM engineering
WHERE salary > 1500;

هذا الاستعلام يعرض الموظفين الذين يزيد راتبهم على 1500.

استخدام AND وOR وBETWEEN

هذه المعاملات تجعل الاستعلامات أكثر دقة:

  • AND: يجب تحقق جميع الشروط.
  • OR: يكفي تحقق أحد الشروط.
  • BETWEEN: للبحث ضمن نطاق محدد.

أمثلة على الصيغ:

SELECT column_name FROM table_name
WHERE column1 = value1 AND column2 = value2;
SELECT column_name FROM table_name
WHERE column_name = value1 OR column_name = value2;
SELECT column1, column2 FROM table_name
WHERE column_name BETWEEN value1 AND value2;

مثال عملي يجمع أكثر من شرط:

SELECT * FROM engineering
WHERE employee_id BETWEEN 3 AND 7
AND country = 'Germany';

هذا الاستعلام يعرض جميع الموظفين الذين يقع رقمهم الوظيفي بين 3 و7 وتكون دولتهم Germany.

ترتيب النتائج باستخدام ORDER BY

يمكنك ترتيب النتائج تصاعديًا أو تنازليًا حسب عمود معين:

SELECT employee_id, first_name, last_name, salary
FROM engineering
ORDER BY salary DESC;

في هذا المثال يتم ترتيب الموظفين حسب الراتب من الأعلى إلى الأقل. ويمكنك استخدام ASC بدلًا من DESC للترتيب التصاعدي.

تجميع البيانات باستخدام GROUP BY

يفيد GROUP BY في تجميع الصفوف المتشابهة، وغالبًا ما يُستخدم مع الدوال التجميعية مثل COUNT(*).

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;

هذا الأسلوب مفيد عند تحليل البيانات واكتشاف التكرار أو توزيع السجلات.

تحديد عدد النتائج باستخدام LIMIT

إذا كنت تعمل على جدول كبير، فمن المفيد أحيانًا إرجاع عدد محدود من الصفوف:

SELECT column1, column2 FROM table_name LIMIT number;

يساعد ذلك في تسريع المعاينة الأولية للبيانات وتقليل وقت تنفيذ الاستعلام.

تحديث البيانات باستخدام UPDATE

الأمر UPDATE يُستخدم لتعديل بيانات موجودة، وهو جزء Update من CRUD.

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

مثال عملي:

UPDATE engineering
SET country = 'Spain'
WHERE employee_id = 1;

هذا الاستعلام يحدّث دولة الموظف الذي يحمل المعرّف 1.

كما يمكن تحديث البيانات بالاعتماد على جدول آخر باستخدام JOIN:

UPDATE table_name
SET table_name1.column_name1 = table_name2.column_name1,
    table_name1.column_name2 = table_name2.column2
FROM table_name1
JOIN table_name2
ON table_name1.column_name = table_2.column_name;

حذف السجلات باستخدام DELETE

يمثل DELETE جزء Delete من CRUD، ويُستخدم لحذف صفوف محددة من الجدول.

DELETE FROM table_name WHERE condition;

مثال:

DELETE FROM engineering WHERE employee_id = 2;

هذا يحذف سجل الموظف الذي رقم تعريفه 2.

حذف عمود باستخدام DROP COLUMN

إذا أردت إزالة عمود معين من الجدول:

ALTER TABLE table_name DROP COLUMN column_name;

حذف جدول كامل باستخدام DROP TABLE

لحذف الجدول بالكامل من قاعدة البيانات:

DROP TABLE table_name;

نصائح مهمة للمبتدئين عند كتابة استعلامات SQL

  • ابدأ دائمًا باستعلامات بسيطة ثم أضف الشروط تدريجيًا.
  • استخدم WHERE بحذر في أوامر UPDATE وDELETE حتى لا تؤثر على جميع السجلات.
  • جرّب استعلاماتك أولًا على بيانات تجريبية قبل تطبيقها على قاعدة بيانات فعلية.
  • احرص على فهم نوع البيانات لكل عمود قبل إدخال القيم أو تعديلها.
  • استخدم تنسيقًا واضحًا للاستعلامات الطويلة لتسهيل قراءتها وصيانتها.

لماذا يُعد تعلم SQL مهارة أساسية؟

تعلم SQL لا يفيد المطورين فقط، بل يُعد مهارة مهمة أيضًا لمحللي البيانات، ومديري الأنظمة، وفرق الأعمال التي تعتمد على التقارير واستخراج المعلومات. كلما فهمت كيفية الاستعلام عن البيانات بدقة، أصبحت أكثر قدرة على اتخاذ قرارات صحيحة مبنية على معلومات واضحة.

الخلاصة التقنية

تُعتبر SQL من أهم اللغات التي ينبغي لأي مبتدئ في عالم البرمجة أو البيانات أن يتقن أساسياتها. فهي تجمع بين البساطة والقوة، وتتيح لك التحكم الكامل في البيانات عبر أوامر واضحة مثل SELECT وINSERT وUPDATE وDELETE. ومن الناحية العملية، فإن إتقان هذه الاستعلامات الأساسية يمهّد للانتقال لاحقًا إلى مفاهيم أكثر تقدمًا مثل الفهارس Indexes، والربط بين الجداول Joins، وتحسين الأداء. لذلك، فإن بناء أساس قوي في استعلامات SQL هو استثمار تقني بالغ القيمة على المدى الطويل.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *