:جديد المواضيع
صفحة 3 من 3 الأولىالأولى 123
النتائج 21 إلى 27 من 27

أوراكل ( Oracle )

  1. #21
    مشرف سابق

    User Info Menu

    Lightbulb دورة Sql [الدرس الرابع / الجزء الثاني] : أوامر إضافة ، تحديث، وحذف السجلات

    بسم الله الرحمن الرحيم

    وصلنا إلى الجزء الثاني من درس اليوم الرابع ولله الحمد .. تعرفنا في الجزء الأول على دوال الإس كيو إل ، سنتطرق الآن إلى أوامر إضافة سجلات جديدة إلى الجداول ، و تحديث سجلات موجودة ، وأخيراً حذف السجلات التي لا نحتاج إليها ..

    إضافة سجل(صف) جديد إلى الجدول عن طريق أمر INSERT INTO :

    صيغة الأمر :

    كود:
    INSERT INTO table_name
    VALUES (value1, value2,....);


    هذا إذا كنت تحفظ عدد الحقول ( الأعمدة ) في الجدول ،أما إن لم تكن تعرفها وتريد فقط أن تملأ حقولاً معينة فإنك تستطيع أن نحدد الحقول ( العمدة) التي تريد أن تضيف فيها فقط ، بالطريقة التالية :

    كود:
    INSERT INTO table_name (column1, column2,...)
    VALUES (value1, value2,....);


    مثال :

    لإضافة سجل للموظف الجديد " محمد أحمد " في جدول الموظفين ، نكتب الأمر التالي :

    كود:
    INSERT INTO EMPLOYEE
    VALUES ('MODH','AHMED',55,'30/12/1899','22 MAKKAH,SA',5);


    والنتيجة تظهر لدينا :


    تحديث سجل في الجدول عن طريق أمر Update :

    يتسخدم هذا الأمر تعديل أو تحديث البيانات في الجدول ، صيغته :

    كود:
    UPDATE table_name
    SET column1_name = new_value
    WHERE column_name = some_value ;


    نحتاج في هذا الأمر إلى اسم الجدول واسم الحقل الذي نريد تعديله ، وشرط يحدد لنا السجل الذي نريد تحديثه !! إذا أردنا تحديث أكثر من حقل في نفس السجل فإننا نكتب أسماء الحقول وقيمها الجديدة ونفصل بينها بالفاصلة (،) ..كالتالي :

    كود:
    UPDATE table_name
    SET column1_name = new_value , column2_name = new_value
    WHERE column_name = some_value ;


    مثال :

    كلا الأمران التاليان يؤديان نفس الوظيفة ، ونتعلم منهما أن الحقل المستخدم في الشرط من الممكن أن يكو نفس الحقل الذي نريد تحديثه ومن الممكن أن يكون حقلاً آخر :

    كود:
    UPDATE WORKS_ON 
    SET HOURS = 18 ,PNO = 2
    WHERE HOURS =20.5;
    OR
    UPDATE WORKS_ON 
    SET HOURS = 18 ,PNO = 2
    WHERE ENUMBER = 11;


    والنتيجة :


    لو كانت الحقول التي حدثناها مفاتيح ، لتحدثت على إثر تحديثها جميع الحقول التي ترتبط بها في الجداول الأخرى !! تذكر ذلك دوماً ..

    حذف سجل من الجدول عن طريق أمر DELETE :

    يستخدم هذا الأمر لحذف سجل (صف) من أي جدول ، صيغة الأمر :

    كود:
    DELETE FROM table_name
    WHERE column_name = some_value
    ;

    مثال :

    لحذف سجل الموظف الذي أضفناه قبل قليل " MOHD AHMED" جرب الأمر التالي :

    كود:
    DELETE FROM EMPLOYEE
    WHERE FNAME ='MOHD';


    والنتيجة هي حذف هذا السجل ،ستظهر كالتالي في الآكسس :


    ما إذا كنا نريد حذف جميع السجلات وإعادة الجدول خالياً لنملأه من جديد ، فإننا لن نحتاج إلى عبارة الشرط HWERE في الأمر ، وإذا أردنا يمكننا استخدام النجمة :

    كود:
    DELETE FROM table_name;
    OR
    DELETE * FROM table_name;


    هذا كل شئ في أمر الحذف ، وبذلك يكون الجزء الثاني وبالتالي درس اليوم الرابع في دورتنا الممتعة قد انتهى ولله الحمد ..



    0 Not allowed!

  2. #22
    مشرف سابق

    User Info Menu

    Lightbulb دورة Sql [الدرس الخامس] : الربط في السيكيول

    بسم الله الرحمن الرحيم

    بعد أن تعرفنا على أوامر السيكيول ودوالها خلال الأربعة أيام الماضية ، وقطعنا شوطاً كبيراً فيها ولله الحمد ، نأتي اليوم إلى نهاية المطاف ، الدرس الخامس والأخير في الدورة ، ولكن الدروس ستستمر بعد الدورة إن شاء الله للتعمق أكثر في اللغة .

    درس اليوم هو ربط الجداول وكيفية استخدام هذا الربط في الأوامر وبالتالي استخراج بيانات من أكثر من جدول في قاعدة البيانات .المفاهيم التي تعلمناها في أول أيام الدورة ستفيدنا كثيراً كثيراً بإذن الله :) فهل تذكرون هذا العرض :

    الربط في السيكيول SQL Join :

    الغرض من ربط الجداول ببعضها هو استخراج البيانات من أكثر من جدول في قاعدة البيانات !! كذلك يستخدم الربط كوسيلة لمنع تكرار القيم في أي حقل من حقول الجداول بصورة مزعجة أحياناً ، فمثلاً حينما يكون للطالب أكثر من مادة وتدرج جميع المواد مع اسم الطالب في نفس الجدول ، ستكون النتيجة وجود عدد كبير من السجلات لنفس الطالب في نفس الجدول ، كل سجل خاص بمادة !! وهذا غير عملي أبداً إذ أنه يؤدي إلى كبر الجدول وبالتالي زيادة المساحة التخزينية له !! لذلك فإننا نقوم بعمل جدولين جدول للطالب بكامل بياناته ( الاسم -الرقم - تاريخ الميلاد -التخصص - المعدل ... ألخ ) وجدول آخر للمواد يحوي أسم المادة وأرقام الطلاب الذين يدرسونها ، ونربط بين الجدولين برقم الطالب بالتأكيد حيث أننا اخترناه مفتاحاً لاستحالة تكراره لأكثر من طالب !!

    ولاستخراج بيانات من جدولين ، نستخدم المفتاح الذي يربط بينهما في الشرط ، كالتالي :

    كود:
    SELECT Table1.any_column, Table2.any_column
    FROM Table1, Table2
    WHERE Table1.Keycolumn = Table2.foreign_Keycolumn;


    مثال :

    اطبع اسماء الموظفين ورقم القسم الذي يعملون فيه واسم المشروع الذي يعملون عليه ؟ - ملاحظة : هذه البيانات موجودة في جدولين -
    الحل :

    كود:
    SELECT FNAME , DNUM, PNAME
    FROM EMPLOYEE , PROJECT 
    WHERE DNUM = DNO;
    OR
    SELECT EMPLOYEE.FNAME, PROJECT.DNUM, PROJECT.PNAME
    FROM EMPLOYEE, PROJECT
    WHERE PROJECT. DNUM = EMPLOYEE.DNO;


    والنتيجة :


    هذه هي الطريقة الاعتيادية ، بينما يوجد في لغة السيكيول كلمة Join إحدى كلمات اللغة .. ولها عدة أشكال أيضاً :

    الشكل الأول :INNER JOIN:

    هذا النوع من الربط سيعطينا النتائج من الجدولين والتي يتحقق فيها الشرط ، صيغته :

    كود:
    SELECT field1, field2, field3
    FROM first_table INNER JOIN second_table
    ON first_table.keyfield = second_table.foreign_keyfield;


    مثال:

    نفس المثال السابق :اطبع اسماء الموظفين ورقم القسم الذي يعملون فيه واسم المشروع الذي يعملون عليه ؟
    الحل :

    كود:
    SELECT EMPLOYEE.FNAME, PROJECT.DNUM, PROJECT.PNAME
    FROM EMPLOYEE INNER JOIN PROJECT ON EMPLOYEE.DNO = PROJECT.DNUM;


    والنتيجة هي نفسها كما في الصورة السابقة .

    الشكل الثاني : LEFT JOIN:

    هذا النوع من الربط يعطينا جميع السجلات ( الصفوف ) من الجدول الأول ( وهو الجدول الذي ييكتب على يسار كلمة LEFT JOIN في الأمر ) سواء المرتبطة بقيم في الجدول الثاني أو غير المرتبطة ، جميع سجلات الجدول الأول ستظهر في النتائج ، صيغته :

    كود:
    SELECT field1, field2, field3
    FROM first_table LEFT JOIN second_table
    ON first_table.keyfield = second_table.foreign_keyfield;


    مثال :

    اطبع قائمة باسماء الموظفين وعدد ساعات عملهم ؟
    الحل :

    كود:
    SELECT EMPLOYEE.FNAME, WORKS_ON.HOURS
    FROM EMPLOYEE LEFT JOIN WORKS_ON ON EMPLOYEE.NUMBER = WORKS_ON.ENUMBER;


    والنتيجة : ظهر لدينا السجل الذي أضفناه إلى جدول الموظفين في الدرس السابق ، سجل الموظف "MOHD AHMED" بالرغم من أننا لم نحدد له ساعات العمل في جدول العمل ،لذلك خانة الساعات أمام هذا الموظف ظهرت خالية :


    الشكل الثالث : RIGHT JOIN:

    هذا النوع من الربط هو معكوس النوع السابق تماماً ، فهو يعطينا جميع السجلات ( الصفوف ) من الجدول الثاني ( وهو الجدول الذي يأتي على يمين كلمة RIGHT JOIN عند كتابة الأمر ) سواء كانت مرتبطة بقيم في الجدول الأول أو لا ، جميع سجلات الجدول الثاني ستظهر في النتائج ، صيغته :

    كود:
    SELECT field1, field2, field3
    FROM first_table RIGHT JOIN second_table
    ON first_table.keyfield = second_table.foreign_keyfield;


    وكمثال عليه :
    سنأخذ نفس المثال السابق ولكن سنغير ترتيب الجداول في FROM وكذلك ترتيب الحقول في SELECT ولا ننسى أن نكتب RIGHT JOIN ، كالتالي :

    كود:
    SELECT WORKS_ON.HOURS, EMPLOYEE.FNAME
    FROM WORKS_ON RIGHT JOIN EMPLOYEE ON EMPLOYEE.NUMBER = WORKS_ON.ENUMBER;


    والنتيجة هي :


    مثال يوضح ربط ثلاثة جداول ببعضها البعض :

    اطبع اسماء الموظفين ورقم القسم الذي يعمل فيه كل موظف واسم المشروع الذي يعمل عليه وعدد ساعات عمله !

    الحل :

    كود:
    SELECT EMPLOYEE.FNAME, EMPLOYEE.DNO, PROJECT.PNAME,WORKS_ON.HOURS
    FROM (EMPLOYEE INNER JOIN PROJECT ON EMPLOYEE.DNO = PROJECT.DNUM) 
    INNER JOIN WORKS_ON ON (PROJECT.PNUMBER = WORKS_ON.PNO) AND (EMPLOYEE.NUMBER = WORKS_ON.ENUMBER);


    والنتيجة :لا نرى فيها سجل الموظف الجديد " MOHD AHMED " كما توضح الصورة التالية :


    بهذا نكون قد أكملنا دروس دورتنا بفضل من الله .. فالحمد لله الذي هدانا وما كنا لنتهدي لولا أن هدانا الله :) .



    0 Not allowed!

  3. #23
    مشرف سابق

    User Info Menu

    Lightbulb هيكلية قاعدة البيانات – الجزء الأول


    في هذا الدرس سنقوم ببناء قاعدة البيانات الخاصة بهذه السلسلة التعليمية و هي خاصة لمركز يبيع الأفلام بشكل مباشر للزبائن و عبر الانترنت.

    لنبدأ على بركة الله وهذا العمل تحت فكر المهندس خليل خليل.


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

    لنفرض أنك أنت تقوم ببيع منتجاتك أي أن هذا المركز لك, لذلك فأنت بحاجة إلى جدول تضع فيه كل المعلومات عن منتجاتك هذا أولا, ثم أنت بحاجة إلى جدول آخر تضع فيه كل المعلومات المتعلقة بالموظفين لديك (و في وضعنا هذا قام الهندس خليل خليل بإنشاء جدولين للموظفين الأول يضم معلومات عن الموظفين في عملهم و الثاني معلومات عن عناوين الموظفين كي يتسنى لنا حرية اكبر في تطبيق تعليمات MySQL), و بما أنك تقوم بعمليات بيع و شراء فأنك بحاجة إلى جدول يضم معلومات عن الزبائن و جدول آخر يضم معلومات عن الموردين, و بذلك أصبح لديك قاعدة بيانات اسمها movie-store تتألف من خمس جداول هي:-

    - جدول الأفلام movies

    - جدول العمال employees

    - جدول عناوين العمالaddresses

    - جدول الزبائن clients

    - جدول الموردين suppliers

    و كل جدول من هذه الجداول يتألف من أعمدة و هي كما يلي:

    أولا: الجدول employees:

    1. رقم العامل emp-no : يضم قيمة فريدة لكل عامل

    2. الاسم الكامل للعامل name

    3. وظيفته job

    4. راتبه المقطوع salary

    5. الحوافز bonus

    6. تاريخ مباشرة العمل date

    ثانيا: الجدول addresses :

    1. رقم العنوان الأول للعامل add-no: يضم قيمة فريدة لكل عنوان.

    2. رقم العامل emp-no:يضم قيمة مرجعية (مفتاح غريب) لكل عامل.

    4. محافظة العامل state.

    7. بريد العامل الإلكتروني emp-email.

    ثالثا: الجدول suppliers :

    1. رقم المورد sup-no : يضم قيمة فريدة لكل عنوان.

    2. اسم المورد sup-name.

    6. البريد الإلكتروني sup-email .

    رابعا: الجدول clients :

    1. رقم الزبون cli-no : يضم قيمة فريدة لكل زبون.

    2. اسم الزبون cli-name

    3. بريده الالكتروني cli-email

    خامسا: الجدول movies:

    1. رقم الفيلم mov-no : حيث نقوم بتخزين أرقام فريدة لكل منتج في هذا العمود.

    2. اسم الفيلم mov-name : و نقوم بتخزين الاسم الخاص بكل منتج في هذا العمود.

    3. اسم البطل الأول star-1 : يضم هذا العمود أسماء الأبطال الرئيسيين للفيلم.

    4. اسم البطل الثاني star-2

    6. نوع الفيلم kind : هذا العمود يحوي نوع المنتج أي نوع الفيلم ( كوميدي, بوليسي, تاريخي, رومانسي, رعب, خيالي, عنف).

    7. سعر الفيلم price : من المؤكد أنك عرفت أن هذا العمود يضم أسعار المنتجات.


    هذه الجداول لا تضم كل الأعمدة المطلوبة أي أن قاعدة البيانات هذه ليس قاعدة متكاملة لأن الهدف الأساسي منها هو تطبيق تعليمات MySQL عليها لذلك اختار الجداول و الأعمدة التي تفي بالغرض فقط.



    0 Not allowed!
    التعديل الأخير تم بواسطة المهندس المسلم. ; 2006-06-21 الساعة 11:48 AM

  4. #24
    مشرف سابق

    User Info Menu

    Lightbulb مفاهيم في قواعد البيانات العلائقية - الجزء الثاني


    وصلنا في الدرس السابق إلى العلاقات بين الجداول..

    3. العلاقات بين الجداول Relationship :

    ذكرنا في الجزء الثاني من الدرس الثاني بأن العلاقة بين الجدولين movies , clients هي علاقة أطراف بأطراف إذن ما هي أنوع العلاقات بين الجداول في قواعد البيانات:

    العلاقة الأولى: هي علاقة رأس برأس( One To One )

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

    العلاقة الثانية: هي علاقة رأس بأطراف ( One To Many)

    في هذا النوع تكون العلاقة بين الجدولين هي أن كل سجل من الجدول الأول له علاقة بسجل واحد على الأقل من الجدول الثاني بينما كل سجل من الجدول الثاني له علاقة بسجل واحد من الجدول الأول لنأخذ مثال على ذلك في قاعدة البيانات الخاصة بنا movie-store فكل سجل (أي موظف) من الجدول employees يمكن أن يرتبط بأكثر من سجل (أي عنوان) من الجدول addresses بينما كل عنوان هو لموظف واحد فقط.

    العلاقة الثالثة: علاقة أطراف بأطراف ( Many To Many )

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

    4. القيمة Null : في قواعد البيانات العلائقية سنتعرض لكثير من القيمة null و هي تعني اللاقيمة أي لا شيء و هي بالطبع تختلف عن الصفر Zero فهو قيمة, و لكن المهم الآن أن تعرف أن Null معناها لا قيمة.

    5. الفهارس Indexes : الفهرس في قواعد البيانات كالفهرس المعروف للكتب و يؤدي نفس وظيفته ففي الكتاب يساعدنا الفهرس على سرعة الانتقال إلى موضوع معين في الكتاب, و كذلك الأمر في قواعد البيانات فالفهارس تساعدنا على سرعة الانتقال الحصول على معلومات لاستعلام ما.

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



    0 Not allowed!
    التعديل الأخير تم بواسطة المهندس المسلم. ; 2006-06-21 الساعة 11:54 AM

  5. #25
    مشرف سابق

    User Info Menu

    Lightbulb استخدام الأمر Show في قواعد البيانات MySQL الجزء الأول

    بسم الله الرحمن الرحيم

    عنوان الدرس: استخدام الأمر Show في قواعد البيانات MySQL - 1 -

    قبل البدء بأي شيء هناك ملاحظتين هامتين بشأن الدروس السابقة:

    1- في الدرس الثاني بجزأيه(اسم الدرس الثاني هو هيكلية قاعدة البيانات), قم أخي القارىء بوضع علامة الشرطة السفلية Under Score بدلا من علامة الشرطة العلوية أي قم بكتابة emp_no بدلا من emp-no ,و قم بتغيير الأسماء عندك على هذا المنوال, و ذلك لأن MySQL لا يعتبر الشرطة العلوية من ضمن الاسم و يقوم بإظهار رسائل خطأ.

    2- في الجزء الثاني من الدرس الثاني و الذي عنوانه هيكلية قاعدة البيانات-الجزء الثاني حيث قمنا بإنشاء الجدول bills , فقد قمنا بإنشاء عمود خاص بتاريخ تحرير الفاتورة و قد نسيت أن أضع له اسم لذلك اسمه هو bil_date .

    و الآن و قبل أن نقوم ببناء قاعدة البيانات movie_store سنأخذ بعض الأوامر المفيدة في MySQL , لنبدأ على بركة الله.

    # أمر عرض قواعد البيانات:

    قم أولا بتسجيل الدخول إلى MySQL بعدها اكتب الأمر التالي:

    mysql>show databases;

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

    +--------------+

    | Database |

    +--------------+

    | mysql |

    | test |

    +--------------+

    2 rows in set (0.05 sec)

    و هي تدل على أنه يوجد لدينا قاعدتي بيانات الأولى اسمها mysql و الثانية اسمها test لاحظ الجدول الذي عرض لنا MySQL فيه النتائج و تسمى طريقة العرض هذه بطريقة العرض الجدولي, و أخيرا سيعرض لنا MySQL سطر نتائج يخبرنا فيه قائلا "إن نتيجة هذا الأمر الذي كتبته هو سطرين, و قد تم معالجة هذا الأمر بزمن و قدره خمسة بالمئة من الثانية"

    # أمر استخدام قاعدة البيانات:

    و الآن قم بكتابة الأمر التالي:

    mysql>use mysql;

    و هذا الأمر يخبر الملقم بأن يستخدم قاعدة البيانات mysql , و الهدف منه هو فتح قاعدة البيانات لبدء العمل فيها أي للقيام بعمليات التحديث و الإدراج و الحذف ... الخ من أوامر MySQL .

    إذن فالصياغة القواعدية للأمر السابق هي:

    mysql>use database_name;

    لذلك إذا أردنا استخدام قاعدة البيانات test نكتب:

    mysql>use test;

    # أمر عرض الجداول:

    يقوم هذا الأمر بعرض الجداول لقاعدة البيانات التي أنت تستخدمها, لذلك قم بما يلي:

    1. اكتب أمر استخدام قاعدة البيانات mysql, و ذلك لأن قاعدة البيانات test فارغة لا تحتوي جداول.

    2. اكتب أمر عرض الجداول التالي:

    mysql>show tables;

    و ستكون النتيجة هي كما يلي:

    +-----------------------+

    | Tables_in_mysql |

    +-----------------------+

    | columns_priv |

    | db |

    | func |

    | host |

    | tables_priv |

    | user |

    +----------------------+

    6 rows in set (0.00 sec)

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

    mysql>show tables G;

    مع الأخذ بعين الاعتبار بأن حرف الـ G هو حرف كبير, و تكون النتيجة كما يلي:


    *************************** row .1 ***************************

    Tables_in_mysql: columns_priv

    *************************** 2. row ***************************

    Tables_in_mysql: db

    *************************** 3. row ***************************

    Tables_in_mysql: func

    *************************** 4. row ***************************

    Tables_in_mysql: host

    *************************** 5. row ***************************

    Tables_in_mysql: tables_priv

    *************************** 6. row ***************************

    Tables_in_mysql: user

    6 rows in set (0.05 sec)


    لاحظ اختلاف سطر النتائج بين طريقتي العرض حيث أن الطريقة الأولى أسرع من الثانية.


    يتبع إن شاء الله



    0 Not allowed!

  6. #26
    مشرف سابق

    User Info Menu

    Lightbulb

    بسم الله الرحمن الرحيم

    عنوان الدرس: استخدام الأمر Show في قواعد البيانات MySQL - 2 -

    سنكمل الآن إن شاء الله تتمة الجزء الأول

    أولا سجل دخول إلى MySQL ثم قم باستخدام قاعدة البيانات التي اسمها mysql

    # الأمر show columns:

    الصياغة القواعدية لهذا الأمر هي:

    mysql>show columns from table_name;

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

    فإذا كتبت الأمر التالي:

    mysql>show columns from host;

    ستكون النتيجة كما يلي:

    +-----------------------+-----------------------+---------------+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +-----------------------+-----------------------+---------------+---------+-------+

    | Host | char(60) binary | | PRI | | |

    | Db | char(64) binary | | PRI | | |

    | Select_priv | enum('N' , 'Y') | | | N | |

    | Insert_priv | enum('N' , 'Y') | | | N | |

    | Update_priv | enum('N' , 'Y') | | | N | |

    | Delete_priv | enum('N' , 'Y') | | | N | |

    | Create_priv | enum('N' , 'Y') | | | N | |

    | Drop_priv | enum('N' , 'Y') | | | N | |

    | Grant_priv | enum('N' , 'Y') | | | N | |

    | References_priv | enum('N' , 'Y') | | | N | |

    | Index_priv | enum('N' , 'Y') | | | N | |

    | Alter_priv | enum('N' , 'Y') | | | N | |

    +-----------------------+-----------------------+-------+------+---------+--------+

    12 rows in set (0.00 sec)

    لا عليك من تفاصيل هذه المعلومات الآن لأننا سنقوم بإذن الله بدراستها في الدروس التالية.

    هناك أمرين آخرين مرادفين للأمر show columns و هما:

    mysql>show fields from table_name;

    mysql>describe table_name;

    جرب كتابة كل أمر و ستلاحظ أنهما يعطياك نفس النتيجة.

    # الأمر show index :

    الصياغة القواعدية لهذا الأمر هي:

    mysql>show index from table_name;

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

    فإذا قمت بكتابة الأمر التالي:

    mysql>show index from host;

    فسيتم عرض النتيجة التالية:

    +-------+---------------+--------------+-----------------+-----------------+------------+-------------+-----------+----------+------------+

    | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Comment |

    +-------+---------------+--------------+-----------------+-----------------+------------+-------------+-----------+----------+------------+

    | host | 0 | PRIMARY | 1 | Host | A | NULL | NULL | NULL | |

    |host | 0 | PRIMARY | 2 | Db | A | 0 | NULL | NULL | |

    +-------+---------------+--------------+-----------------+-----------------+------------+-------------+-----------+----------+------------+

    2 rows in set (0.00 sec)

    # أمر عرض حالة الجدول:

    الصياغة القواعدية لهذا الأمر هي :

    mysql>show table status like 'table_name' ;

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

    mysql>show table status like 'host' G;

    ستحصل على النتيجة التالية:

    *************************** 1. row ***************************

    Name: host

    Type: MyISAM

    Row_format: Fixed

    Rows: 0

    Avg_row_length: 0

    Data_length: 0

    Max_data_length: 579820584959

    Index_length: 1024

    Data_free: 0

    Auto_increment: NULL

    Create_time: 2001-10-07 0039

    Update_time: 2001-10-07 0540

    Check_time: NULL

    Create_options:

    Comment: Host privileges; Merged with database privileges

    1 row in set (0.00 sec)

    بذلك نكون قد قمنا بعون من الله بتغطية معظم خيارات الأمر Show في MySQL .


    و ألقاكم إخواني في الدرس التالي إن شاء الله.

    و آخر دعوانا أن الحمد لله رب العالمين.

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

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

    إخواني وأخواتي الأعزاء/
    هنا سيتم طرح جميع أسئلتكم وإستفساراتكم عن دورة الأوراكل ORACLE والمشاركة متاحه للجميع.
    على الرابط التالي
    http://www.arab-eng.org/vb/showthrea...t=29651&page=4
    وفقكم الله أجمعين.




    0 Not allowed!
    التعديل الأخير تم بواسطة م.رائد الجمّال ; 2007-10-25 الساعة 08:00 PM

  7. #27
    عضو شرف

    User Info Menu

    جعله الله في ميزان حسناتكم
    للرفع والفائدة


    0 Not allowed!
    لا تقل من أين أبدأ ... طاعة الله بداية
    لا تقل أين طريقى ... شرع الله الهداية
    لا تقل أين نعيمى ... جنة الله كفاية
    لا تقل غداً سأبدأ ... ربما تأتى النهاية
    ---------------------
    متغيبه عن الملتقي دعواتكم
    ونسأل الله ان يحفظ سائر بلاد المسلمين وان ينصرهم على الظالمين

صفحة 3 من 3 الأولىالأولى 123

الكلمات الدلالية لهذا الموضوع

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •