دورة MySQL للمبتدئين

5: التعديل على الجداول – دورة MySQL

السلام عليكم و رحمة الله و بركاته

في الدرس السابق، تعرفنا على طرق بناء قاعدة بيانات و إنشاء جدول.

أما في هذا الدرس، فسنتعرف على كيفية التعديل على الجداول.

يمكن التعديل على الجداول باستعمال الكلمة المفتاحية ALTER، و يمكن استعمالها من أجل تنفيذ تعديلات مختلفة.

لنأخذ الجدول التالي كمثال :

CREATE TABLE Example (	id 			INT AUTO_INCREMENT PRIMARY KEY,
						firstname 	VARCHAR(20)
                        );

إضافة عمود جديد

من أجل إضافة عمود جديد نستعمل السياق التالي:

ALTER TABLE اسم_الجدول
ADD COLUMN وصف_العمود اسم_العمود;

بحيث:

  • ALTER TABLE : هو الأمر الذي يسمح لنا بإجراء تغييرات على الجدول
  • اسم الجدول : يجب كتابة اسم الجدول المراد إجراء التغييرات عليه هنا
  • ADD : الكلمة المفتاحية التي تدل على إضافة العمود
  • COLUMN : حددنا بعد الكلمة ADD ما نريد إضافته و هو العمود Column، و لكن حتى لو لم نكتب Column بعد ADD ، فإن MySQL تعتبر بشكل اوتوماتيكي بأن ما نريد إضافته هو عمود. لذا فكتابة COLUMN بعد ADD تعتبر خيارية و ليست إجبارية.
  • اسم_العمود : الاسم الخاص بالعمود المراد إضافته
  • وصف_العمود : وصف نوع العمود، مثلا: DATETIME NOT NULL

لنقم بتطبيق هذا الكود على الجدول السابق:

ALTER TABLE Example
ADD COLUMN age INT NOT NULL;

إذا فالعمود الذي قمنا بإضافته هو العمود الخاص بالعمر age ذو النوع INT NOT NULL.

حذف عمود معين

من أجل حذف عمود معين من جدول ما، نستعمل الكود التالي:

ALTER TABLE اسم_الجدول 
DROP COLUMN اسم_العمود ; 

عوض كتابة ADD (إضافة)، نكتب DROP (إزالة)، و بعدها نكتب اسم العمود الذي نرغب في إزالته.

ALTER TABLE Example
DROP COLUMN age; 

التعديل على عمود معين

– تغيير اسم العمود

من أجل تغيير اسم العمود، نستعمل الكود التالي:

ALTER TABLE اسم_الجدول 
CHANGE وصف_العمود الاسم_الجديد الاسم_القديم;

يجب احترام هذا الترتيب، كما يجب إعادة كتابة وصف العمود كما هو، حتى لا يتغير هو الآخر مما قد يؤدي إلى نتائج غير مرغوب فيها فيما بعد، كنسيان إضافة NOT NULL مثلا في عمود لا بد من أن تتواجد فيه جميع البيانات.

مثلا نريد تغيير اسم العمود من firstname إلى customer:

ALTER TABLE Example 
CHANGE firstname customer VARCHAR(20);

– تغيير نوع العمود

من أجل تغيير نوع العمود، يمكن استعمال طريقتين:

– – باستعمال CHANGE

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

و بهذا، يمكن تغيير اسم و نوع العمود أيضا :

ALTER TABLE اسم_الجدول 
CHANGE الوصف_الجديد الاسم_الجديد الاسم_القديم;

مثال:

ALTER TABLE Example
CHANGE id register_number MEDIUMINT AUTO_INCREMENT PRIMARY KEY;

أما إذا رغبنا في تغيير النوع فقط باستعمال CHANGE، يكفي كتابة نفس اسم العمود مرتين:

ALTER TABLE Example
CHANGE register_number register_number BIGINT AUTO_INCREMENT PRIMARY KEY;

– – باستعمال MODIFY

يمكن تغيير نوع العمود فقط باستعمال الكلمة المفتاحية MODIFY، و يتم استخدامها كالتالي:

ALTER TABLE اسم_الجدول
MODIFY اسم_العمود الوصف_الجديد;

مثال:

ALTER TABLE Example 
MODIFY customer VARCHAR(30) NOT NULL;

تغيير اسم الجدول

من أجل تغيير اسم الجدول، توجد طريقتان ممكنتان:

– باستعمال RENAME TO

نستعمل الكود التالي:

RENAME TABLE اسم_الجدول_القديم TO اسم_الجدول_الجديد;

لنطبق ذلك على مثالنا:

RENAME TABLE Example TO Customer_Table;

– باستعمال ALTER TABLE

نستعمل الكود التالي:

ALTER TABLE اسم_الجدول_القديم RENAME TO اسم_الجدول_الجديد;

لنطبق ذلك على مثالنا:

ALTER TABLE Customer_Table RENAME TO Customer_Data;

نقل الجدول إلى قاعدة بيانات أخرى

من أجل نقل جدول معين إلى قاعدة بيانات أخرى، نستعمل الكود التالي:

RENAME TABLE اسم_الجدول.قاعدة_البيانات_السابقة 
TO اسم_الجدول.قاعدة_البيانات_الجديدة;

مثال:

لننقل الجدول Customer_Data (بعد تغيير اسمه) إلى قاعدة بيانات أخرى قد نسميها Archives:

RENAME TABLE Transactions.Customer_Data TO Archives.Customer_Data;

و بهذا ستيم نقل الجدول Customer_Data من قاعدة البيانات Transactions إلى قاعدة بيانات أخرى هي Archives.

السابق
4: بناء أول قاعدة بيانات – دورة MySQL
التالي
6: INSERT Statement – دورة MySQL

شاركنا برأيك