SQLأمر تعديل بنية الجدول
- الأمر
ALTER
- تجهيز قاعدة البيانات التي سنطبق عليها
- طريقة حذف عمود من الجدول
- طريقة إضافة عمود جديد في الجدول
- طريقة تغيير نوع القيم التي يمكن تخزينها في العمود
- طريقة تغيير إسم الجدول
- طريقة تغيير إسم العمود
الأمر ALTER
الأمر ALTER يستخدم عند الحاجة لإجراء تعديل على بنية الجدول مثل تغيير إسم الجدول، تغيير إسم العمود، تغيير نوع العمود، حذف العمود، إضافة عمود جديد، إضافة خصائص على العمود، و إزالة خصائص من العمود.
كن حذراً عند إجراء أي تعديل على الجدول لأنك لا تستطيع التراجع عن أي تعديل أجريته على جدول.
طريقة استخدامه
- مكان الكلمة
table_name
نضع إسم الجدول الذي نريد إجراء تعديلات عليه. - مكان الكلمة operation نحدد ما نريد تعديله, حذفه, أو إضافته.
تجهيز قاعدة البيانات التي سنطبق عليها
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash
و تنشئ فيها جدول إسمه users
يحتوي على بيانات 5 مستخدمين.
مثال
فيما يلي البيانات التي قمنا بإضافتها في الجدول users
.
id | first_name | last_name | country |
---|---|---|---|
1 | Rami | Masri | Lebanon |
2 | Ahmad | Naji | Syria |
3 | Hanan | Mostafa | KSA |
4 | Abdullah | Helmi | Egypt |
5 | Majed | Alali | Yaman |
طريقة حذف عمود من الجدول
لحذف عمود من الجدول نكتب DROP COLUMN و من بعدها نحدد إسم العمود الذي نريد حذفه كما يلي.
الإستعلام التالي يقوم بحذف العمود country
من الجدول users
.
بعدها يعرض جميع البيانات الموجودة في الجدول.
مثال
النتيجة
id | first_name | last_name |
---|---|---|
1 | Rami | Masri |
2 | Ahmad | Naji |
3 | Hanan | Mostafa |
4 | Abdullah | Helmi |
5 | Majed | Alali |
نلاحظ أن العمود country
تم حذفه بشكل نهائي من الجدول.
طريقة إضافة عمود جديد في الجدول
لإضافة عمود جديد في الجدول نكتب ADD و من بعدها نحدد إسم و نوع العمود الذي نريد إضافته كما يلي.
الإستعلام التالي يقوم بإضافة عمود جديد في الجدول users
إسمه salary
و نوعه DOUBLE.
بعدها يعرض جميع البيانات الموجودة في الجدول.
مثال
النتيجة
id | first_name | last_name | salary |
---|---|---|---|
1 | Rami | Masri | NULL |
2 | Ahmad | Naji | NULL |
3 | Hanan | Mostafa | NULL |
4 | Abdullah | Helmi | NULL |
5 | Majed | Alali | NULL |
نلاحظ أنه تم إضافة عمود جديد إسمه salary
في آخر الجدول و جميع حقوله فارغة.
طريقة تغيير نوع القيم التي يمكن تخزينها في العمود
عند تحويل نوع بيانات أي عمود في الجدول عليك الإنتباه جيداً للأنواع التي تحول إليها لأنك قد تخسر القيم الموضوعة فيها أو قد تخسر جزء منها و إليك بعض الأمثلة:
- إذا كان العمود نوعه VARCHAR و قمت بتحويله للنوع INT سيتم تحويل كل القيم السابقة إلى Null لأنه بالمنطق لا يمكنك تحويل النص إلى عدد.
- إذا كان العمود نوعه DECIMAL أو DOUBLE أو FLOAT و قمت بتحويله للنوع INT ستخسر أي رقم موضوع بعد الفاصلة العشرية فقط لأن النوع INT يسمح بتخزين أعداد صحيحة فقط، أي لا يقبل أي رقم بعد الفاصلة.
الكلمة التي تضعها لتغيير نوع القيم التي يمكن تخزينها في العمود تختلف من قاعدة بيانات لأخرى و لكن شكل الإستعلام هو نفسه تماماً.
أسلوب قواعد بيانات Access و SQL Server
لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب ALTER مرة ثانية و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كما يلي.
أسلوب قواعد بيانات Oracle قبل الإصدار 10G
لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب MODIFY COLUMN و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كما يلي.
أسلوب قواعد بيانات Oracle الإصدار 10G و الإصدارات الأحدث
لتغيير نوع القيم التي يمكن تخزينها في العمود، نكتب MODIFY فقط و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كما يلي.
أسلوب قواعد بيانات MySQL
لتغيير نوع القيم التي يمكن تخزينها في العمود نكتب MODIFY COLUMN و من بعدها نحدد إسم و نوع العمود الذي نريد تعديل نوعه كما يلي.
في هذه الدورة سنعتمد أسلوب قواعد بيانات MySQL في تعديل أنواع أعمدة الجداول.
الإستعلام التالي يقوم بتغيير نوع القيم التي يمكن تخزينها في العمود salary
إلى DECIMAL.
بعدها يعرض جميع البيانات الموجودة في الجدول.
مثال
النتيجة
id | first_name | last_name | salary |
---|---|---|---|
1 | Rami | Masri | NULL |
2 | Ahmad | Naji | NULL |
3 | Hanan | Mostafa | NULL |
4 | Abdullah | Helmi | NULL |
5 | Majed | Alali | NULL |
طريقة تغيير إسم الجدول
لتغيير إسم الجدول نكتب RENAME TO و من بعدها نضع الإسم الجديد الذي نريد إعطاؤه للجدول كما يلي.
الإستعلام التالي يقوم بتغيير إسم الجدول إلى employees
.
مثال
طريقة تغيير إسم العمود
طريقة تغيير إسم العمود تختلف بشكل كلي من قاعدة بيانات لأخرى كما يلي.
أسلوب قواعد بيانات SQLite و Oracle
لتغيير إسم العمود نكتب RENAME COLUMN و من بعدها نضع إسم العمود الذي نريد تغييره، يليه الكلمة TO، ثم نضع الإسم الجديد للعمود كما يلي.
أسلوب قواعد بيانات SQL Server
لتغيير إسم العمود نستدعي الدالة sp_rename و من بعدها نمرر لها إسم العمود الذي نريد تغييره كأول باراميتر، ثم إسم العمود الجديد كثاني باراميتر، ثم نكتب الكلمة 'COLUMN' كثالث باراميتر كما يلي.
أسلوب قواعد بيانات Access
تغيير إسم العمود لا يمكن أن يتم من خلال تنفيذ إستعلام و لكن يمكن أن يتم بشكل مباشر من واجهة البرنامج.
أسلوب قواعد بيانات MySQL
لتغيير إسم العمود نكتب CHANGE و من بعدها نضع إسم العمود الذي نريد تغييره، ثم مسافة فارغة، ثم نضع الإسم الجديد للعمود، ثم نكتب نوع القيم التي يمكن تخزينها في العمود كما يلي.
في هذه الدورة سنعتمد أسلوب قواعد بيانات MySQL في تغيير أسماء أعمدة الجداول.
الإستعلام التالي يقوم بتغيير إسم العمود salary
إلى income
.
بعدها يعرض جميع البيانات الموجودة في الجدول.
مثال
النتيجة
id | first_name | last_name | income |
---|---|---|---|
1 | Rami | Masri | NULL |
2 | Ahmad | Naji | NULL |
3 | Hanan | Mostafa | NULL |
4 | Abdullah | Helmi | NULL |
5 | Majed | Alali | NULL |