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

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

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

الأمر CREATE TABLE

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


طريقة استخدامه

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, .... );
  • مكان الكلمة table_name نضع الإسم الذي سيتم إعطاؤه للجدول.
  • مكان كل كلمة column_name نضع إسم العمود الذي سيتم إنشاؤه في الجدول.
  • مكان كل كلمة datatype نضع نوع البيانات التي يمكن إدخالها في العمود.

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

قاعدة البيانات التي سنطبق عليها

في الدرس السابق قمنا بإنشاء قاعدة بيانات إسمها harmash، قم بتحديدها لأننا سنتعامل معها.

قاعدة البيانات التي سنطبق عليها

إنشاء جدول جديد في قاعدة البيانات

الإستعلام التالي ينشئ جدول جديد إسمه books يتألف من أربع أعمدة.

مثال

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 العمود الرابع إسمه );

النتيجة

0 row(s) affected

النتيجة تعني أنه تم تنفيذ الإستعلام بنجاح.


رؤية الجدول الذي تم إنشاؤه

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

الجدول الذي تم إنشاؤه


رؤية أعمدة الجدول

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

أسماء أعمدة الجدول


رؤية نوع بيانات الأعمدة

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

نوع بيانات الأعمدة


العودة لقسم SQL

في حال أردت الخروج من الجدول books و الرجوع للقسم الذي تكتب فيه أوامر SQL يمكنك النقر على إسم قاعدة البيانات و من ثم التوجه لقسم 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 );

النتيجة

Table 'books' already exists

النتيجة تعني أنه لا يمكن إنشاء الجدول لأنه موجود أساساً.


بعد تنفيذ الإستعلام السابق في phpMyAdmin سيظهر لك خطأ كالتالي.
هذا الخطأ يعني أنه لا يمكنك إنشاء جدول في قاعدة البيانات harmash إسمه 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 );

النتيجة

MySQL returned an empty result set (i.e. zero rows).

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


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

MySQL returned an empty result set (i.e. zero rows).

تطبيق كل الأوامر السابقة في تمرين واحد

حتى الآن أنت تعلمت كيف تنشئ قاعدة بيانات جديدة، كيف تحذف قاعدة بيانات موجودة و كيف تنشئ جدول جديد.


المطلوب

الآن، أكتب إستعلام يقوم بإنشاء قاعدة بيانات إسمها training ثم قم بتنفيذه حتى تتأكد أنه تم إنشاء قاعدة البيانات بنجاح.
بعدها أكتب إستعلام يقوم بإنشاء جدول إسمه users يتألف من 3 أعمدة كالتالي:

  • العمود الأول username VARCHAR(50)
  • العمود الثاني password VARCHAR(100)
  • العمود الثالث income DECIMAL(5,2)

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

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