الأمر CREATE DATABASE
الأمر CREATE DATABASE يستخدم لإنشاء قاعدة بيانات جديدة.
و هنا نود التنبيه أنك لا تستطيع إنشاء أكثر من قاعدة بيانات بنفس الإسم.
الشكل العام لإستخدامه
CREATE DATABASE db_name;
مكان الكلمة db_name نضع الإسم الذي سيتم إعطاؤه لقاعدة البيانات.
إنشاء قاعدة بيانات جديدة
الإستعلام التالي ينشئ قاعدة بيانات جديدة إسمها harmash.
ملاحظة: لا داعي لأن تقوم بتحديد أي قاعدة بيانات قبل تنفيذ هذا الأمر لأنك في الأساس تنوي إنشاء قاعدة بيانات جديدة و ليس التعامل مع قاعدة بيانات موجودة مسبقاً.
الإستعلام
CREATE DATABASE harmash;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة بيانات جديدة إسمها harmash و ستظهر أمامك في القائمة اليسرى التي تظهر فيها جميع قواعد البيانات كالتالي.
محاولة إنشاء قاعدة بيانات موجودة أصلاً
في حال حاولت إنشاء قاعدة بيانات جديدة و كان هناك قاعدة بيانات أخرى عندها نفس الإسم الذي تريد استخدامه, سيظهر لك الخطأ التالي عند تنفيذ الإستعلام.
قم بمحاولة إعادة إنشاء قاعدة البيانات السابقة, أي قم بإعادة تنفيذ الإستعلام التالي.
الإستعلام
CREATE DATABASE harmash;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيظهر لك خطأ كالتالي.
هذا الخطأ يعني أنه لا يمكنك إنشاء قاعدة بيانات جديدة إسمها harmash لأنه يوجد في الأصل قاعدة بيانات إسمها harmash.
طريقة التأكد من أن قاعدة البيانات المراد إنشاءها غير موجودة في الأساس
إذا أردت إنشاء قاعدة بيانات فقط في حال كانت غير موجودة أصلاً و تجنب ظهور الخطأ Can't create database; database exists يمكنك إضافة جملة IF NOT EXISTS قبل إسم قاعدة البيانات التي تريد إنشاءها كالتالي.
CREATE DATABASE IF NOT EXISTS db_name;
الإستعلام التالي ينشئ قاعدة بيانات جديدة إسمها harmash في حال لم يكن هناك قاعدة بيانات أصلاً بهذا الإسم.
الإستعلام
CREATE DATABASE IF NOT EXISTS harmash;
بعد تنفيذ الإستعلام السابق في phpMyAdmin لن يتم إنشاء قاعدة بيانات جديدة إسمها harmash أو حذف قاعدة البيانات التي إسمها harmash و إنشاء واحدة جديدة.
ما سيحدث فقط هو أنه سيتم تجاهل تنفيذ أمر إنشاء قاعدة البيانات و لن يظهر أي خطأ في نتيجة الإستعلام كما حدث سابقاً.
الطريقة الأفضل لإنشاء قاعدة بيانات
دائماً أكتب الأمر CREATE DATABASE IF NOT EXISTS عند محاولة إنشاء قاعدة بيانات حتى تتجنب ظهور أي خطأ في الإستعلام.
أي أخطاء تتوقع حدوثها عند محاولة تنفيذ الإستعلامات, حاول تجنبها حتى و إن تطلب منك ذلك عملاً إضافياً لأنك في النهاية ستكتب الأوامر بشكل إحترافي و آمن.
الأمر DROP DATABASE
الأمر DROP DATABASE يستخدم لحذف قاعدة البيانات بشكل نهائي.
عند حذف قاعدة بيانات, لا يمكن العودة و التراجع عن هذه الخطوة لذا كن حذر جداً عند استخدام هذا الأمر.
الشكل العام لإستخدامه
DROP DATABASE db_name;
مكان الكلمة db_name نضع إسم قاعدة البيانات التي نريد حذفها.
حذف قاعدة البيانات
في البداية, تذكر أننا في الدرس السابق قمنا بإنشاء قاعدة بيانات إسمها harmash كما يظهر في الصورة التالية.
الإستعلام التالي يحذف قاعدة البيانات harmash.
ملاحظة: لا داعي لأن تقوم بتحديد قاعدة البيانات التي تنوي حذفها قبل تنفيذ هذا الأمر لأنك في الأساس تنوي حذف قاعدة البيانات و ليس التعامل معها أو التعديل عليها.
الإستعلام
DROP DATABASE harmash;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم حذف قاعدة البيانات harmash و ستختفي من القائمة اليسرى التي تظهر فيها جميع قواعد البيانات كالتالي.
محاولة حذف قاعدة بيانات غير موجودة أصلاً
في حال حاولت حذف قاعدة بيانات و لم تكن قاعدة البيانات موجودة أصلاً أو أن أنك قمت بمسحها سابقاً و نسيت أنك فعلت ذلك, سيظهر لك الخطأ التالي عند تنفيذ الإستعلام.
قم بمحاولة إعادة حذف قاعدة البيانات السابقة, أي قم بإعادة تنفيذ الإستعلام التالي.
الإستعلام
DROP DATABASE harmash;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيظهر لك خطأ كالتالي.
هذا الخطأ يعني أنه لا يمكنك حذف قاعدة بيانات إسمها harmash لأنه لا يوجد في الأصل قاعدة بيانات إسمها harmash.
طريقة التأكد من أن قاعدة البيانات المراد حذفها موجودة في الأساس
إذا أردت حذف قاعدة بيانات فقط في حال كانت موجودة و تجنب ظهور الخطأ can't drop database; database exists يمكنك إضافة جملة IF EXIST قبل إسم قاعدة البيانات التي تريد حذفها كالتالي.
DROP DATABASE IF EXISTS db_name;
الإستعلام التالي يحذف قاعدة بيانات إسمها harmash في حال كان هناك قاعدة بيانات أصلاً بهذا الإسم.
الإستعلام
DROP DATABASE IF EXISTS harmash;
بما أننا قمنا سابقاً بحذف قاعدة البيانات harmash, فالبمنطق لا يمكن حذفها من جديد لأنها أصلاً لم تعد موجودة.
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم تجاهل تنفيذ أمر حذف قاعدة البيانات و لن يظهر أي خطأ في نتيجة الإستعلام كما حدث سابقاً.
الطريقة الأفضل لحذف قاعدة بيانات
دائماً أكتب الأمر DROP DATABASE IF EXISTS عند محاولة حذف قاعدة بيانات حتى تتجنب ظهور أي خطأ في الإستعلام.
أي أخطاء تتوقع حدوثها عند محاولة تنفيذ الإستعلامات, حاول تجنبها حتى و إن تطلب منك ذلك عملاً إضافياً لأنك في النهاية ستكتب الأوامر بشكل إحترافي و آمن.
تطبيق كل الأوامر السابقة في تمرين واحد
حتى الآن أنت تعلمت كيف تنشئ قاعدة بيانات جديدة و كيف تحذف قاعدة بيانات موجودة.
المطلوب
الآن, أكتب إستعلام يقوم بإنشاء قاعدة بيانات إسمها training ثم قم بتنفيذه حتى تتأكد أنه تم إنشاء قاعدة البيانات بنجاح.
بعدها أكتب إستعلام يقوم بحذف قاعدة البيانات training و تأكد أنه قد تم حذفها بنجاح و لم تعد تظهر مع قواعد البيانات الأخرى.
من فضلك لا تنتقل لدرس جديد قبل إنهاء هذا التمرين بنجاح, و في حال لم تعرف كيف تحل التمرين, قم بمراجعة الدروس السابقة.
أنواع البيانات التي يمكن تخزينها في قواعد البيانات
أي معلومة تنوي تخيزنها في قاعدة البيانات, يجب أن يكون لها نوع محدد و هذا النوع له ضوابط أيضاً, و إليك بعض الأمثلة:
إذا كنت تريد تخزين أسماء المستخدمين, يمكنك أن تحدد أن إسم المستخدم سيكون عبارة عن أحرف لا يتعدى عددها 30 حرف مثل
Ziad.إذا كنت تريد تخزين تواريخ ميلاد المستخدمين, يمكنك أن تحدد أن عمر المستخدم سيكون عبارة عن تاريخ له شكل فورمات معين مثل
10-1-2003.
من المهم جداً تحديد نوع المعلومة التي نريد تخزينها في قاعدة البيانات بشكل صحيح, لأن ذلك سيسهل عملية استردادها بالإضافة إلى تخزينها بشكل صحيح.
فمثلاً إذا قمت باعتماد النوع الصحيح لتواريخ ميلاد المستخدمين, يمكنك بكل سهولة حساب أعمار المستخدمين و ترتيبهم على حسب أعمارهم.
معلومة تقنية
أنواع البيانات التي يمكن تخزينها في قواعد البيانات عديدة و قد تختلف أسماءها من قاعدة بيانات لأخرى بالإضافة إلى قدرتها الإستيعابية.
هنا نود الإشارة أن هذا الإختلاف لن يشكل أي مشكلة لك لاحقاً في حال قررت استخدام نوع محدد من قواعد البيانات و لا داعي للقلق إطلاقاً حوله الآن, و حتى أنه لا يوجد داعي لأن تعرف جميع أنواع البيانات المتوفرة في قاعدة البيانات لأنك ببساطة لن تستخدم إلا ما تحتاجه منها و قد لا تعمل لسنوات و أنت لا تستخدم سوى 8 أنواع منها.
الجدول التالي يحتوي على أنواع البيانات الأكثر استخداماً و التي سنتعامل معها في هذه الدورة التي نستخدم فيها قواعد بيانات MySQL.
| النوع | دواعي الإستخدام |
|---|---|
| INT | يستخدم هذا النوع لتخزين أعداد صحيحة, أي أعداد لا تحتوي فاصلة عشرية. مثال: 123 |
| FLOAT | يستخدم هذا النوع لتخزين أعداد عشرية, أي أعداد تحتوي على فاصلة. مثال: 10.5 |
| DOUBLE | يستخدم هذا النوع لتخزين أعداد عشرية, أي أعداد تحتوي على فاصلة. مثال: 10.5هذا النوع هو تماماً كالنوع FLOAT و لكن قدرته الإستيعابية أكبر مع العلم أن كلاهما يسع أرقام كبيرة جداً. |
| DECIMAL | يستخدم هذا النوع لتخزين أي قيم مالية بالفورمات الذي نريده لأنه يضمن أن تتخزن في قاعدة البيانات كما تم حفظها بالضبط. مثال: إذا كان الفورمات الموضوع للتخزين هو (5,2) يمكن تخزين القيمة التالية فيه 15.49- العدد 2 معناه أن الرقم يمكن أن يحتوي على رقمين بعد الفاصلة.- العدد 5 معناه أن الرقم يمكن أن يحتوي على 5 أرقام كحد أقصى و بالتالي في حال وجود رقمين قبل الفاصلة فإنه يمكن وجود ثلاث أرقام بعد الفاصلة فقط.ملاحظة: في حال كان الفورمات الموضوع للتخزين هو (5,2) و كان الرقم المراد حفظه في قاعدة البيانات لا يحتوي على رقمين بعد الفاصلة أو لا يحتوي فاصلة أصلاً, سيتم إضافة صفرين بشكل تلقائي له.على سبيل المثال إذا قمت بإدخال القيمة 15 سيتم تخزينها 15.00 في قاعدة البيانات. |
| BOOLEAN | يستخدم هذا النوع لتخزين قيمة واحدة من أصل قيمتين هما 1 و 0.بشكل عام, القيمة 1 يقصد بها True و القيمة 0 يقصد بها False.مثال: 1 |
| VARCHAR | يستخدم هذا النوع لتخزين نصوص سواء كان هذا النص عبارة عن كلمة واحدة, جملة, أو مقال كبير. مثال: Welcome to harmash.com |
| DATE | يستخدم هذا النوع لتخزين التواريخ على الشكل التالي YYYY-MM-DD.مثال: 2020-01-24 |
متى نتعامل مع أنواع البيانات؟
أنواع البيانات تتعامل معها عند إنشاء أعمدة الجداول, عند تغيير أنوع أعمدة الجداول, و عند تعريف دوال.
في الدرس التالي ستبدأ بالتعامل مع هذه الأنواع.