قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة [ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ] |
|
أدوات الموضوع | انواع عرض الموضوع |
19-08-2015, 04:31 PM | #1 | |||||||||||
|
بسم الله الرحمن الرحيم اولا الكلام دا للمبتدئين فقط. ودي كبداية تفهم فية بدايات الــ Query وهحاول اكون بسيط لما تيجي تعمل كيوري بتفتح الــ SQL طبعا بيجيلك في الاول الاي دي والباس المهم بتكتبهم والــ SQL بيفتح بالمنظر دا علي الشمال هيكون عندك الداتا بيز بتاعتك. سيبك من الهري اللي عندي دا ^^ المهم هنتعلم دلوقتي مثلا علي ازاي تعرف كل المعلومات عن شخصية معينة. يعني ليفل كام و HP-MP وهكذا هنيجي علي SRO_VT_SHARD دا اللي بيتسجل فيها كل حاجة في السيرفر. وكليك يمين ونختار New Query هيظهر بالمنظر دا تمام كدا. اول امر لازم نكون عارفينه هو SELECT طبعا من اسمة مفهوم معناه. المهم هنكتب SELECT. طيب بعد كدة احنا عايزين نعرف اية بالظبط؟ احنا قولنا عايزين نعرف كل حاجة عن مثلا شخصية معينة. يبقي نكتب بعدها * . نجمه معناها يختار السطر كلة . لو عايزين نعرف الاي دي بتاع الشخصية نكتب ID وهكذا المهم هيكون بالمنظر دا نيجي بقا احنا قولنا يختار كل حاجة بس منين ؟ يبقي نكتب FROM يعني هتبقي بالشكل دا SELECT * FROM طيب احنا قولنا معلومات عن شخصية. يبقي منين؟ يبقي من _Char مظبوط؟ يبقي هيكون بالشكل دا وانت بتكتب _Char هيجيلك ليستا دي بتساعدك انك تعرف اللي انت عايزة من اي مكان علشان لو مش بتعرف انجليزي كويس هو بيديلك الاختيارات وانت بتدوس عليها مرتين لحد دلوقتي تمام. طيب احنا قولنا هنستعلم عن شخصية معينه يعني هنستعلم باسم الشخصية يبقي الامر بتاع بيبدا بــ WHERE واسم الشخصية في _Char لو فتحتها هيكون اسمها CharName16 بمعني اننا لو بنستعلم باسم الشخصية يبقي نكتب اسم العمود يبقي هيكون WHERE CharName16 . لو مثلا هنستعلم بالليفل هيكون WHERE MaxLevel . تمام ؟ احنا وصلنا لحد كدة هانت اهو. الحكاية بس مع التعود هحفظ الكلام دا مع الوقت لوحدك طيب احنا كدة اختارنا اسم العمود. طيب نكتب فين بقا اسم الشخصية؟ يبقي لما نحدد المكان اللي هيختار بية نكتب بقا اسم الشخصية بس هتكون بالمنظر دا Like يعني هيستعلم من Char ويروح علي العمود CharName16 ويختار اسم الشخصية '%Hamza%' علامة % دي معناها يختار اي اسم فيه كلمة Hamza . يعني لو عندك شخصيات مثلا باسم MrHamza - Mr_Hamza هيجيبهم كلهم . في النهاية علشان ندي الامر انه يبدا البحث ندوس علي F5 في الكيبورد او Execute في البرنامج جالك تحت السطر كله اللي انت كنت عايز تستعلم عنه اللي اهو باسم الشخصية مثلا لو هنستعلم عن اسكيل. يبقي هنستعلم بالكود بتاعها. هتجيب الكود بتاعها من textdata_equip&skill عايز تعرف بقا كل حاجة عن الاسكيل دي يبقي الكيوري هيكون بالمنظر دا وهكذا. دي ابسط الاوامر اللي هتحتاجها كتير لانها مهمة وبسيطة في نفس الوقت واتمني اني قدرت اوصل المعلومة علي اد ما قدرت ---------------------------------------------------------------------------------------------------------------------------- تمت اضافة المزيد من الاستاذ عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] ***************** توضيح بسيط للناس الجديدة في كتابة الاستعلامات. الصيغة العامة لجملة SELECT هى: كود:
SELECT [column_name] FROM [table_name] WHERE [criteria] لو حتجيب الاعممدة كلها حتستخدم علامة النجمة * طبعًا column_name هى اسم العمود و table_name اسم الجدول بالنسبة للـ criteria فهى الشرط لو محطناش WHERE واللى بعدها فحيجيب لنا البيانات كلها .. احنا عايزين نحط شرط معين يجيب البيانات على اساسه .. فيه نوعين من الشرط. تساوى تام وتساوى جزئى • لو قلنا كود:
WHERE CharName16 = 'Hamza' يبقى حيجيب اسم الشخصية لازم يكون Hamza بالضبط Hamza1 مش حيجيبوا MrHamza مش حيجيبوا مع ملاحظة ان المتغيرات الشرطية زى كلمة Hamza لازم تتحط بين العلامة دى ' ( من حرف الـ ط في الكيبورد ) • النوع التانى اللى هو تساوى جزئى LIKE لو قلنا كود:
WHERE CharName16 LIKE 'Hamza' مش حتفرق في حاجة .. انت محددتش هنا انت عايز Hamza في أى مكان ولا في الاول بس ولا في الآخر بس لو عايزها في الاول بس يبقى كود:
WHERE CharName16 LIKE 'Hamza%' علامة الـ % معناها ان يكون في مكانها اى حاجة .. او مفيش مكانها حاجة .. معنى كدة انه حيدور على كلمة Hamza في الأول بس .. بعيدًا عن فيه بعدها حاجة او لا يعنى هنا يجيب Hamza و Hamza1 و Hamza20 بس مش حيجيب MrHamza مثلًا ! على العكس لو قلنا كود:
WHERE CharName16 LIKE '%Hamza' يبقى هنا الشرط انه يدور على Hamza في الآخر بعيدًا عن فيه قبلها حاجة او لا .. يعنى هنا يجيب MrHamza و يجيب Hamza .. بس مش حيجيب Hamza1 لو عايزها في اي مكان يبقى تحط علامة % في الأول وفى الآخر كود:
WHERE CharName16 LIKE '%Hamza%' هنا انت بتقوله دورلى على اي حاجة فيها Hamza .. قبلها حاجة مش قبلها حاجة او بعدها حاجة مش بعدها حاجة .. مش فارقة هنا يجيب Hamza و Hamza1 و Hamza20 و MrHamza و MrHamza10 * كل اللى فات دة كان مُجرد امثلة فقط. طبعًا انت مش مُرتبط بـكلمة Hamza ولا Mr ولا الارقام اللى انا حاططها :) اتمنى تكون اضافتى فادتكم بشىء . ---------------------------------------------------------------------------------------------------------------------------- والاستاذ عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] ******************** الجزء التاني من Select انك ممكن تستخدم الامر كذا مرة فى نفس الكيوري عشان تجيب متغير او اكثر ،، مثال : انا مثلاً عاوز اجيب الـ Username بتاع اي كراكتر ،، ومش عندي Eva tools او بمعني اصح عاوز اتعلم ازاي اجيبه من الـ Database مباشرة عشان هستخدمه في سيستم مثلاً ،، قبل مندخل فى طريقة كتابة الكيوري ،، لازم تكون عارف انك عشان تجيب الـ StrUserID من جدول ال TB_User فى الداتا بيز SRO_VT_ACCOUNT لازم يكون عندك الـ JID وده الرقم اللي بيدل على الـ UserName بتاعك فى الجيم ،، طيب وعشان تجيب ال JID من جدول _User فى الـ SRO_VT_SHARD بيتجاب بدلالة الـ CharID والـ CharID بيتجاب من _Char عن طريق الـ CharName16 اللى هو أسم الكراكتر ،، طيب دلوقتي فى طريقتين ،، نشرح الطريقة السهلة وبلاش Inner Join عشان هتبقا فى الأول صعبة عليكوا ،، وهي انك تستخدم امر Select بس كذا مرة ،، ملحوظة : عشان تعمل كيوري فى اتنين داتا بيز مختلفتين تعمل Use database1 فى اول الكيوري ،، واي جدول فى الداتا بيز التانية لما تيجي تكتب أسمه بتكتبه زي كدا مثلاً database2.dbo.column_name أو ممكن تختصرها ومتكتبش dbo وهي اختصار لـ Database Object يعني هتكون كدا ،، database2..column_name طيب نبدأ فى الكيوري ،، كود PHP:
اكنك بتكلم الـ SQL بتقوله روح اختار اليوسر نيم من جدول TB_User لما يكون الـ JID بيساوي الـ JID من جدول _User لما يكون الـ CharID بيساوي الـ CharID من جدول _Char لما يكون اسم الكراكتر زي اسم الكراكتر اللى انت هتدخله ،، هو بيروح ينفذ الكلام ده على حسب الشروط اللى انت مديهالوا ،، مثال تاني عاوز اجيب كل الناس اللي الليفل بتاعها 110 مرة واللي اقل من 110 مرة واللي اكبر من 110 مرة واللي اكبر من او يساوي مرة اللي اصغر من او يساوي مرة ،، نعرف بس الرموز اللي هنستخدمها عشان نبقا عارفين هنمشي ازاي ،، ملحوظة : الرموز دي مش شغالة إلا على الأرقام فقط مينفعش تشتغل على الـ Text والـصيغ اللي فى الـ SQL هضيفها بعدين اللي هي Data type ،، يساوي = ،، أكبر من < ،، أصغر من > ،، أكبر من أو يساوي =< أصغر من أو يساوي => ندخل فى الأمثلة ،، -- كود PHP:
صيغة الأمر الأول هي كود PHP:
اقتباس:
|
|||||||||||
التعديل الأخير تم بواسطة Dev. iLegend ; 20-08-2015 الساعة 08:48 PM
|
19-08-2015, 06:37 PM | #2 | ||||||||||
|
عـآآش يـآ وَحش هينفع نـآآس كتير اوى |
||||||||||
|
19-08-2015, 10:39 PM | #3 | ||||||||||
|
الله ينور شغل جامد و هيفيد ناس كتييير |
||||||||||
|
20-08-2015, 01:22 AM | #4 | ||||||||||
|
توضيح بسيط للناس الجديدة في كتابة الاستعلامات. الصيغة العامة لجملة SELECT هى: كود:
SELECT [column_name] FROM [table_name] WHERE [criteria] لو حتجيب الاعممدة كلها حتستخدم علامة النجمة * طبعًا column_name هى اسم العمود و table_name اسم الجدول بالنسبة للـ criteria فهى الشرط لو محطناش WHERE واللى بعدها فحيجيب لنا البيانات كلها .. احنا عايزين نحط شرط معين يجيب البيانات على اساسه .. فيه نوعين من الشرط. تساوى تام وتساوى جزئى • لو قلنا كود:
WHERE CharName16 = 'Hamza' يبقى حيجيب اسم الشخصية لازم يكون Hamza بالضبط Hamza1 مش حيجيبوا MrHamza مش حيجيبوا مع ملاحظة ان المتغيرات الشرطية زى كلمة Hamza لازم تتحط بين العلامة دى ' ( من حرف الـ ط في الكيبورد ) • النوع التانى اللى هو تساوى جزئى LIKE لو قلنا كود:
WHERE CharName16 LIKE 'Hamza' مش حتفرق في حاجة .. انت محددتش هنا انت عايز Hamza في أى مكان ولا في الاول بس ولا في الآخر بس لو عايزها في الاول بس يبقى كود:
WHERE CharName16 LIKE 'Hamza%' علامة الـ % معناها ان يكون في مكانها اى حاجة .. او مفيش مكانها حاجة .. معنى كدة انه حيدور على كلمة Hamza في الأول بس .. بعيدًا عن فيه بعدها حاجة او لا يعنى هنا يجيب Hamza و Hamza1 و Hamza20 بس مش حيجيب MrHamza مثلًا ! على العكس لو قلنا كود:
WHERE CharName16 LIKE '%Hamza' يبقى هنا الشرط انه يدور على Hamza في الآخر بعيدًا عن فيه قبلها حاجة او لا .. يعنى هنا يجيب MrHamza و يجيب Hamza .. بس مش حيجيب Hamza1 لو عايزها في اي مكان يبقى تحط علامة % في الأول وفى الآخر كود:
WHERE CharName16 LIKE '%Hamza%' هنا انت بتقوله دورلى على اي حاجة فيها Hamza .. قبلها حاجة مش قبلها حاجة او بعدها حاجة مش بعدها حاجة .. مش فارقة هنا يجيب Hamza و Hamza1 و Hamza20 و MrHamza و MrHamza10 * كل اللى فات دة كان مُجرد امثلة فقط. طبعًا انت مش مُرتبط بـكلمة Hamza ولا Mr ولا الارقام اللى انا حاططها :) اتمنى تكون اضافتى فادتكم بشىء . |
||||||||||
التعديل الأخير تم بواسطة youssef13 ; 20-08-2015 الساعة 01:26 AM
|
20-08-2015, 01:27 AM | #5 | ||||||||||
|
تم تثبيت الموضوع # |
||||||||||
|
20-08-2015, 02:20 PM | #6 | ||||||||||
|
عاش ربنا يقدرنا على شرح كل حاجة انشاء الله ،، |
||||||||||
التعديل الأخير تم بواسطة Dev. iLegend ; 20-08-2015 الساعة 08:49 PM
|
20-08-2015, 03:51 PM | #7 | ||||||||||
|
شكرا للاضافة . وان شاء الله يكون موضوع حصري ومفيد للناس كلها |
||||||||||
|
24-08-2015, 01:00 AM | #8 | ||||||||||
|
تسلم :) |
||||||||||
|
24-08-2015, 02:36 AM | #9 | ||||||||||
|
تسلم :) |
||||||||||
|
24-08-2015, 05:27 AM | #10 | ||||||||||
|
الله يبنور شغل تمام بس انا لو عاوز اتعلم الكلام دة اتعلم لغة اى ؟ |
||||||||||
|
24-08-2015, 05:53 AM | #11 | ||||||||||
|
الله ينــور والله شغــل عالــى أوي أستمــرووو متتوقـفـــوش |
||||||||||
|
25-08-2015, 06:07 AM | #12 | ||||||||||
|
موضوع رائع تسلم ايدك بجد |
||||||||||
|
13-09-2015, 10:31 PM | #13 | ||||||||||
|
|
||||||||||
|
22-09-2015, 06:01 AM | #14 | ||||||||||
|
عاش يا رجالة و ابقو لغونى انا كلمتك كذة مرة يا حمزة و مش بترد :) والله ينور شغل عالى اوى |
||||||||||
|
24-09-2015, 11:41 PM | #15 | ||||||||||
|
طيب لو انا عايز اجيب اسم اتيم معين من الداتا بيز يعني لو عايز اعمل كيوري اغير بيه الماكش ستاك بتاع الارينا مثلا اعملوا ازاي :] |
||||||||||
|
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | الردود | آخر مشاركة |
طلب Query | Danger Sro | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 5 | 21-02-2015 02:12 AM |
[طلب] query | °•.♥Mimo ♥.•° | قسم المواضيع المكررة و المخالفة | 5 | 26-07-2013 06:13 PM |
طلب Query | TheSpiDeR | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 9 | 02-03-2013 01:11 AM |
هاى انا عاوز معلومات بسيطة عن السيرفر دة | MaLeK_EGY | قسم المواضيع المكررة و المخالفة | 10 | 29-06-2011 10:38 PM |
مساعدة بسيطة بسيطة بسيطة خالص | ! FiRe ! | قـسـم الـتـرحـيـب و الـتـعـارف | 2 | 29-06-2011 04:51 PM |