عرض مشاركة واحدة
  #1 (permalink)  
قديم 11-27-2006, 11:37 AM
الصورة الرمزية المحــ البرمجى ــتوى
المحــ البرمجى ــتوى المحــ البرمجى ــتوى غير متواجد حالياً
مالك ومؤسس المحتوي البرمجي
 
من مواضيع :: المحــ البرمجى ــتوى
0 الجوال يرفع سعة رسائل الـ Mms إلى 400 كيلو بايت مجاناً
0 كيف تمنع فهرسة بعض الصفحات من قبل محركات البحث
0 McAfee ينسف Kaspersky من جدوره مقارنه تفصيليه
0 مهارات الاستماع (Listening Skill )
0 عملاق الصيانة الرائع النسخة النهائية والكاملة TuneUp Utilities 2008 7.0.8001.0
0 بالصور : كيف تصنع حقيبة يد واسعة من ديسكات الكمبيوتر
0 حل مشاكل الشبكة
0 سكربت upload script المستخدم فى رابيد شير

 
تاريخ التسجيل: Sep 2006
الدولة: مصر
العمر: 25
المشاركات: 6,033
المحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud of
إرسال رسالة عبر مراسل MSN إلى المحــ البرمجى ــتوى إرسال رسالة عبر مراسل Yahoo إلى المحــ البرمجى ــتوى
Cool استخدام التعليمة Alter table في MySQL

 

 

 

 

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

يتم تعديل بنية الجداول عن طريق التعليمة alter table , و تبدأ هذه التعليمة دائما بـ alter table table_name أما تتمة هذه التعليمة فتتغير بتغير الهدف منها.

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

إليك الصياغة القواعدية لهذه التعليمة:

alter table table_name rename new_table_name;

فمثلا لنفرض أنك تجد الاسم employees هو اسم طويل و تريد تغييره إلى اسم مختصر قصير و لنفرض emp فيمكنك عمل ذلك كما يلي:

alter table employees rename emp;

و هناك طريقة أخرى لتغيير اسم الجدول و لكنها تستخدم مع الإصدار 3.23.27 من MySQL أو الإصدارات الأحدث و هي:

rename table table_name to new_table_name;

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

rename table employees to emp;

و الآن أخي القارىء قم بتغيير اسم الجدول employees إلى emp و قم بتغيير اسم الجدول addresses إلى adrs

# إضافة أعمدة:

الصيغة القواعدية لإضافة عمود هي:

alter table table_name add column col_name type attributes;

فعلى سبيل المثال أنك تريد أن تضيف عمود إلى الجدول suppliers يتم فيه تخزين أرقام الجوالات الخاصة بالموردين فيتم ذلك كما يلي:

alter table suppliers add column mobile varchar(15) not null;

كما أنه يمكنك في MySQL أن تحدد موقع العمود أثناء إضافته, فإذا أرت أن تضعه في أول الأعمدة تكتب first في آخر التعليمة كما يلي:

alter table suppliers add column mobile varchar(15) not null first;

أما إذا أردت أن تضعه بعد عمود ما و ليكن مثلا sup_name يكتب after sup_name في نهاية التعليمة كما يلي:

alter table suppliers add column mobile varchar(15) not null after sup_name;


ملاحظة:

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


# حذف عمود:

الصيغة القواعدية لعملية حذف عمود هي:

alter table table_name drop column col_name ;

فمثلا لحذف العمود mobile الذي قمنا بإضافته نكتب:

alter table suppliers drop column mobile ;

لاحظ أنه عند الحذف لا تضع نوع و سمات العمود المراد حذفه.

# تغيير خصائص عمود ما:

ربما تريد في بعض الأحيان أن تغير بعض السمات أو نوع أو اسم عمود ما, إن ذلك ممكن في MySQL و يتم ذلك عن طريق أحد الأمرين change , modify و إليك الصياغة القواعدية لهذا الأمر:

alter table table_name change old_col_name new_col_name type attributes ;

من المؤكد أنك أخي القارىء قد لاحظت الخيارات المتاحة لك خلال هذا الأمر:

1. من الممكن أن تغير فقط اسم العمود: لذلك عند استخدام هذه التعليمة ستقوم فقط بتغيير الاسم مع المحافظة على النوع و السمات.

2. من الممكن أن تغير فقط النوع أو السمات أو كلاهما: و يتم ذلك عن طريق وضع الاسم الجديد نفس الاسم القديم مع تغيير النوع أو السمات أو كلاهما, و هنا ستفضل استخدام الأمر modify الذي يستخدم كما يلي:

alter table table_name modify col_name new_type new_attributes;

فمثلا أنك تريد أن تغير في الجدول emp طول العمود name من varchar(25) إلى الطول varchar(20) فستكتب:

alter table emp modify name varchar(20);

3. من الممكن أن تغير كل من السمات و النوع و الاسم: و ذلك بكتابة اسم و نوع و سمات جديدة.

و بذلك نكون بعون الله قد تعلمنا معظم خيارات الأمر alter table


++++++++++++++++++++++++++

سنكمل في هذا الدرس إن شاء الله تعليمة Alter Table , لنبدأ على بركة الله.

# إضافة فهرس:

يمكنك إضافة فهرس إلى جدول ما باستخدام أحد الأوامر index , unique , primary key و إليك الصيغة القواعدية للأوامر الثلاث التالية:

1. index :

alter table table_name add index index_name(indexed_col);

مع الأخذ بعين الاعتبار أنه من الممكن أن يمتد الفهرس على أكثر من عمود أي كما يلي:

alter table table_name add index index_name(indexed_col_1 , indexed_col_2 , … );

2. unique :

alter table table_name add unique index_name(col_name);

3. primary key :

alter table table_name add primary key (col_name);

# حذف فهرس:

يتم حذف الفهرس باستخدام التعليمة drop كما يلي:

alter table table_name drop index index_name;

و في حال انك قمت بإنشاء فهرس و لم تضع له اسما و أردت بعد ذلك حذفه ماذا ستفعل؟

لا تقلق فإن MySQL ستقوم بإعطاء اسما افتراضيا للفهرس و هو نفس العمود الذي يتم فهرسته, و تستطيع معرفة اسم الفهرس عن طريق الأمر show index الذي يقوم بعرض الفهارس الموضوعة على جدول.

# حذف جدول:

في بعض الأحيان يكون أحد جداولك بحاجة إلى صيانة كبيرة و لا يوجد بداخله بيانات تخسرها, لذلك من الأفضل أن تقوم بحذفه من أساسه, و يمكن لك ذلك عن طريق التعليمة التالية:

drop table table_name;

# حذف قاعدة بيانات:

يتم حذف قاعدة بيانات بما تحتويه من جداول و بيانات وفق التعليمة التالية:

drop database DB_name;

 

توقيع :المحــ البرمجى ــتوى
للحصول على دعم فني أفضل وأسرع احرص على ما يلي :
ــ ليكن عنوان موضوعك واضح ومناسب بعيدا عن الفزعه وغيرها من العناوين .
ــ ليكن طلبك أو سؤالك واضح ومحدد ولا تكتب أكثر من مشكلة في موضوع واحد .
ــ لا تستدعي عضو معين بإسمه يا فلان ويا علان .
ــ ضع رابط للمعاينة في حالة الحاجة لذلك .
ــ ارفق صور توضيحية للمشكلة في حالة الحاجة لذلك .
ــ اذا كانت المشكلة بسبب هاك يتوجب ارفاقه أو وضع رابط للهاك .
ــ اذا حصلت على المساعدة وتم حل المشكلة فتذكر أن ترد على الموضوع وتوضيح أنه تم حل المشكلة .
رد مع اقتباس