شرح لغة الاستعلامات الهيكلية SQL

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

شرح لغة الاستعلامات الهيكلية SQL

مُساهمة من طرف المبرمج الطموح في الأربعاء مايو 22, 2013 9:00 am

أخوانى اعضاء المنتدى الكرام

اولا وقبل البدء فى الشرح اود ان اذكر مصدر الشرح للأمانه هذه الدروس منقوله عن موقع WWW.W3Schools.COM ولقد قمت انا فقط بترجمتها وتضويح وتعديل بعض النقاط الصغيره بها وجميع حقوق نسخ هذا الموضوع تعود للفريق العربى للبرمجه WWW.ArabTeam2000.COM

سيكون هذا الشرح عباره عن مرجع شامل لجمل SQL



اولا مقدمه فى SQL :

هى لغه قياسيه من لغات الحاسب لدخول ومعالجه قواعد البيانات

ما هى SQL : Structured Query Language لغه بناء الأستعلامات الهيكليه (يعنى هى الترجمه حرفيه شويه)

1- هى لغه قياسيه من لغات الحاسب الخاصه بمعهد ANSI
2- تمكنك من الدخول لقواعد البيانات
3- تمكنك من إستخراج البيانات من القاعده
4- تمكنك من إضافه بيانات إلى قاعده البيانات
5- تمكنك من من حذف بيانات من القاعده
6- تمكنك من تعديل البيانات المسجله
7- أخيرا هى لغه سهله التعلم والفهم


لغه SQL هى لغه قياسيه :هى لغه من اللغات القياسيه الخاصه بمعهد ANSI (American National Standards Institute) تمكنك من دخول ومعالجه نظم قواعد البيانات Database System
جمل SQL تعمل مع برامج قواعد البيانات مثل : Ms-Access, Ms-SQL Server, DB2, Oracle, etc.

تنقسم لغه SQL إلى قسمين :

1- SQL Data Manipulation Language (DML)

هو القسم المسئول عن : معالجه البيانات

1- Select : إستخراج البيانات من قاعده البيانات
2- INSERT INTO : إضافه بيانات جديده
3- Update : التعديل على البيانات المسجله
4-Delete : حذف البيانات من القاعده


2- Data Definition Language (DDL) هو القسم المسئول عن : تعريف البيانات

1- Create Database : لأنشاء قاعده بيانات جديده
2- Create Table : لأنشاء جدول داخل قاعده بيانات
3- ALTER TABLE : للتعديل فى الجدول
4- DROP TABLE : لحذف الجدول من قاعده البيانات
5- CREATE INDEX : لأنشاء مفتاح للبحث
6- DROP INDEX : لحذف مفتاح البحث


أولا جمله Select

تستخدم فى إستخراج بيانات من داخل الجدول حسب المطلوب Syntax تكتب الجمله كالتالى:

الرمز:

SELECT column_name(s)
FROM table_name

ملاحظه هامه : جمل SQL غير حساسه لحاله الحروف لا يوجد فرق SELECT = select

مثال على الجدول التالى :



نريد أختيار الأسم الأول و الأسم الأخير (FirstName , LastName) تكتب الجمله كالتالى :

الرمز:
SELECT LastName,FirstName FROM Persons

ويكون الناتج كالتالى :



لأختيار جميع البيانات تكتب كالتالى :

الرمز:
SELECT * FROM Persons

وتكون النتيجه كالتالى :




ملاحظه هامه : بعض نظم إداره قواعد البيانات تتطلب وجود ( ; ) فى نهايه جمله SQL وهذا لان بعض النظم تدعم تنفيذ أكثر من جمله فى نفس الوقت.من النظم التى لا تحتاج إلى ( ; ) Ms-Access – Ms-Sql server .ام من الأنظمه التى تتطلب ( ; ) Oracle .


________________________________________
الأن نندرج لجمله أخرى او إضافه لجمله SELECT وهى جمله SELECT DISTINCT

إضافه كلمه DISTINCT للجمله تمكنك من العرض القيم بدون تكرار (يعنى لو الجدول فيه بيان متكرر اكتر من مره بتعرضه مره واحده بس) .

مثال : على أستخدام DISTINCT وعدم أستخدامها

الرمز:
SELECT Company FROM Orders



هنا واضح الفرق عند أستخدام DISTINCT

الرمز:
SELECT DISTINCT Company FROM Orders






الان ننتقل لجزء اخر الا وهو استخدام الشرط استخدام عباره WHERE تأتى بعد جمله Select وتحتوى على الشرط المطلوب ويكون بنائها بهذا الشكل :

الرمز:

SELECT column FROM table
WHERE column operator value

مع جمله Where يمكننا أستخدام المعاملات الأتيه :



ملاحظه هامه : فى بعض الأصدارات من SQL المعامل <> يكتب هكذا !=

________________________________________
مثال على أستخدام عباره Where

الرمز:

SELECT * FROM Persons
WHERE City='Sandnes'






ملاحظه هامه : على أستخدام علامه التنصيص مع الجمله ( ' ) يجب أستخدام علامه تنصيص مفرده مع القيم النصيه مثل الأسماء اما بالنسبه للبيانات الرقميه تكتبه من دون علامات .

مثال على ذلك :

الرمز:

For text values: للبيانات النصيه

This is correct:طريقه صحيحه

SELECT * FROM Persons WHERE FirstName='Tove'

This is wrong:طريقه خاطئه

SELECT * FROM Persons WHERE FirstName=Tove


For numeric values: للبيانات الرقميه

الرمز:

This is correct:طريقه صحيحه
SELECT * FROM Persons WHERE Year>1965
This is wrong: طريقه خاطئه
SELECT * FROM Persons WHERE Year>'1965'


________________________________________
استخدام المعامل Like فى الشرط

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

SELECT column FROM table
WHERE column LIKE pattern

تستخدم علامه ( % ) لتحديد عدد الحروف قبل و بعد الكلمه او الحرف الذى نبحث به مثال :

فى هذه الحاله سوف تظهر اسماء الأشخاص التى تبدا بحرف Aثم يأتى بعدها اى عدد من الحروف

الرمز:

SELECT * FROM Persons
WHERE FirstName LIKE 'a%'

فى هذه الحاله سوف تظهر اسماء الأشخاص التى تنتهى بحرف A ويكون قبلها اى عدد من الحروف

الرمز:

SELECT * FROM Persons
WHERE FirstName LIKE '%a'

فى هذه الحاله سوف تظهر اسماء الأشخاص التى تحتوى على حرف A فى أى موضوع فى الأسم

الرمز:

SELECT * FROM Persons
WHERE FirstName LIKE '%la%'

بقى لنا الجزء الخاص بـ Between وسوف نندرج إليه فيما بعد.



الان ننتقل لجزء جديد الا وهو التعامل مع البيانات :يوجد لدينا ثلاثه تعاملات مع البيانات
1- إضافه : INSERT INTO

2-تعديل : UPDATE

3- حذف : DELETE

اولا إصافه صف للجدول : INSERT INTO

يكون بنائها كالتالى :

الرمز:

INSERT INTO table_name
VALUES (value1, value2,....)

ويمكنك ايضا تحديد الحقول المطلوب إضافتها فقط وتكون كالتالى :

الرمز:


INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)

مثال إضافه صف جديد للجدول التالى :

الرمز:

INSERT INTO Persons
VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')



لإضافه بيانات فى أعمده (حقول) محدده فقط تكتب كالتالى :

الرمز:

INSERT INTO Persons (LastName, Address)
VALUES ('Rasmussen', 'Storgt 67')


تكون النتيجه كالتالى :




ثانيا التعديل فى الجدول : UPDATE

يكون بناء الجمله كالتالى :
الرمز:


UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value


مثال على التعديل على الجدول الحالى :

لإضافه الأسم الأول فى الصف الثانى :
الرمز:

UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'




لإضافه أسم المدينه وتغير العنوان :تعديل أكثر من عمود فى نفس الوقت

الرمز:

UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'

النتيجه



ثالثا الحذف من الجدول : DELETE


تستخدم فى حذف الصفوف من الجدول وبنائها كالتالى :
الرمز:

DELETE FROM table_name
WHERE column_name = some_value

مثال على حذف صف من الجدول :لحذف الصف

الرمز:
DELETE FROM Person WHERE LastName = 'Rasmussen'



لحذف جميع البيانات ( الصفوف ) من الجدول

تستخدم الجمله التاليه :

الرمز:

DELETE FROM table_name
or
DELETE * FROM table_name

________________________________________
تم بحمد الله تعالى الجزء الأول من الدرس والخاص بـ SQL Data Manipulation Language (DML)
وسوف نكمل معا باذن الله الجزء الثانى الخاص بـ SQL FUNCTION

تحياتى للجميع

GENIUS-IT@HotMail.Com

المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: شرح لغة الاستعلامات الهيكلية SQL

مُساهمة من طرف زهراء في السبت مايو 25, 2013 6:44 am

بارك الله فيك اخى الكريم ...درس رائع فعلا

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى