Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

SQLأمر جلب بيانات من قاعدة البيانات

  • الأمر SELECT
  • تجهيز قاعدة البيانات التي سنطبق عليها
  • جلب جميع البيانات الموجودة في الجدول
  • تحديد أسماء الحقول التي سيتم جلبها من الجدول
  • تغيير أسماء الأعمدة عند جلبها من الجدول

الأمر SELECT

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


الشكل العام لإستخدامه

SELECT column1, column2, ...
FROM table_name;
SELECT column1, column2, ... FROM table_name;

مكان الكلمة table_name نضع إسم الجدول الذي سنجلب البيانات منه.
ملاحظة: يمكنك جلب البيانات من أكثر من جدول في نفس الوقت و لكن هذا الأمر سنتطرق له في دروس متقدمة.

تجهيز قاعدة البيانات التي سنطبق عليها

قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه employees يحتوي على بيانات 10 موظفين.

الإستعلام

-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS harmash;
-- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE harmash;
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- يتألف من ستة أعمدة employees هنا قمنا بإنشاء جدول جديد إسمه
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE employees (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(20),
is_married BOOLEAN,
salary DECIMAL(7,2),
birthday Date
);
-- هنا قمنا بإضافة 10 أسطر في الجدول, أي أضفنا معلومات 10 موظفين
-- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
-- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
-- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
INSERT INTO employees VALUES (null, "Ahmad", "Alhazem", false, 800, "1990-10-23");
INSERT INTO employees VALUES (null, "Rami", "Algharib", false, 750, "1992-05-08");
INSERT INTO employees VALUES (null, "Said", "Alnaja", true, 900, "1988-07-12");
INSERT INTO employees VALUES (null, "Noura", "Jamali", false, 845, "1994-12-04");
INSERT INTO employees VALUES (null, "Amani", "Sarrouf", true, 1000, "1991-10-27");
INSERT INTO employees VALUES (null, "Mhamad", "Harmush", false, 700, "1993-11-12");
INSERT INTO employees VALUES (null, "Ahmad", "Asaadi", true, 850, "1995-03-10");
INSERT INTO employees VALUES (null, "Mostafa", "Shawki", true, 920, "1990-02-14");
INSERT INTO employees VALUES (null, "Jana", "Alkassem", false, 780, "1991-08-12");
INSERT INTO employees VALUES (null, "Houssam", "Zahrani", true, 880, "1985-09-20");
-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها DROP DATABASE IF EXISTS harmash; -- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها CREATE DATABASE harmash; -- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات USE harmash; -- يتألف من ستة أعمدة employees هنا قمنا بإنشاء جدول جديد إسمه -- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات CREATE TABLE employees ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(50), last_name VARCHAR(20), is_married BOOLEAN, salary DECIMAL(7,2), birthday Date ); -- هنا قمنا بإضافة 10 أسطر في الجدول, أي أضفنا معلومات 10 موظفين -- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات -- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة -- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة INSERT INTO employees VALUES (null, "Ahmad", "Alhazem", false, 800, "1990-10-23"); INSERT INTO employees VALUES (null, "Rami", "Algharib", false, 750, "1992-05-08"); INSERT INTO employees VALUES (null, "Said", "Alnaja", true, 900, "1988-07-12"); INSERT INTO employees VALUES (null, "Noura", "Jamali", false, 845, "1994-12-04"); INSERT INTO employees VALUES (null, "Amani", "Sarrouf", true, 1000, "1991-10-27"); INSERT INTO employees VALUES (null, "Mhamad", "Harmush", false, 700, "1993-11-12"); INSERT INTO employees VALUES (null, "Ahmad", "Asaadi", true, 850, "1995-03-10"); INSERT INTO employees VALUES (null, "Mostafa", "Shawki", true, 920, "1990-02-14"); INSERT INTO employees VALUES (null, "Jana", "Alkassem", false, 780, "1991-08-12"); INSERT INTO employees VALUES (null, "Houssam", "Zahrani", true, 880, "1985-09-20");

بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول employees بداخلها.
قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.

جلب جميع البيانات الموجودة في الجدول

عند استخدام الأمر SELECT لجلب أي معلومة تم إدخالها في الجدول يمكنك ذكر أسماء الحقول التي نريد رؤيتها فقط في كل سطر. و في حال أردت رؤية جميع الحقول الموجودة في كل سطر يمكنك وضع رمز النجمة * بعد الكلمة SELECT.

مثال

قم بتنفيذ الإستعلام التالي لجلب جميع البيانات المخزنة في الجدول employees.
إذاً هذا الإستعلام يعرض جميع المعلومات المتوفرة حول الموظفين.

الإستعلام

SELECT * FROM employees;
SELECT * FROM employees;

سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

id first_name last_name is_married salary birthday
1 Ahmad Alhazem 0 800.00 1990-10-23
2 Rami Algharib 0 750.00 1992-05-08
3 Said Alnaja 1 900.00 1988-07-12
4 Noura Jamali 0 845.00 1994-12-04
5 Amani Sarrouf 1 1000.00 1991-10-27
6 Mhamad Harmush 0 700.00 1993-11-12
7 Ahmad Asaadi 1 850.00 1995-03-10
8 Mostafa Shawki 1 920.00 1990-02-14
9 Jana Alkassem 0 780.00 1991-08-12
10 Houssam Zahrani 1 880.00 1985-09-20

تحديد أسماء الحقول التي سيتم جلبها من الجدول

قم بتنفيذ الإستعلام التالي لجلب جميع البيانات الموجودة في الحقول first_name و last_name و salary.
إذاً هذا الإستعلام يعرض أسماء جميع الموظفين و رواتبهم.

الإستعلام

SELECT first_name, last_name, salary
FROM employees;
SELECT first_name, last_name, salary FROM employees;

سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

first_name last_name salary
Ahmad Alhazem 800.00
Rami Algharib 750.00
Said Alnaja 900.00
Noura Jamali 845.00
Amani Sarrouf 1000.00
Mhamad Harmush 700.00
Ahmad Asaadi 850.00
Mostafa Shawki 920.00
Jana Alkassem 780.00
Houssam Zahrani 880.00

تغيير أسماء الأعمدة عند جلبها من الجدول

لتبديل إسم أي جدول سيتم إرجاعه في النتيجة نضع الكلمة AS بعد إسم أي جدول نريد تبديله و من ثم نضع الكلمة التي سيتم تبديل إسم الجدول بها.
ملاحظة: هناك عدة طرق للتعامل مع الكلمة AS و لكننا سنتطرق لبعضها فقط لأنها ليست موضوع الدرس.


مثال

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

  • إسم العمود first_name قمنا بتبديله إلى First Name
  • إسم العمود last_name قمنا بتبديله إلى Last Name
  • إسم العمود salary قمنا بتبديله إلى Salary

الإستعلام

SELECT first_name AS 'First Name', last_name AS 'Last Name', salary AS 'Salary'
FROM employees;
SELECT first_name AS 'First Name', last_name AS 'Last Name', salary AS 'Salary' FROM employees;

سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

First Name Last Name Salary
Ahmad Alhazem 800.00
Rami Algharib 750.00
Said Alnaja 900.00
Noura Jamali 845.00
Amani Sarrouf 1000.00
Mhamad Harmush 700.00
Ahmad Asaadi 850.00
Mostafa Shawki 920.00
Jana Alkassem 780.00
Houssam Zahrani 880.00