إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

Structured Query Language


1 رد (ردود) على هذا الموضوع

#1 يحيى حماطي

يحيى حماطي

    مشترك

  • الأعضــاء
  • 59 مشاركة

تاريخ المشاركة 19 March 2005 - 09:41 AM

--------------------------------------------------------------------------------

سلاااااااام عليكم ورحمة الله وبركاته
نظرا لانتشار ثغرات sql injection وسهوله اكتشافها ..... لابد نعطي فكره عن الــSQL لكي يتمكن الكل من
كتابه استثمار لهذه الثغرات
راح ابدا بالتدرج وانشالله علي قد مايسمح الوقت نكتب
ماهي :
Structured Query Language لغه الاستعلام البنائيه تسمح لك بدخول قواعد البيانات وتنفيذ استعلامات
عليها وهي لغه معياريه لــANSI

مميزاتها :
1- تمكنك من تنفيذ استعلامات علي قواعد البيانات
2-ادراج ريكورد (صفوف) الي جدول ما
3-حذف ريكورد من جدول ما
4- تحديث ريكورد من جدولما
5- سهله التعلم
كبدايه يجب ان تفهم ان قواعد البيانات مكونه من جداول الجدول يحتوي علي صفوف الصف يسمي ريكورد ويحتوي علي
بيانات ..... لاتنسي ان الجدول يعرف باسمه
ارسم علي ورقه قدامك جدول اسمة (خوياي) خليه اربع اعمده الاول اسمه الثاني ابوه الثالث تلفونه الرابع مدينته
اوكيه خلي الجدول يحتوي علي ثلاث ريكورد وادخل في كل ريكود معلومات واحد من خوياك
نفرض ان الجدول التالي تكون
=========================
اسمه | ابوه | تليفونه | مدينته
احمد | محمد | 555 | نواكشوط
يونس |شلبي | 545 | الجيزه
ريم | موسي |878 | دلهي
=========================
افرض انه جدول بقاعده بيانات وتبي تنفذ بعض الاستفسارات عن طريق SQL ......مثال
تبي تستفسر عن جميع اسماء خوياك
اكيد راح تقول : اختر العامود اسمه من الجدول اخوياي ....... والاستعلام هذا راح يرجعلك كل اسماء خوياك
كيف هي صيغه SQL للامر اللي كتبنا ....كالتالي :
select column from table
طبعا column كان باستعلامنا (اسمه) والــtable (اخوياي ) ...... شفت سهله كيف ؟
---------------------
الان الــDML جزء من الــSQL وتعني Data Manipulation Language وهي اوامر الاستعلام والتحديث والادراج والحذف في لغه SQL
اوامرها :
SELECT استعلام جدول معين وعرض النتيجه
UPDATE تحديث الجداول في قاعده البيانات
DELETE حذف بيانات من جدول ما
INSERT INTO ادخال بيانات جديده لجدول ما
--------------------
وفيه الــDDL وتعني Data Definition Language وهي جزء من SQL مسوول عن انشاء وحذف الجداول في قاعده البيانات كما يتم من خلالها انشاء الفهارس وتحديد الروابط بين الجداول
اوامرها :
CREATE TABLE انشاء جدول
ALTER TABLE تغيير جدول
DROP TABLE حذف جدول
CREATE INDEX انشاء فهرس
DROP INDEX حذف فهرس
اولاااا :SELECT
استخدامه : اختيار بيانات من جدول معين
كود:

SELECT column_names
FROM table_name
شرح :
column_names ممكن يكون عامود واحد او عده اعمده
table_name اسم جدول في قاعده البيانات

سوال : من جدول (اخوياي) استعلم عن الاعمده (ابوه + رقمه) عن طريق اوامر SQL ?
كذلك تستطيع استبدال اسم العمود بــ (*) نجمه لاختيار جميع الاعمده
ملاحظه : اضافه الفاصله المنقوطه بعد الــ SQL statement تمكنك من كتابه اكثر من استعلام علي نفس السطر
معياريا لا يجب وضع فاصله منقوطه بعد كل SQL statement لكن تم الاعتياد علي هذا الشي فحاول انك تتعود علي
وضعها بعد كل SQL statement حتي لو كانت وحدها في السطر
==============
الان SELECT DISTINCT نفس SELECT بس الفرق انه تمنع تكرار النتائج يعني اذا تطابقت نتيجتين تظهر وحده بس
==============
الان WHERE Clause تضاف لــSELECT لاختيار قيم تستوفي شروط معينه
صيغته

كود:

SELECT column FROM table
WHERE column operator value
operator يكون واحد من التالي :
= يساوي
<> لايساوي
> اكبر من
< اصغر من
>= اكبر من او يساوي
<= اصغر من او يساوي
BETWEEN بين حدي نطاق معطي
LIKE مشابه لتخطيط معين
اوكيه تدريب اخر : من جدول (اخوياي) وباستعمال where حدد اقصر اسم في العامود (اسمة)؟
ملاحظه : الــvalue اذا كانت حرفيه يجب احاطتها بفواصل وفي بعض انظمه قواعد البيانات بفاصله مزدزجه اما
الرقميه فلا تحاط بفواصل
كلمة اخيره عن like تستطيع تحديد المخططات بالعلامه % يعني اذا تبي شي فيه الحرفين Op تستخدم %op %
ادراج ريكورد (صف) جديد الي جدول
صيغته :

كود:

INSERT INTO table_name
VALUES (value1, value2,....)
وتقدر تحدد الاعامود اللي بتدرج فيه المعلومات بالصيغه التاليه :

كود:

INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
===========================
الان جاء دور الستيتمنت update
استخدامه : لتعديل قيم موجوده في جدول معين وتحديثها
صيغتها

كود:

UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
=========================
الان Delete
استخدامه :حذف ريكورد من جدول
صيغته :

كود:

DELETE FROM table_name
WHERE column_name = some_value
========================
بكذا اكون القيت الضوء علي ابرز الـstatement في الـSQL واللي راح تمكنك من فهم اي استعلام عند رويته

#2 SAFWA

SAFWA

    مشترك

  • الأعضــاء
  • 87 مشاركة

تاريخ المشاركة 20 March 2005 - 12:11 AM

والله ماشاء الله عليك ! جهد جميل ورائع منك اخي يحي ...فقد احسنت الاختيار في التطرق لموضوع و ايضا انك احسنت الاعداد...جزاك الله خيرا
وارجو ان يستمر عطاءك ..وتفيدنا اكثر واكثر
ان شاء الله...وبالتوفيق :D