**مقال: تمارين MySQL: دليل شامل للمبتدئين والمحترفين**
تعتبر MySQL من أكثر أنظمة إدارة قواعد البيانات شهرة واستخدامًا في العالم، وهي مفتوحة المصدر وقوية، مما يجعلها الخيار الأمثل للعديد من التطبيقات والمواقع الإلكترونية. من خلال هذا المقال، سنستعرض مجموعة من التمارين العملية في MySQL، والتي ستساعدك على تحسين مهاراتك سواء كنت مبتدئًا أو محترفًا.
مقدمة في MySQL
قبل أن نبدأ بالتمارين، دعونا نستعرض بعض المفاهيم الأساسية في MySQL. MySQL هو نظام إدارة قواعد بيانات علائقية (RDBMS) يستخدم لغة SQL (Structured Query Language) لإدارة البيانات. يتم استخدامه لتخزين واسترجاع البيانات في العديد من التطبيقات مثل أنظمة إدارة المحتوى، والتجارة الإلكترونية، وتحليل البيانات.
التمارين العملية في MySQL
التمرين الأول: إنشاء قاعدة بيانات وجداول
**المهمة:** إنشاء قاعدة بيانات باسم `School` وجدول باسم `Students` يحتوي على الأعمدة التالية: `ID`, `Name`, `Age`, و`Grade`.
-- إنشاء قاعدة [شركة برمجة مصرية] بيانات
CREATE DATABASE School;
-- استخدام قاعدة البيانات
USE School;
-- إنشاء جدول الطلاب
CREATE TABLE Students (
ID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100),
Age INT,
Grade VARCHAR(2)
);
التمرين الثاني: إدخال البيانات
**المهمة:** إدخال بعض السجلات في جدول `Students`.
-- إدخال البيانات
INSERT INTO Students (Name, Age, Grade) VALUES
('Alice', 14, 'A'),
('Bob', 15, 'B'),
('Charlie', 13, 'A');
التمرين الثالث: استرجاع البيانات
**المهمة:** استرجاع بيانات جميع الطلاب الذين حصلوا على الدرجة ‘A’.
-- استرجاع الطلاب الحاصلين على الدرجة 'A'
SELECT * FROM Students WHERE Grade = 'A';
التمرين الرابع: تحديث البيانات
**المهمة:** تحديث عمر الطالب الذي يحمل الاسم ‘Bob’ إلى 16.
-- [شركة برمجة مصرية] تحديث عمر الطالب Bob
UPDATE Students SET Age = 16 WHERE Name = 'Bob';
التمرين الخامس: حذف البيانات
**المهمة:** حذف السجل الخاص بالطالب الذي يحمل الاسم ‘Charlie’.
-- حذف السجل الخاص بالطالب Charlie
DELETE FROM Students WHERE Name = 'Charlie';
تمارين متقدمة
التمرين السادس: الانضمام بين الجداول
**المهمة:** إنشاء جدول جديد باسم `Courses` وتعبئته ببعض البيانات، ثم استخدام جملة JOIN لاسترجاع بيانات الطلاب مع الدورات التي التحقوا بها.
-- إنشاء جدول الدورات
CREATE TABLE Courses (
CourseID INT AUTO_INCREMENT PRIMARY KEY,
CourseName VARCHAR(100)
);
-- إدخال البيانات في جدول الدورات
INSERT INTO Courses (CourseName) VALUES
('Mathematics'),
('Science'),
('History');
-- إنشاء جدول يربط الطلاب بالدورات
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
FOREIGN KEY (StudentID) REFERENCES Students(ID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
-- إدخال البيانات في جدول الربط
INSERT INTO StudentCourses (StudentID, CourseID) VALUES
(1, 1),
(1, 2),
(2, 1);
-- استخدام جملة JOIN لاسترجاع بيانات الطلاب مع الدورات
SELECT Students.Name, Courses.CourseName
FROM Students
JOIN StudentCourses ON Students.ID = StudentCourses.StudentID
JOIN Courses ON Courses.CourseID = StudentCourses.CourseID;
الخاتمة
تعد ممارسة التمارين العملية في MySQL طريقة فعالة لتحسين مهاراتك وفهمك العميق لكيفية عمل قواعد البيانات. من خلال القيام بالتمارين المذكورة أعلاه، ستتمكن من التعامل مع العمليات الأساسية والمتقدمة في MySQL بكفاءة. تذكر أنه كلما زادت ممارستك، زادت قدرتك على حل المشكلات المعقدة في قواعد البيانات.
