الأمر CREATE TABLE
الأمر CREATE TABLE يستخدم لإنشاء جدول في قاعدة البيانات.
و هنا نود التنبيه أنك لا تستطيع إنشاء أكثر من جدول في قاعدة البيانات بنفس الإسم.
عند إنشاء جدول جديد يمكنك إنشاء جميع الأعمدة التي تريد وضعها فيه أيضاً.
إذا لم ترد إنشاء جميع الأعمدة لحظة إنشاء الجدول أو كنت لا تعرف بالضبط كم عامود تحتاج فيجب على الأقل أن تنشئ عامود واحد فيه.
الشكل العام لإستخدامه
في حال كنت ستنشئ عامود واحد فقط عند إنشاء الجدول فسيكون شكل الإستعلام كالتالي.
CREATE TABLE table_name (column_name datatype);
مكان الكلمة
table_nameنضع الإسم الذي سيتم إعطاؤه للجدول.مكان الكلمة
column_nameنضع إسم العامود الذي سيتم إنشاؤه في الجدول.مكان الكلمة
datatypeنضع نوع البيانات التي يمكن إدخالها في العامود.
في حال كنت ستنشئ أكثر من عامود عند إنشاء الجدول فسيكون شكل الإستعلام كالتالي.
CREATE TABLE table_name (
column_name_1 datatype,
column_name_2 datatype,
column_name_3 datatype,
....
);
هنا نقوم بكتابة الإستعلام على أكثر من سطر لأن التعامل معه هكذا أسهل.
بعد ذكر إسم و نوع كل عامود تريد وضعه ضع فاصلة إذا أردت إنشاء عامود آخر بعده.
قاعدة البيانات التي سنطبق عليها
في الدرس السابق قمنا بإنشاء قاعدة بيانات إسمها harmash, قم بتحديدها لأننا سنتعامل معها.
إنشاء جدول جديد في قاعدة البيانات
الإستعلام التالي ينشئ جدول جديد إسمه books يتألف من أربع أعمدة.
ملاحظة: يجب تحديد قاعدة البيانات التي تريد إنشاء جدول فيها - أي القاعدة harmash - قبل تنفيذ هذا الأمر لأنك في الأساس تنوي إنشاء الجدول فيها.
الإستعلام
CREATE TABLE books (
title VARCHAR(200), -- و يمكنه أن يحتوي على 200 حرف VARCHAR و نوع title العامود الأول إسمه
number_of_pages INT, -- أي يمكن وضع أرقام صحيحة فيه ,INT و نوع title العامود الثاني إسمه
author_name VARCHAR(50), -- و يمكنه أن يحتوي على 50 حرف VARCHAR و نوع title العامود الثالث إسمه
publishing_date DATE -- أي يمكن وضع تواريخ فيه فقط ,DATE و نوع title العامود الرابع إسمه
);
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء الجدول books في قاعدة البيانات التي قمت بتحديدها قبل تنفيذ الإستعلام.
إذا افترضنا أننا قمنا بإنشاء الجدول في قاعدة بيانات إسمها harmash سيظهر الجدول فيها كالتالي.
في حال أردت رؤية أسماء أعمدة الجدول books من نافذة phpMyAdmin يمكنك النقر على الرمز + الموضوع بجانب إسمها حتى يظهرهم لك.
في حال أردت رؤية معلومة مفصلة عن أعمدة الجدول books من نافذة phpMyAdmin يمكنك النقر على كلمة Columns الموضوع بجانب إسمها حتى يظهرهم لك.
هذه الصفحة تتيح لك رؤية كل تفاصيل أعمدة الجدول مع إمكانية إعادة تسميتها, تعديل أنواعها و حذفها إن أردت بدون كتابة أي أمر و لكن لا تهتم بهذه الأمور لأنك مهتم بتعلم كيف فعل كل شيء بواسطة أوامر SQL و ليس بواسطة phpMyAdmin.
في حال أردت الخروج من الجدول books و الرجوع للقسم الذي تكتب فيه أوامر SQL يمكنك النقر على إسم قاعدة البيانات و من ثم التوجه لقسم SQL كالتالي.
هذه الصفحة تتيح لك رؤية كل تفاصيل أعمدة الجدول مع إمكانية إعادة تسميتها, تعديل أنواعها و حذفها إن أردت بدون كتابة أي أمر و لكن لا تهتم بهذه الأمور لأنك مهتم بتعلم كيفية فعل كل شيء بواسطة أوامر SQL و ليس بواسطة phpMyAdmin.
محاولة إنشاء جدول موجود أصلاً في قاعدة البيانات
في حال حاولت إنشاء جدول و كان هناك جدول آخر في نفس قاعدة البيانات عنده نفس الإسم الذي تريد استخدامه, سيظهر لك الخطأ التالي عند تنفيذ الإستعلام.
قم بمحاولة إعادة إنشاء الجدول السابق في قاعدة البيانات, أي قم بإعادة تنفيذ الإستعلام التالي.
الإستعلام
CREATE TABLE books (
title VARCHAR(200),
number_of_pages INT,
author_name VARCHAR(50),
publishing_date DATE
);
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيظهر لك خطأ كالتالي.
هذا الخطأ يعني أنه لا يمكنك إنشاء جدول في قاعدة البيانات harmash إسمه books لأنه في الأصل يوجد فيها جدول إسمه books.
طريقة التأكد من أن الجدول المراد إنشاؤه غير موجود في الأساس
في حال أردت تنفيذ الإستعلام الذي يقضي بإنشاء جدول في قاعدة البيانات فقط في حال كان لا يوجد فيها جدول آخر عنده نفس الإسم و بالتالي تجنب ظهور الخطأ Table 'table_name' already exists يمكنك إضافة جملة IF NOT EXISTS قبل إسم الجدول الذي تريد إنشاؤه كالتالي.
CREATE TABLE IF NOT EXISTS table_name;
الإستعلام التالي ينشئ جدول جديد إسمه books في حال لم يكن هناك جدول آخر في نفس قاعدة البيانات بهذا الإسم.
الإستعلام
CREATE TABLE IF NOT EXISTS books (
title VARCHAR(200),
number_of_pages INT,
author_name VARCHAR(50),
publishing_date DATE
);
بعد تنفيذ الإستعلام السابق في phpMyAdmin لن يتم إنشاء جدول جديد إسمه books في قاعدة البيانات harmash أو حذف الجدول الذي إسمه books منها و إنشاء واحد جديد.
ما سيحدث فقط هو أنه سيتم تجاهل تنفيذ أمر إنشاء الجدول و لن يظهر أي خطأ في نتيجة الإستعلام كما حدث سابقاً.
تطبيق كل الأوامر السابقة في تمرين واحد
حتى الآن أنت تعلمت كيف تنشئ قاعدة بيانات جديدة, كيف تحذف قاعدة بيانات موجودة و كيف تنشئ جدول جديد.
المطلوب
الآن, أكتب إستعلام يقوم بإنشاء قاعدة بيانات إسمها training ثم قم بتنفيذه حتى تتأكد أنه تم إنشاء قاعدة البيانات بنجاح.
بعدها أكتب إستعلام يقوم بإنشاء جدول إسمه users يتألف من 3 أعمدة كالتالي:
العامود الأول
username VARCHAR(50)العامود االثاني
password VARCHAR(100)العامود الثالث
income DECIMAL(5,2)
بعدها أكتب إستعلام يقوم بحذف قاعدة البيانات training و تأكد أنه قد تم حذفها بنجاح و لم تعد تظهر مع قواعد البيانات الأخرى.
من فضلك لا تنتقل لدرس جديد قبل إنهاء هذا التمرين بنجاح, و في حال لم تعرف كيف تحل التمرين, قم بمراجعة الدروس السابقة.
الأمر DROP TABLE
الأمر DROP TABLE يستخدم لحذف جدول من قاعدة البيانات.
الشكل العام لإستخدامه
DROP TABLE table_name;
مكان الكلمة table_name نضع إسم الجدول الذي نريد حذفه.
قاعدة البيانات التي سنطبق عليها
سنتعامل مع قاعدة البيانات harmash و التي أنشأنا فيها جدول إسمه books في الدرس السابق كما يظهر في الصورة التالية.
حذف جدول من قاعدة البيانات
الإستعلام التالي يحذف الجدول books من قاعدة بيانات.
ملاحظة: يجب تحديد قاعدة البيانات التي تريد حذف جدول منها قبل تنفيذ هذا الأمر لأنك في الأساس تنوي حذف الجدول منها.
الإستعلام
DROP TABLE books;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم حذف الجدول books من قاعدة البيانات التي قمت بتحديدها قبل تنفيذ الإستعلام.
محاولة حذف جدول غير موجود أصلاً في قاعدة البيانات
في حال حاولت حذف جدول لم يكن موجود أصلاً في قاعدة البيانات, سيظهر لك الخطأ التالي عند تنفيذ الإستعلام.
قم بمحاولة إعادة حذف الجدول السابق في قاعدة البيانات, أي قم بإعادة تنفيذ الإستعلام التالي.
الإستعلام
DROP TABLE books;
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيظهر لك خطأ كالتالي.
هذا الخطأ يعني أنه لا يمكنك حذف جدول في قاعدة البيانات harmash إسمه books لأنه أصلاً غير موجود فيها.
طريقة التأكد من أن الجدول المراد حذفه موجود في الأساس
في حال أردت تنفيذ الإستعلام الذي يقضي بحذف جدول من قاعدة البيانات فقط في حال كان الجدول موجود فيها و بالتالي تجنب ظهور الخطأ Unknown table 'db_name.table_name' يمكنك إضافة جملة IF EXISTS قبل إسم الجدول الذي تريد حذفه كالتالي.
DROP TABLE IF EXISTS table_name;
الإستعلام التالي يحذف جدول إسمه books في حال كانت قاعدة البيانات في الأصل فيها جدول بهذا الإسم.
الإستعلام
DROP TABLE IF EXISTS books;
بما أننا قمنا سابقاً بحذف الجدول books من قاعدة البيانات harmash, فالبمنطق لا يمكن حذفه من جديد لأنه أصلاً لم يعد موجود.
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم تجاهل تنفيذ أمر حذف قاعدة البيانات و لن يظهر أي خطأ في نتيجة الإستعلام كما حدث سابقاً.
تطبيق كل الأوامر السابقة في تمرين واحد
حتى الآن أنت تعلمت كيف تنشئ قاعدة بيانات جديدة, كيف تحذف قاعدة بيانات موجودة, كيف تنشئ جدول جديد, و كيف تحذف جدول موجود.
المطلوب
الآن, أكتب إستعلام يقوم بإنشاء قاعدة بيانات إسمها training ثم قم بتنفيذه حتى تتأكد أنه تم إنشاء قاعدة البيانات بنجاح.
بعدها أكتب إستعلام يقوم بإنشاء جدول إسمه products يتألف من 5 أعمدة كالتالي:
العامود الأول
title VARCHAR(30)العامود االثاني
description VARCHAR(255)العامود الثالث
production_date DATEالعامود الرابع
expiry_date DATEالعامود الخامس
price DECIMAL(3,2)
بعدها أكتب إستعلام يقوم بحذف الجدول products و تأكد أنه قد تم حذفه بنجاح.
بعدها أكتب إستعلام يقوم بحذف قاعدة البيانات training و تأكد أنه قد تم حذفها بنجاح و لم تعد تظهر مع قواعد البيانات الأخرى.
من فضلك لا تنتقل لدرس جديد قبل إنهاء هذا التمرين بنجاح, و في حال لم تعرف كيف تحل التمرين, قم بمراجعة الدروس السابقة.

