الموضوع: سلسلة دروس Sql
عرض مشاركة واحدة
  #6 (permalink)  
قديم 06-10-2005, 01:27 AM
Ahmed Tohamy Ahmed Tohamy غير متواجد حالياً
 
تاريخ التسجيل: Jun 2005
المشاركات: 54
Post



حسنا لنفرض اننا بحاجه إلى 4 حقول , و سنعدد ماهي :



الحقل الاول : وسوف يكون المعرف الخاص لكل زبون , حيث يكون رقم خاص للزبون يميزه عن غيره من الزبائن .

الحقل الثاني : اسم الزبون , طبعاً معروفه ولا تحتاج لشرح

الحقل الثالث : رقم هاتف الزبون

الحقل الرابع : عنوان موقع الزبون










حسناً الآن و بعد تحديد الحقول ووظائفها يجب علينا ان نحدد نوعها .





الحقل الاول : بما انه حقل يحمل رقم خاص لكل زبون اذاً سوف نرجع إلى جدول انواع الارقام , سوف نختار النوع INT()بحيث يكون رقم اعتيادي صحيح





حسناً , الآن لدينا مشكله ؟!.. نفرض اردنا اضافة زبون طبعا الزبون الاول سوف يكون رقمه 1 حسناً , نريد اضافة زبون ثاني و سوف نكتب في الحقل الاول رقم 2 , لكن ماذا لو وصلوا عدد زبنائنا مليون زبون !! هل سوف نكتب في الحقل الاولى مليون مليون وواحد مليون و اثنين !! طبعاً لا يمكننا ذلك بل سوف نهرب من هذه اللغه و من قواعد البيانات .





قد تتسائل ماهو حل هذه المشكله الكبيره التي قد تعرقلنا , قد يقول البعض لا نحتاج الحقول الاولى ولا نريد ترقيم هذا الزبون .



ولكنني ارد عليهم و اقول بل يمكننا ترقيمه و بسهوله بالغه و من دون اي تعب او شقاء الحمدلله هناك خاصيه بإسم auto_increment وهي اوتوماتيكيه حيث كلما قمت بإضافة زبون يكتب رقم آخر زبون + 1 , يعني لا تشقى ولا تتعب اجعل عملية اعطاء الزبون رقم خاص للغة الـSQL .







تكلمت كثيراً صح ؟




حسناً الآن قمنا بوصف جدولنا , او ما يسمى بهندسة الجدول (عن الفلسلفه يا ماستر ) , الآن نريد كتابة امر لإنشاء جدولنا و لكن !! نريد تحديد اسماء الحقول
.





لنفرض ان الحقل الاول إسمه id اي identify و المقصود رقم المعرف كما ذكرنا مسبقاً سوف يكون نوعه INT اي عدد صحيح و سوف نشغل فيه الخاصيه : auto_increment لكي يكون اوتوماتيكياً .



لنفرض ان الحقل الثاني الذي هو إسم الزبون ويكون اسمه name طبعاً يكون نوعه من varchar اي سلسله .



لنفرض ان الحقل الثالث وهو رقم الهاتف إسمه phone طبعاً يكون نوعه INT اي رقم صحيح (لانه عمري ما شفت رقم تيلفون فيه حروف )



لنفرض ان الحقل الرابع و الاخير و هو عنوان موقعه يكون ال varchar لانه تعتبر سلسله واسمه domin .







نسيت ان اذكر شئ مهم و ان السلسله تخزن ارقام و حروف .





الآن لنكتب الامر المنتظر





لحظه !! نسينا شئ مهم جدا وهو اسم الجدول , لنفرض ان اسمه client









(14)





حسناً الآن لنكتب الامر :



كود :



CREATE TABLE client (


id INT(9) NOT NULL auto_increment ,

name varchar(200) NOT NULL ,

phone INT(9) NOT NULL ,

domin varchar(150) NOT NULL ,

primary key (id)

);






قد تكون لاحظت الآتي :



في الامر يكون هناك اكثر من كلمه :



الكلمه الاولى : اسم الحقل

الكلمه الثانيه : نوع الحقل

الكلمه الثالثه : قد تكون NULL او NOT NULL و تم شرحها من قبل

الكلمه الرابعه : و هنا تكون الخصائص الاضافيه







حسناً و اخيراً انشئنا الجدول





طبعا بعد إنشاء الجدول نضيف المعلومات و نحذفها و نحدّثها , ولكن لن نتناول الآن طريقة اضافة المعلومات و حذف و تحديثها , بل سوف نكمل طريقنا مع الجداول ثم بإذن الله نبدأ بالمعلومات .







تفريغ محتويات الجدول :



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





حسناً لنفرض ان الحل هو كتابة اوامر حذف المعلومات لكل زبون حتى نحذفهم كلهم , ولكن !! نفرض ان لدينا 1000 زبون !! هل سنكتب الامر 1000 مره ؟!..





بل يوجد حل اسمه تفريغ الجدول بواسطة الامر DELETE .





طريقة كتابة الامر :



كود :



DELETE FROM tablename;







طبعاً المقصود ب tablename اسم الجدول , حسناً الآن عند كتابة هذا الامر سوف يحذف كل المعلومات.



قد تتسائل هل يمكنني حذف معلومه واحد فقط !



الجواب طبعاً نعم و بإستخدام نفس الامر لكن بإضافة الجمله الشرطيه WHERE التي سوف ندرسها في الفصول القادمه ان شاء الله.






حذف الجدول :



حسناً , لنفرض اننا انشائنا جدول ولا نريده (توهقنا فيه و ما نبيه ( هناك امر بسيط لحذف المعلومات و حذفه نهائياً من قاعدة البيانات .





الآن لنعرف طريقة كتابة هذا الامر :



كود :



DROP TABLE tablename;







طبعاً يُقصد بالـ tablename اسم الجدول الذي نريد حذفه .







هل اتعبك هذا القسم ؟!.. حسناً الآن ارتاح قليلاً لندخل بالفصل السادس .
رد مع اقتباس