Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

SQLأمر إنشاء جدول

  • الأمر CREATE TABLE
  • قاعدة البيانات التي سنطبق عليها
  • إنشاء جدول جديد في قاعدة البيانات
  • محاولة إنشاء جدول موجود أصلاً في قاعدة البيانات
  • طريقة التأكد من أن الجدول المراد إنشاؤه غير موجود في الأساس
  • تطبيق كل الأوامر السابقة في تمرين واحد

الأمر CREATE TABLE

الأمر CREATE TABLE يستخدم لإنشاء جدول في قاعدة البيانات.
و هنا نود التنبيه أنك لا تستطيع إنشاء أكثر من جدول في قاعدة البيانات بنفس الإسم.

عند إنشاء جدول جديد يمكنك إنشاء جميع الأعمدة التي تريد وضعها فيه أيضاً.
إذا لم ترد إنشاء جميع الأعمدة لحظة إنشاء الجدول أو كنت لا تعرف بالضبط كم عمود تحتاج فيجب على الأقل أن تنشئ عمود واحد فيه.


الشكل العام لإستخدامه

في حال كنت ستنشئ عمود واحد فقط عند إنشاء الجدول فسيكون شكل الإستعلام كالتالي.

CREATE TABLE table_name (column_name datatype);
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,
....
);
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 و نوعه number_of_pages العمود الثاني إسمه
author_name VARCHAR(50), -- و يمكنه أن يحتوي على 50 حرف VARCHAR و نوعه author_name العمود الثالث إسمه
publishing_date DATE -- أي يمكن وضع تواريخ فيه فقط ,DATE و نوعه publishing_date العمود الرابع إسمه
);
CREATE TABLE books ( title VARCHAR(200), -- و يمكنه أن يحتوي على 200 حرف VARCHAR و نوعه title العمود الأول إسمه number_of_pages INT, -- أي يمكن وضع أرقام صحيحة فيه ,INT و نوعه number_of_pages العمود الثاني إسمه author_name VARCHAR(50), -- و يمكنه أن يحتوي على 50 حرف VARCHAR و نوعه author_name العمود الثالث إسمه publishing_date DATE -- أي يمكن وضع تواريخ فيه فقط ,DATE و نوعه publishing_date العمود الرابع إسمه );

بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء الجدول books في قاعدة البيانات التي قمت بتحديدها قبل تنفيذ الإستعلام.
إذا افترضنا أننا قمنا بإنشاء الجدول في قاعدة بيانات إسمها harmash سيظهر الجدول فيها كالتالي.


في حال أردت رؤية أسماء أعمدة الجدول books من نافذة phpMyAdmin يمكنك النقر على الرمز + الموضوع بجانب إسمها حتى يظهرهم لك.


في حال أردت رؤية معلومة مفصلة عن أعمدة الجدول books من نافذة phpMyAdmin يمكنك النقر على كلمة Columns الموضوع بجانب إسمها حتى يظهرهم لك.
هذه الصفحة تتيح لك رؤية كل تفاصيل أعمدة الجدول مع إمكانية إعادة تسميتها, تعديل أنواعها و حذفها إن أردت بدون كتابة أي أمر و لكن لا تهتم بهذه الأمور لأنك مهتم بتعلم كيف فعل كل شيء بواسطة أوامر SQL و ليس بواسطة phpMyAdmin.


في حال أردت الخروج من الجدول books و الرجوع للقسم الذي تكتب فيه أوامر SQL يمكنك النقر على إسم قاعدة البيانات و من ثم التوجه لقسم SQL كالتالي.

محاولة إنشاء جدول موجود أصلاً في قاعدة البيانات

في حال حاولت إنشاء جدول و كان هناك جدول آخر في نفس قاعدة البيانات عنده نفس الإسم الذي تريد استخدامه, سيظهر لك الخطأ التالي عند تنفيذ الإستعلام.

Table 'table_name' already exists

قم بمحاولة إعادة إنشاء الجدول السابق في قاعدة البيانات, أي قم بإعادة تنفيذ الإستعلام التالي.

الإستعلام

CREATE TABLE books (
title VARCHAR(200),
number_of_pages INT,
author_name VARCHAR(50),
publishing_date DATE
);
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;
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
);
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 و تأكد أنه قد تم حذفها بنجاح و لم تعد تظهر مع قواعد البيانات الأخرى.

من فضلك لا تنتقل لدرس جديد قبل إنهاء هذا التمرين بنجاح, و في حال لم تعرف كيف تحل التمرين, قم بمراجعة الدروس السابقة.