شرح إنشاء قاعدة بيانات MySQL

الادارة كريم

مشرف سابق
مجموعة الاعضاء

نستطيع في PHP إنشاء قاعدة بيانات جديدة في MySQL بإستخدام جملة CREATE DATABASE عند بناء جملة SQL.
ملاحظة: عند بناء جملة SQL مهم جدا تحديد نوع الترميز الإفتراضي لقاعدة البيانات التي نرغب بإنشائها ؛ فهي مهمة لدعم اللغة العربية ويجب ان يكون الترميز من نوع utf-8 بتحديد الترميز الإفتراضي جميع الجداول والتي سوف تقوم بانشائها بقاعدة البيانات سوف تدعم تخزين البيانات باللغة العربية سوف نستخدم DEFAULT CHARACTER SET utf8 و DEFAULT COLLATE utf8_general_ci عند بناء جملة SQL لتحديد نوع الترميز.
ملاحظة: عند الإتصال بقاعدة البيانات ، و نرغب بإنشاء أو حذف قاعدة بيانات نحتاج إلى صلاحيات خاصة للإنشاء أو الحذف تسمى CREATE privileges ، اذا كنت تستخدم سيرفر محلي فغالب الضن انك سوف تستخدم المستخدم root ، و الذي لديه صلاحية كاملة لجميع قواعد البيانات ، و لكن اذا كنت على استضافة تاكد من انشاء مستخدم جديد وربطه بقاعدة البيانات بالصلاحيات المطلوبة لتنفيذ مختلف المهام.
إنشاء قاعدة بيانات MySQL:
في هذه الأمثلة سنقوم بإنشاء قاعدة بيانات جديدة باسم new-DB ، و سوف نستخدم هذه القاعدة في جميع دروس السلسلة لنوضح طرق التعامل مع قواعد البيانات.
مثال على MySQLi Object-Oriented:
<?php $servername = "localhost"; $username = "root"; $password = "root"; // إجراء الإتصال $conn = new mysqli($servername, $username, $password); // التحقق من الإتصال if ($conn->connect_error) { die("فشل الإتصال: " . $conn->connect_error); } // إنشاء قاعدة البيانات $sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci"; if ($conn->query($sql) === TRUE) { echo "تم إنشاء قاعدة البيانات بنجاح"; } else { echo "فشل إنشاء قاعدة البيانات: " . $conn->error; } // إغلاق الإتصال $conn->close();
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا conn->query$ لتنفيذ عملية الإستعلام بقاعدة البيانات بداخل دالة الشرط if ، و في حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، و العكس في حالة الفشل سوف يتم طباعة رسالة بفشل العملية مع عرض الخطأ باستخدام conn->error$ ثم قمنا بإغلاق الإتصال بقاعدة البيانات بواسطة conn->close$ .
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
create-db.png.63b87d28cea88dc3b7353e619dabca3e.png
مثال على MySQLi Procedural:
<?php $servername = "localhost"; $username = "root"; $password = "root"; // إجراء الإتصال $conn = mysqli_connect($servername, $username, $password); // التحقق من الإتصال if (!$conn) { die("فشل الإتصال: " . mysqli_connect_error()); } // إنشاء قاعدة البيانات $sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci"; if (mysqli_query($conn, $sql)) { echo "تم إنشاء قاعدة البيانات بنجاح"; } else { echo "فشل إنشاء قاعدة البيانات: " . mysqli_error($conn); } // إغلاق الإتصال mysqli_close($conn);
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا الدالة mysql_query لتنفيذ عملية الإستعلام بقاعدة البيانات بداخل دالة الشرط if ، و في حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، و العكس في حالة الفشل سوف يتم طباعة رسالة بفشل العملية مع عرض الخطأ باستخدام الدالة mysql_error ثم قمنا بإغلاق الإتصال بقاعدة البيانات بواسطة الدالة mysql_close.
ملاحظة: عند إستخدام MySQLi لإنشاء قاعدة بيانات جديدة يجب ان تقوم بإدخال أول ٣ مدخلات فقط وهم عبارة عن عنوان السيرفر ، اسم المستخدم ، الرقم السري فقط
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
create-db.png.63b87d28cea88dc3b7353e619dabca3e.png
مثال على PDO:
<?php $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "3alampro-mysql"; try { // إجراء الإتصال $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // تعديل نوع معالج الأخطاء $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // إنشاء قاعدة البيانات $sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci"; // لتنفيذ الإستعلام لانه لن يكون هناك نتائج من عملية التنفيذ exec() نستخدم $conn->exec($sql); echo "تم إنشاء قاعدة البيانات بنجاح<br>"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } // إغلاق الإتصال $conn = null;​
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا conn->exec$ لتنفيذ عملية الإستعلام بقاعدة البيانات وفي حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، لاحظ ايضا اننا قمنا بتنفيذ الكود داخل {}try{} catch ، بحيث انه سوف يتم تنفيذ محتوى try بالكامل ، و لكن في حالة وجود اي خطأ بالتنفيذ سوف يتم ايقاف عمل الكود وتعمل catch بالقبض على الخطا وعرضه بواسطة e->getMessage جدا مفيدة للتعامل مع الأخطاء في البرمجة الكائنية ، و تدعمها PDO بشكل كامل.
ملاحظة: على عكس MySQLi ، عند إستخدام PDO لإنشاء قاعدة بيانات جديدة يجب ان تقوم بتحديد إسم قاعدة بيانات فعالة ، وقابلة للإتصال بالإضافة الى عنوان السيرفر ، واسم المستخدم ، و الرقم السري؛ ليتم الإتصال بدون مشاكل ، وبعدها تستطيع إنشاء قاعدة بيانات جديدة ، في هذا المثال انا قمت مسبقا بانشاء قاعدة بيانات 3alampro-mysql ، و استخدامها بهذا المثال لتوضيح طريقة تنفيذ هذا النوع من العمليات.
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
create-db.png.63b87d28cea88dc3b7353e619dabca3e.png
 

admin

عضو إداري
ادارة المنتدى

موفق ياغالى ابداع كبير
تقبل مروري

 

أعلى