تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثالث
#1

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


سنبعد في درسنا هذا عن TSQL مؤقتاً عن جو البحث وسنتحدث عن اضافة وحذف الجداول في قواعد البيانات .
سنبدأ أولاً بصيغة انشاء جدول وذلك بالشكل التالي :

كود :
CREATE TABLE tb1 ( colum type, colum type,........);


وكمثال على ذلك ... لننشئ جدولاً تحت اسم Tb2 يحتوي على حقلين : الإسم Name من نوع ( نص - String ) والآخر Age من نوع Number :


كود :
CREATE TABLE tb1 (name text,age number );


إذن ماذا لو أردنا أن نحدد حجم حقل العمر Name بخمس خانات فقط ... إذن ضع عدد الخانات بين قوسين مع تعيين نوع بيانات الاسم ك Text وذلك بالشكل التالي :


كود :
CREATE TABLE tb1 (name text(6),age number );


آخر نقطة سأشرحها في انشاء الجداول هي كيف نجعل الحقل لا يقبل فراغ - Null ... ولنجرب هذا المثال مع الإسم أيضاً :


كود :
CREATE TABLE tb1 (name text(6) Not Null,age number );


ولكن ماذا عن الحذف ... في الواقع هذا الكود يقوم بحذف الجدول الذي قمنا بإنشاءه تواً :


كود :
DROP Table tb1;


ولو كان هذا الجدول مرتبطاً بعلاقات فلا بد من تحديثها باضافة CASCADE إلى آخر الكود وذلك بالشكل التالي :


كود :
DROP Table tb1 CASCADE;

لا تنسى أن تنشأ الجدول بعد حذفه لأننا سوف نعمل عليه مجدداً


والآن سنبدأ في اضافة حقول إليه وذلك بعد عملية الانشاء - أعتقد أن الفرق بين الجدول وقاعدة البيانات والحقول أصبح واضحاً - .


نستطيع اضافة الحقول بصيغة عامة بالطريقة التالية :


كود :
ALTER TABLE tb1 ADD colum type;


فلنضف حقلين جديدين : الأول هو تاريخ الميلاد ، والثاني النوع ( ذكر - أنثى ) .


كود :
ALTER TABLE tb1 ADD birth_Date date,Gender Text;


والآن لنحذف أحد هذه الحقول وليكن حقل Gender ... لاحظ أننا دائماً نضيف كلمة CASCADE لتحديث العلاقات - في حال وجودها - ، وذلك بالشكل التالي :



كود :
ALTER TABLE tb1 DROP gender CASCADE;


والآن سوف نتعلم اضافة السجلات ، وسوف نستخدم Tb_Main كجدول لنجرب أوامرنا عليه ، والآن إلى الصيغة العامة لأمر الإضافة :


كود :
INSERT INTO table VALUES (v1, v2,......);


لاحظ أننا سنمرر القيم واحداً وراء الثاني وتفصل بينهم فاصلة ، مع مراعاة وضع النصوص بين علامتي تنصيص "" والتواريخ بين علامتي ## .
سنمرر القيم التالية : الرقم - الإسم الأول - الإسم الأخير - رقم الهاتف - العمر - العنوان - البريد الإلكتروني - السنة - اللغة - الموقع - متزوج/لا - ملاحظات .
وذلك بالشكل التالي :


كود :
Insert into tb_main values(11,'ahmed','gamal',6666666,18,'Cairo','Hammada2091','First Year','','',false,'');


تواحهنا مشكلة وهو أننا جعلنا الرقم حقلاً وحيداً - لا تتكرر قيمه - لذا وجب علينا في كل مرة أن نغير الرقم ... برمجياً يمكننا ذلك ولكن من خلال الأكسيس جرب ازالة رقم 11 ووضع كلمة MyNumber بالشكل التالي :



كود :
Insert into tb_main values(MyNumber,'ahmed','gamal',6666666,18,'Cairo','Hammada2091','First Year','','',false,'');
جرب تنفيذ جملة الإستعلام وستظهر لك رسالة تطلب منك ادخال قيمة MyNumber . ضع قيمة بشرط ألا تكون مكررة وسوف يتم اضافتها في الجدول .

* ملاحظة :
إن هذا الجزء في الأكسيس سيقابله متغير في الفيجوال بيسك .. كذا الامر بالنسبة للبحث .
هل تتذكر جملة البحث التالية :



كود :
Select * From Tb_Main where name='ahmed';
جرب أن تزيل Ahmed وضع متغيراً MyName بالشكل التالي :


كود :
Select * From Tb_Main where name = myname;


وهذا يعطيك تحكماً فيما ترغب في البحث عنه ...


التعديل :
الصيغة العامة لتعديل بيانات سجل بالشكل التالي :


كود :
UPDATE table_name SET colum1 = v1 , colum2 = v2 WHERE colum = v;


سنجرب الآن مثالاً لجعل العمر = 28 والموقع = http://www.vb4arab.com للشخص الذي اسمه الأول ( Ahmed ) والاخير ( Gamal ) :


كود :
Update tb_main set age=25 , site='www.vb4arab.com' where fname='ahmed' and lname='Gamal';

ولكن ماذا لو كان الأمر يشمل أكثر من سجل . في الواقع هذا الأمر شائع ويشبهه المثال التالي :

كود :
Update tb_main set fname='Ahmad' where fname='ahmed';
قد يستخدم مثل هذا المثال لتوحيد الأسماء خصوصاً مع اللغة العربية ، كما يمكن أن يستخدم أيضاً لتجاهل تأثير الهمزة في عمليات البحث ، فمثلاً يصبح أحمد = احمد .

ولكن ماذا لو أردنا تعميم التغييرات ... في هذه الحالة لن نضع الشرط ، ويمكن وضع أمر شبيه بالأمر التالي لزيادة الأعمار 5 سنوات :



كود :
Update tb_main set age=age+5;


يعتبر هذا الأمر من أكثر الأوامر شيوعاً في قواعد بيانات الشركات ... فمثلاً يستخدم لزيادة رواتب الموظفين بنسبة معينة ( يمكن أن تكون زيادة ثابته أو نسبيه ) .

ولكن ماذا عن الحذف ... في الواقع تتخذ جملة البحث صيغة عامة كالتالي :



كود :
DELETE FROM table WHERE colum = value;


ويمكن أن يكون الحذف تحت تأثير تحقق أكثر من شرط .. في المثال التالي سوف نحذف جميع الأشخاص الذين تزيد أعمارهم عن الأربعين :

رمز برمجي:

كود :
Delete from tb_main where age>40;


ولكن ماذا عن حذف كامل محتويات جدول ما ... هذه هي الطريقة :


كود :
DELETE * FROM table;


يتبع في الجزء القادم ...
الرد }}}}
تم الشكر بواسطة:
#2
[COLOR="#B22222"]يعطيك الف عافيه
تحياتيي لك[/COLOR]
الرد }}}}
تم الشكر بواسطة:
#3
مشكووووووووووور
وبارك الله فيك اخي
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني azzamxp 2 1,060 07-11-14, 01:20 PM
آخر رد: Microformt
  الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع azzamxp 6 1,353 24-05-13, 07:08 AM
آخر رد: khattabcosmology
  الدرس السابع : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الأول azzamxp 1 995 04-03-13, 12:51 AM
آخر رد: abdoojh
  الدرس السادس : منوعات في أكسيس . مقدمة إلى التقارير ، الماكرو azzamxp 1 1,037 04-03-13, 12:34 AM
آخر رد: abdoojh
  الدرس الخامس : عمليات أخرى في قواعد البيانات أكسيس azzamxp 1 874 03-03-13, 08:29 PM
آخر رد: abdoojh
  الدرس الرابع : العلاقات Relationships . azzamxp 1 1,180 03-03-13, 08:03 PM
آخر رد: abdoojh
  الدرس الثالث : بناء النماذج Forms azzamxp 1 1,806 26-02-13, 12:19 AM
آخر رد: abdoojh
  الدرس الثاني : 2 - مقدمة عامة عن أكسيس Access ، انشاء الجداول . azzamxp 2 1,108 25-02-13, 10:33 PM
آخر رد: abdoojh
  الدرس الأول : مقدمة عامة عن قواعد البيانات وأهيمتها . وانواع البيانات . azzamxp 1 1,777 25-02-13, 09:57 PM
آخر رد: abdoojh

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم