نظرا لانتشار ثغرات SQL injection
وسهوله اكتشافها .....
لابد نعطي فكره عن الــSQL لكي يتمكن الكل من
كتابه استثمار لهذه الثغرات ..
راح ابدا بالتدرج وان شالله علي قد
مايسمح الوقت نكتب ..
ماهي :
Structured Query Language لغه
الاستعلام البنائيه تسمح لك بدخول قواعد البيانات وتنفيذ استعلامات عليها
وهي لغه معياريه لــANSI .
مميزاتها :
1- تمكنك من تنفيذ
استعلامات علي قواعد البيانات
2-ادراج ريكورد (صفوف) الي جدول ما
3-حذف
ريكورد من جدول ما
4- تحديث ريكورد من جدول ما
5- سهله التعلم
كبدايه
يجب ان تفهم ان قواعد البيانات مكونه من جداول الجدول يحتوي علي صفوف الصف
يسمي ريكورد ويحتوي علي بيانات ..... لاتنسي ان الجدول يعرف باسمه .
ارسم
علي ورقه قدامك جدول اسمة (خوياي) خليه اربع اعمده الاول اسمه الثاني ابوه
الثالث تلفونه الرابع مدينته .
اوكيه خلي الجدول يحتوي علي ثلاث
ريكورد وادخل في كل ريكود معلومات واحد من خوياك
نفرض ان الجدول التالي
تكون :
=========================
اسمه | ابوه | تليفونه |
مدينته
احمد | محمد | 555 | نواكشوط
يونس |شلبي | 545 | الجيزه
ريم
| موسي |878 | دلهي
=========================
افرض انه جدول
بقاعده بيانات وتبي تنفذ بعض الاستفسارات عن طريق SQL ......مثال
تبي
تستفسر عن جميع اسماء خوياك .
اكيد راح تقول : اختر العامود اسمه من
الجدول اخوياي ....... والاستعلام هذا راح يرجعلك كل اسماء خوياك
كيف
هي صيغه 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
استخدامه : اختيار بيانات من جدول
معين
كود:
SQL
SELECT column_names
FROM table_name
شرح
:
column_names ممكن يكون عامود واحد او عده اعمده
table_name اسم
جدول في قاعده البيانات
سوال : من جدول (اخوياي) استعلم عن الاعمده
(ابوه + رقمه) عن طريق اوامر SQL ?
كذلك تستطيع استبدال اسم العمود بــ
(*) نجمه لاختيار جميع الاعمده
ملاحظه : اضافه الفاصله المنقوطه بعد
الــ SQL statement تمكنك من كتابه اكثر من استعلام علي نفس السطر
معياريا
لا يجب وضع فاصله منقوطه بعد كل SQL statement لكن تم الاعتياد علي هذا
الشي فحاول انك تتعود علي
وضعها بعد كل SQL
statement حتي لو كانت
وحدها في السطر
==============
الان SELECT DISTINCT نفس SELECT
بس الفرق انه تمنع تكرار النتائج يعني اذا تطابقت نتيجتين تظهر وحده بس
==============
الان
WHERE Clause تضاف لــSELECT لاختيار قيم تستوفي شروط معينه
صيغته
كود:
SQL
SELECT
column FROM table WHERE column operator value
operator يكون
واحد من التالي :
= يساوي
<> لايساوي
> اكبر من
<
اصغر من
>= اكبر من او يساوي
<= اصغر من او يساوي
BETWEEN
بين حدي نطاق معطي
LIKE مشابه لتخطيط معين
اوكيه تدريب اخر : من
جدول (اخوياي) وباستعمال where حدد اقصر اسم في العامود (اسمة)؟
ملاحظه :
الــvalue اذا كانت حرفيه يجب احاطتها بفواصل وفي بعض انظمه قواعد
البيانات بفاصله مزدزجه اما
الرقميه فلا تحاط بفواصل
كلمة اخيره عن
like تستطيع تحديد المخططات بالعلامه % يعني اذا تبي شي فيه الحرفين Op
تستخدم %op %
ادراج ريكورد (صف) جديد الي جدول
صيغته :
SQL
INSERT
INTO table_name VALUES (value1, value2,....)
وتقدر تحدد
الاعامود اللي بتدرج فيه المعلومات بالصيغه التاليه :
SQL
INSERT
INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
===========================
الان
جاء دور الستيتمنت update
استخدامه : لتعديل قيم موجوده في جدول معين
وتحديثها
صيغتها
SQL
UPDATE table_name
SET
column_name = new_value
WHERE column_name = some_value
=========================
الان
Delete
استخدامه :حذف ريكورد من جدول
صيغته :
كود:
SQL
DELETE
FROM table_name WHERE column_name = some_value
========================
هيك بكون القيت الضوء علي ابرز الـ
statement في الـSQL
واللي راح تمكنك من فهم
اي استعلام عند رويته ..
Tue Nov 05, 2013 6:35 am by okba als
» ترحيب بالأعضاء
Tue Nov 05, 2013 6:09 am by okba als
» برنامج يعلمك لغة الدلفي بشكل مثير
Mon Nov 04, 2013 10:53 pm by سيد برتوكول
» دليل هاتف الدلفي
Sun Nov 03, 2013 11:24 am by سيد برتوكول
» سلسلة فيبوناتشي
Sun Nov 03, 2013 11:22 am by سيد برتوكول
» كود جميل ورائع جربه واعرف بنفسك ماذا يعمل
Wed Apr 17, 2013 1:55 am by سيد برتوكول
» المبرمجون مستائون من الواجهة الرسومية لويندوز ٨ (Windows 8)(نسخة المطورين)
Thu Jun 21, 2012 10:26 pm by pc-king.dahek.net
» حزيرة للعلماء
Tue Apr 10, 2012 3:23 am by عفريت السويداء
» اسباب تجعل الكمبيوتر يعمل بشكل بطيء
Sun Mar 18, 2012 6:49 am by عفريت السويداء
» دروس المبتدئين.....الدرس الأول (تعليم القص)
Sat Mar 17, 2012 6:03 am by عفريت السويداء