مقدمة في MySQL: قاعدة بيانات المواقع
إذا كنت تتعلم PHP أو تبني موقعاً بـ WordPress، فستقابل MySQL حتماً. فهي قاعدة البيانات التي تحفظ مقالات المواقع، وحسابات المستخدمين، وطلبات المتاجر. في هذا الدرس ستتعرف على MySQL، وعلاقتها بلغة SQL، وستنشئ أول قاعدة بيانات بنفسك.
ما هو نظام إدارة قواعد البيانات؟
Section titled “ما هو نظام إدارة قواعد البيانات؟”في كورس SQL تعلمت أن البيانات تُحفظ في جداول، وأن SQL هي اللغة التي نتعامل بها معها. لكن من الذي يحفظ البيانات فعلاً، وينفّذ أوامرك؟ إنه نظام إدارة قواعد البيانات (DBMS): برنامج يعمل على الخادم، ويستقبل أوامر SQL، وينفّذها على البيانات.
و MySQL واحد من هذه الأنظمة، وأشهرها في عالم المواقع.
تخيّل SQL مثل لغة تتحدث بها، و MySQL مثل أمين المكتبة الذي يفهم هذه اللغة: تطلب منه كتاباً بلغة واضحة، فيذهب إلى الرفوف ويحضره لك، ويرتب الكتب الجديدة في أماكنها، ويمنع من لا يملك تصريحاً من دخول المخزن.
لماذا MySQL؟
Section titled “لماذا MySQL؟”- مجانية ومفتوحة المصدر: يمكنك استخدامها في مشاريعك دون تكلفة.
- منتشرة جداً: ظهرت عام 1995، وتعتمد عليها ملايين المواقع ومنصات مثل WordPress.
- صديقة لـ PHP: الثنائي PHP و MySQL من أشهر التركيبات في تطوير الويب. وتُعرف الحزمة الكاملة باسم LAMP: لينكس (Linux)، وخادم Apache، وقاعدة MySQL، ولغة PHP.
- مدعومة في كل استضافة تقريباً: أي خطة استضافة مواقع ستجد فيها MySQL جاهزة.
- سريعة وموثوقة: تتعامل بكفاءة مع كميات كبيرة من البيانات.
وتملكها اليوم شركة Oracle. وتوجد نسخة شقيقة مفتوحة المصدر بالكامل اسمها MariaDB، متوافقة معها بدرجة كبيرة.
طريقة عمل MySQL: الخادم والعميل
Section titled “طريقة عمل MySQL: الخادم والعميل”MySQL تعمل بنظام الخادم والعميل (Client-Server):
- خادم MySQL (Server): البرنامج الذي يحفظ البيانات ويعمل في الخلفية دائماً.
- العميل (Client): أي برنامج يتصل بالخادم ويرسل له الأوامر. قد يكون سطر الأوامر، أو برنامجاً رسومياً، أو كود PHP في موقعك.
مثل المطعم مرة أخرى: المطبخ (الخادم) يعمل طوال الوقت، والزبائن (العملاء) يرسلون طلباتهم عبر النادل.
تثبيت MySQL
Section titled “تثبيت MySQL”أسهل طريقة للبداية على ويندوز هي حزمة XAMPP المجانية، التي تضم MySQL (في صورة MariaDB) مع PHP وخادم Apache:
- نزّل XAMPP من موقعه الرسمي وثبّته.
- افتح لوحة التحكم، واضغط Start بجانب MySQL.
- للتعامل مع البيانات بواجهة رسومية، شغّل Apache أيضاً، ثم افتح المتصفح على
http://localhost/phpmyadmin.
ولمن يريد MySQL الأصلية، يمكن تنزيلها من الموقع الرسمي mysql.com، ومعها برنامج MySQL Workbench الرسومي.
أول قاعدة بيانات
Section titled “أول قاعدة بيانات”افتح تبويب SQL في phpMyAdmin، أو سطر أوامر MySQL، ونفّذ:
CREATE DATABASE school;هذا الأمر ينشئ قاعدة بيانات جديدة فارغة اسمها school. وفي سطر الأوامر سترى رسالة تأكيد مثل:
Query OK, 1 row affectedلعرض كل قواعد البيانات الموجودة:
SHOW DATABASES;ستظهر قائمة فيها school التي أنشأتها، بالإضافة إلى قواعد بيانات خاصة بالنظام نفسه مثل mysql و information_schema. لا تعدّل قواعد النظام هذه أبداً.
ولكي تعمل داخل قاعدة بياناتك، اخترها:
USE school;الآن كل الأوامر التالية ستُنفَّذ داخل school. وفي الدرس القادم سننشئ فيها أول جدول.
لمحة عن الاتصال من PHP
Section titled “لمحة عن الاتصال من PHP”لتأخذ فكرة عن طريقة استخدام MySQL في المواقع، هذا شكل اتصال بسيط من كود PHP:
<?php$pdo = new PDO("mysql:host=localhost;dbname=school", "root", "");echo "تم الاتصال بقاعدة البيانات!";لا تقلق من التفاصيل الآن. ستتعلم هذا في كورس PHP عند درس «الاتصال بقاعدة بيانات».
جرّب بنفسك
Section titled “جرّب بنفسك”- ثبّت XAMPP وشغّل MySQL.
- أنشئ قاعدة بيانات باسم
my_store. - اعرض قواعد البيانات وتأكد أنها موجودة.
- اخترها بأمر
USE. - تحدٍّ: ابحث عن الأمر الذي يحذف قاعدة بيانات (لا تنفّذه على قاعدة مهمة!).
أخطاء شائعة
Section titled “أخطاء شائعة”- نسيان تشغيل خادم MySQL: رسالة مثل
Can't connect to MySQL serverتعني أن الخادم متوقف. شغّله من لوحة التحكم. - إنشاء قاعدة موجودة بالفعل: يظهر خطأ
database exists. استخدم اسماً جديداً، أو اكتبCREATE DATABASE IF NOT EXISTS school;. - نسيان USE: إذا أنشأت جدولاً دون اختيار قاعدة بيانات، يظهر خطأ
No database selected.
اختبر نفسك
Section titled “اختبر نفسك”سؤال
ما العلاقة بين SQL و MySQL؟
SQL هي اللغة القياسية، و MySQL نظام إدارة قواعد بيانات يستقبل أوامر SQL وينفّذها.
سؤال
ما الأمر الذي تختار به قاعدة بيانات لتعمل داخلها؟
USE تحدد قاعدة البيانات التي ستُنفَّذ عليها الأوامر التالية.
الخلاصة
Section titled “الخلاصة”- MySQL نظام إدارة قواعد بيانات مجاني ومنتشر جداً، خصوصاً مع PHP و WordPress.
- SQL هي اللغة، و MySQL هو النظام الذي ينفّذ أوامرها.
- تعمل بنظام الخادم والعميل، وأسهل تثبيت للمبتدئين عبر XAMPP.
CREATE DATABASEتنشئ قاعدة، وSHOW DATABASESتعرضها، وUSEتختارها.- لا تعدّل قواعد بيانات النظام، واستخدم كلمات مرور قوية على الخوادم الحقيقية.