40- كورس شرح قواعد البيانات MYSQL – MySQL Alter Table

شرح مفصل لـ MySQL Alter Table

يعتبر MySQL أحد أنظمة إدارة قواعد البيانات العلائقية الشائعة، والذي يُستخدم بشكل واسع في تطوير التطبيقات. ومن بين الأوامر الأساسية في MySQL يأتي أمر `ALTER TABLE` الذي يُستخدم لتعديل بنية الجداول الموجودة في قاعدة البيانات.

استخدامات أمر ALTER TABLE

يُستخدم أمر `ALTER TABLE` في MySQL لإجراء تغييرات مختلفة على الجداول. وفيما يلي بعض الاستخدامات الشائعة لهذا الأمر:

1. **إضافة عمود جديد**:
يمكنك استخدام `ALTER TABLE` لإضافة عمود جديد إلى جدول موجود. على سبيل المثال، إذا كان لديك جدول باسم `employees` وتريد إضافة عمود جديد باسم `email`، يمكنك تنفيذ الأمر التالي:

ALTER TABLE employees ADD COLUMN email VARCHAR(100);
   

2. **حذف عمود**:
إذا لم تعد بحاجة إلى عمود معين في جدول، يمكنك حذفه باستخدام `ALTER TABLE`. على سبيل المثال، لحذف العمود `email` من جدول `employees`:

ALTER TABLE employees DROP COLUMN email;
   

3. **تعديل نوع البيانات لعمود**:
قد تحتاج إلى تغيير نوع البيانات المخزن في عمود معين. على سبيل المثال، إذا كنت تريد [شركة برمجة مصرية] تغيير نوع العمود `salary` من `INT` إلى `DECIMAL`، يمكنك استخدام:

ALTER TABLE employees MODIFY COLUMN salary DECIMAL(10, 2);
   

4. **إعادة تسمية عمود**:
يمكن أيضًا استخدام `ALTER TABLE` لإعادة تسمية عمود. على سبيل المثال، لتغيير اسم العمود `name` إلى `full_name`:

ALTER TABLE employees CHANGE COLUMN name full_name VARCHAR(100);
   

5. **إضافة قيود**:
يمكنك إضافة قيود مثل `UNIQUE` أو `FOREIGN KEY` باستخدام `ALTER TABLE`. على سبيل المثال، لإضافة قيد `UNIQUE` إلى العمود `email`:

ALTER TABLE employees ADD CONSTRAINT unique_email UNIQUE (email);
   

6. **إعادة تسمية الجدول**:
إذا كنت بحاجة إلى تغيير اسم الجدول نفسه، يمكنك القيام بذلك باستخدام:

ALTER TABLE employees RENAME TO staff;
   

أمثلة توضيحية

لنلقِ نظرة على بعض الحالات العملية لاستخدام `ALTER TABLE`:

– **إضافة عمود متعدد**:
إذا كنت بحاجة إلى إضافة أكثر من عمود في نفس الوقت، يمكنك تنفيذ:

ALTER TABLE employees ADD COLUMN phone VARCHAR(15), ADD COLUMN address VARCHAR(255);
  

– **حذف وإضافة قيود**:
لنفترض أنك تريد حذف قيد `UNIQUE` من العمود `email` وإضافة قيد `NOT NULL`:

ALTER TABLE employees DROP INDEX unique_email;
  ALTER TABLE employees MODIFY COLUMN email VARCHAR(100) NOT NULL;
  

– **دمج العمليات**:
يمكنك دمج عمليات متعددة في أمر واحد. على سبيل المثال:

ALTER TABLE employees
  ADD COLUMN department_id INT,
  DROP COLUMN address,
  MODIFY COLUMN phone VARCHAR(20);
  

الخاتمة

يُعد أمر `ALTER TABLE` أداة قوية ومرنة في MySQL تمكنك من إدارة بنية قاعدة البيانات بكفاءة. من خلال القدرة على إضافة وتعديل وحذف الأعمدة والقيود، يمكنك الحفاظ على جداول قاعدة البيانات [شركة برمجة مصرية] الخاصة بك محدثة لتلبية احتياجات تطبيقاتك المتغيرة. تأكد دائمًا من تنفيذ نسخ احتياطية قبل إجراء تغييرات كبيرة لتجنب فقدان البيانات.