SQL
Structured Query Language
ﻟﻐﺔ اﻻﺳﺗﻔﺳ ﺎرات ا ﻟﺑﻧﯾوﯾﺔ
اﻋد اد :ﺧ ﺎ ﻟد ا ﻟز اﻛﻲ ﻋﺑد ﷲ ﻣﺣﻣد
ﻣ ﺎھﻲ ﻟﻐﺔ SQL؟
¸ ﺗﻣﻛﻧك ﻟﻐﺔ SQLﻣن اﻟوﺻول اﻟﻰ اﻟ ﺑﯾﺎﻧﺎت اﻟﻣوﺟودة ﻓﻲ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت
¸ SQLھﻲ ﻣن اﺣد ﻣﻌﺎﯾﯾر (American National Standards institute) ANSI
ﻣ ﺎذ ا ﺗﻔﻌل SQLاو ﻣ ﺎ ھﻲ ﻓ ﺎﺋدﺗﮭ ﺎ؟
SQLﯾﻣﻛﻧﮭﺎ ان ﺗﻘوم ﺑﺗﻧﻔﯾذ اﻻﺳﺗﻌﻼﻣﺎت ﻣن ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ¸
SQLﯾﻣﻛﻧﮭﺎ ان ﺗﻘوم ﺑﺎﺳﺗرداد اﻟ ﺑﯾﺎﻧﺎت ﻣن ﻗواﻋد اﻟ ﺑﯾﺎﻧﺎت ¸
SQLﺗﻘوم ﺑﺎدﺧﺎل اﻟﺳﺟﻼت ﻓﻲ ﻗواﻋد اﻟ ﺑﯾﺎﻧﺎت ¸
SQLﯾﻣﻛن ان ﺗﻘوم ﺑﺗﺣدﯾث اﻟﺳﺟﻼت ﻓﻲ ﻗواﻋد اﻟ ﺑﯾﺎﻧﺎت ¸
SQLﯾﻣﻛﻧﮭﺎ ان ﺗﻘوم ﺑﺣذف اﻟﺳﺟﻼت ﻣن ﻗواﻋد اﻟ ﺑﯾﺎﻧﺎت ¸
SQLﯾﻣﻛﻧﮭﺎ ان ﺗﻘوم ﺑﺎﻧﺷﺎء ﻗﺎﻋدة ﺑﯾﺎﻧﺎت ﺟدﯾدة ¸
SQLﯾﻣﻛ ﻧﮭﺎ ان ﺗﻘوم ﺑﺎﻧﺷﺎء ﺟدول ﺟدﯾد داﺧ ل ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ¸
SQLﯾﻣﻛﻧﮭﺎ ان ﺗﻘوم ﺑﺎﻋداد اﻟ ﺻﻼﺣﯾﺎت داﺧل اﻟﺟدو ل و اﻟﻣﻌﺎﯾﻧﺎت و اﻻﺟراءات ¸
*ﻣ ﻠﺣوظﺎت ھ ﺎﻣﺔ:
اﻟﺳﺟﻼت ھﻲ "اﻟ ﺻﻔوف ﻓﻲ اﻟﺟدول" .i
SQLﻟ ﯾﺳت ﺣﺳﺎﺳﺔ اﺗﺟﺎه اﻟﺣروف ﺳواء ﻛﺎﻧت Uppercaseاو Lowercase .ii
ﺑﻌض اﻟ ﺑراﻣﺞ ﺗطﻠب و ﺿﻊ اﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ﻓﻲ ﻧﮭﺎﯾﺔ اﻻﻣر Semicolon .iii
ﺗﺣﺗوي ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﻋﻠﻰ ﺟدول واﺣد او اﻛﺛر .iv
ﺗﻧﻘﺳم ) SQLﻟﻐﺔ اﻻﺳﺗﻔﺳ ﺎرات ا ﻟﺑﻧﯾوﯾﺔ( ا ﻟﻰ :
DMLو DDLو DCL
أوﻻً (Data Manipulating Language) DML :ﻟﻐﺔ ﻣﻌ ﺎ ﻟﺟﺔ ا ﻟﺑﯾ ﺎﻧﺎت وﻣن اھم او اﻣرھ ﺎ:
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
Command ?What it does
اﻻﻣر ﻣ ﺎذ ا ﯾﻔﻌل؟
SELECT اﺳﺗﺧراج اﻟ ﺑﯾﺎﻧﺎت ﻣن ﻗﺎﻋدة اﻟ ﺑﯾﺎﻧﺎت
UPDATE ﺗﺣدﯾث اﻟ ﺑﯾﺎﻧﺎت ﻓﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت
DELETE ﺣذف اﻟ ﺑﯾﺎﻧﺎت ﻣن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت
INSERT INTO ادﺧﺎل ﺑﯾﻧﺎت ﺟدﯾدة ﻓﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت
ﺛﺎﻧﯾﺎ ً (Data Definition Language) DDL :ﻟﻐﺔ ﺗﻌرﯾف ا ﻟﺑﯾ ﺎﻧﺎت و ﻣن اھم او اﻣرھ ﺎ :
Command ?What it does
اﻻﻣر ﻣ ﺎذ ا ﯾﻔﻌل؟
CREATE DATABASE اﻧﺷﺎء ﻗﺎﻋدة ﺑﯾﺎﻧﺎت ﺟدﯾدة
ALTER DATABASE ﺗﺣﺳﯾن او ﺗﻌدﯾل ﻗﺎﻋدة ﺑﯾﺎﻧﺎت
CREATE TABLE ا ﻧﺷﺎء ﺟدول ﺟدﯾد
ALTER TABLE ﺗﻌدﯾ ل اﻟﺟدول
DROP TABLE ﺣذف اﻟﺟدول
CREATE INDEX اﻧﺷﺎء ﻓﮭرس )ﻣﻔﺗﺎح اﻟﺑﺣث(
ﺛﺎ ﻟﺛﺎ ً (Data Control Language) DCL :ﻟﻐﺔ ا ﻟﺗﺣﻛم ﻓﻲ ا ﻟﺑﯾ ﺎﻧﺎت و ﻣن اھم او اﻣرھﺎ
Command ?What it does
اﻻﻣر ﻣ ﺎذ ا ﯾﻔﻌل؟
GRANT ﺗﻌطﻲ اﻟﻣﺳﺗﺧدﻣﯾن اﻣﺗﯾﺎزات ﻓﻲ اﻟوﺻول ﻟﻘﺎﻋدة اﻟ ﺑﯾﺎﻧﺎت او
ﺻﻼﺣﯾﺎت ﻣﻌﯾﻧﺔ
REVOKE ﺳﺣب اﻣﺗﯾﺎز ات اﻟو ﺻول اﻟﺗ ﻲ ﯾﻌط ﯾﮭ ﺎ اﻷﻣر GRANT
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
اﻧو اع ا ﻟﺑﯾ ﺎﻧ ﺎت:
ﻧوع ا ﻟﺑﯾﺎﻧ ﺎت اﻟو ﺻف
)numeric(p,s ا ﻟد ﻗﺔ ا ﻟﺛ ﺎﺑﺗﺔ و أرﻗ ﺎم اﻟﻘﯾ ﺎس.
ﯾﺳﻣﺢ اﻷر ﻗﺎم ﻣن -10 ^ 38 ^ 1-10 38 -1.
ا ﻟﻣﻌ ﻠﻣﺔ Pﯾﺷﯾر إ ﻟﻰ اﻟﺣد اﻷﻗ ﺻﻰ ﻹﺟﻣﺎ ﻟﻲ ﻋدد اﻷر ﻗﺎم ا ﻟﺗﻲ ﯾﻣﻛن
ﺗﺧزﯾﻧﮭ ﺎ (ﻋ ﻠﻰ ﺣد ﺳو اء إ ﻟﻰ ا ﻟﯾﺳ ﺎر وإ ﻟﻰ ا ﻟﯾﻣﯾن ﻣن ا ﻟﻌﻼﻣﺔ
ا ﻟﻌﺷرﯾﺔ ).ف ﯾﺟب أن ﺗﻛون ﻗﯾﻣﺔ 1-38.اﻻ ﻓﺗراﺿﻲ ھو 18.
sا ﻟﻣﻌ ﻠﻣﺔ ﯾﺷﯾر إ ﻟﻰ ا ﻟﺣد اﻷﻗ ﺻﻰ ﻟﻌدد اﻷرﻗ ﺎم ا ﻟﻣﺧزﻧﺔ ﻋ ﻠﻰ ﯾﻣﯾن
اﻟﻔﺎ ﺻﻠﺔ ا ﻟﻌﺷرﯾﺔ .و ﯾﺟب أن ﺗﻛون ﻗﯾﻣﺔ ﻣن 0إ ﻟﻰ ف .ا ﻟﻘﯾﻣﺔ
اﻻﻓﺗر ا ﺿﯾﺔ ھﻲ 0
Float ا ﻟﻛﺳور ا ﻟﻌﺷرﯾﺔ
int ﺗﺳﻣﺢ ﺑﺟﻣﯾﻊ اﻻرﻗ ﺎم ﺑﯾن -2,147,483,648و
2,147,483,647
Date/Time اﻟوﻗت او ا ﻟﺗﺎرﯾﺦ
Char ﺗﺳﻣﺢ ﺑﺎ ﻟﻧ ﺻوص ﻓﻘط ﻛﺣد ا ﻗﺻﻰ 255ﺣرف
VarChar ﺗﺳﻣﺢ ﺑﺎ ﻟﺣروف و اﻻرﻗ ﺎم و ا ﻟرﻣوزﻛﺣد اﻗ ﺻﻰ 255ﺣرف
Nvarchar ﺗﺳﻣﺢ ﺑﺎ ﻟﺣروف و اﻻرﻗ ﺎم و ا ﻟرﻣوز ﺑﺎ ﻟ ﻠﻐﺔ ا ﻟﻌرﺑﯾﺔ او اي ﻟﻐﺔ
اﺧرى
nchat ﺗﺳﻣﺢ ﺑﺎ ﻟﺣروف ﻛﺣد اﻗﺻﻰ 255ﺣرف و ﺗﻘﺑل اﻟ ﻠﻐﺔ ا ﻟﻌرﺑﯾﺔ
ﺟﻣ ﻠﺔ SELECTﻓﻲ SQL
ﺗﺳﺗﺧدم ﻻﺧﺗﯾﺎر اﻟﺑﯾﺎﻧﺎت ﻣن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت
ﺗﻌرض اﻟ ﻧﺗﺎﺋﺞ )اﻟﺑﯾﺎﻧﺎت( ﻓﻲ ﺟدول ﺑﺳﻣﻰ Result-set
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣ ﻠﺔ SELECTﻓﻲ SQL
SELECT column_name FROM table_name
ﺣﯾث ﯾﻘوم اﻻﻣر اﻟﺳﺎﺑق ﺑﺎﺧﺗﯾﺎر ﻋﻣود ﻣﻌﯾن ﻣن ﺟدول ﻣﻌﯾن ﻓﻲ ﻗﺎﻋدة ﺑﯾﺎﻧﺎت ﻣﺎ
SELECT * FROM table_name
ﺗﻘوم ﺑﺎﺧﺗﯾﺎر ﺟﻣﯾﻊ اﻻﻋﻣدة ﻣن ﺟدول ﻣﺎ ﺣﯾث * ﺗﺷﯾر اﻟﻰ اﻟﻛل وﺗﺳﻣﻰ asterix
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
SELECT DISTINCT ﺟﻣ ﻠﺔ
(DISTINCT) ﻓﻲ ﺑﻌض ﻣن اﻻﺣﯾﺎن ﺗﻛون ﻟدﯾﻧﺎ ﻗﯾم ﻣﻛررة و ﻓﻲ ﺑﻌض اﻻﺣﯾﺎن ﯾﻛون ﻟدﯾك ااﻟرﻏﺑﺔ ﻓﻲ ﻋرض اﻟﻘﯾم اﻟﻣﺧﺗﻠﻔﺔ
SELECT DISTINCT ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣ ﻠﺔ
SELECT DISTINCT column_name(s) FROM table_name
: ﻛﻣ ﺎ ﯾ ﻠﻲEmployee ﻣﺛ ﺎل ﻟدﯾﻧﺎ ﺟدول
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
: اﻟ ﺗﺎﻟﯾﺔSELECT ﺳوف ﻧﻘوم ﺑﺎﺳﺗﺧدام ﺟﻣﻠﺔ, Nationality اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر اﻟﻘﯾم اﻟﻣﺧﺗﻠﻔﺔ ﻣن اﻟﻌﻣود
SELECT DISTINICT Nationality FROM Employee
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
Nationality
Egypt
Sudan
WHERE ا ﻟﺷرط
ﯾﺳﺗﺧدم ﻟ ﺗﻧﻘﯾﺔ )ﻓﻠﺗرة( اﻟﺳﺟﻼت
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ ﻟﮭذ ا اﻟﺷرط
SELECT column_name(s) FROM table_name WHERE column_name operator value
: ﻛﻣ ﺎ ﯾ ﻠﻲEmployee ﻣﺛ ﺎل ﻟدﯾﻧﺎ ﺟدول
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
و ﻧرﯾد ان ﻧﺧﺗﺎر اﻻﺷﺧﺎص ﻣن دوﻟﺔ ﻣ ﺻر . Egyptﺳوف ﻧﺳﺗﺧدم ﺟﻣﻠﺔ SELECTاﻟ ﺗﺎﻟﯾﺔ:
’SELECT * FROM Employee WHERE Nationality = ‘Egypt
ﻣ ﻠﺣوظﺔ :ﺗوﺿﻊ ا ﻟﻧﺻوص ﺑﯾن ﻋﻼﻣﺗﻲ ﺗﻧﺻﯾص ’‘ ﺑﯾﻧﻣﺎ ﻓﻲ اﻻرﻗ ﺎم ﺗﻛون ﺑدون ھذه ا ﻟﻌﻼﻣ ﺎت
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
ا ﻟﻣﺷﻐﻠﯾن ANDو OR
ا ﻟﻣﺷﻐل ANDﯾﻌرض اﻟ ﻧﺗﺎﺋﺞ ﻓﻘط ﻓﻲ ﺣﺎﻟﺔ ان ﯾﺗﺣﻘق اﻟﺷر ط اﻻول و اﻟﺷرط اﻟﺛﺎﻧﻲ ا ي ﻛﻼھﻣﺎ True
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ ﻟﮭذ ا اﻟﺷرط
SELECT Column_name(s) FROM table_name WHERE Column_name Operator Value AND
Column_name Operator Value
ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﻣﺷﻐل ANDﻟدﯾﻧﺎ ﺟدول Employeeا ﻟﺗﺎﻟﻲ:
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
و اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر اﻻﺷﺧﺎص اﻟذﯾن ﯾﺳﻛوﻧون ﻓﻲ ﺣﻲ اﻟطﺎﺋف و ﺣﻲ ﻣدﯾﻧﺔ ﻧ ﺻر .ﺳوف ﻧﺳﺗﺧدم ﺟﻣﻠﺔ SELECTاﻟ ﺗﺎﻟﯾﺔ:
’SELECT * FROM Employee WHERE Address = ‘Nasr City’ AND Address = ’Altaief
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
وﻟﻛن ﻓﻲ ﺣﺎﻟﺔ ﻋدم ﺗﺣﻘق اﺣد اﻟﺷرطﯾن ا ي ﻣﺎ ﻗﺑل ANDاو ﻣﺎ ﺑﻌده ﻟن ﺗظﮭر اﻟﻧﺗﺎﺋﺞ ﻣﺛﻼ اذا اردﻧﺎ اﻻﺷﺧﺎص اﻟذﯾن ﯾﺳﻛﻧون ﻓﻲ ﺣﻲ
اﻟطﺎﺋف و ﺣﻲ ﻣﺻر اﻟﺟدﯾدة ﻟن ﺗظﮭر ا ي ﻧﺗﯾﺟﺔ رﻏم ﺗوﻓر اﺣد اﻟﺷرطﯾن و ھو اﻧﮫ ﯾوﺟد اﺷﺧﺎص ﯾﺳﻛﻧون ﻓﻲ ﺣﻲ اﻟظﺎﺋف و ھذه ھﻲ
اﻟطرﯾﻘﺔ اﻟ ﺻﺣﯾﺣﺔ ﻟﻔﮭم اﻟﺷرط AND
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
ا ﻟﻣﺷﻐل ORﯾﻌرض اﻟﻧﺗﺎﺋﺞ اذا ﺗﺣﻘق ﺷر ط واﺣد ﻓﻘط
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ ﻟﮭذ ا اﻟﺷرط
SELECT Column_name(s) FROM table_name WHERE Column_name Operator Value OR Column_name
Operator Value
ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﻣﺷﻐل ORﻟدﯾﻧ ﺎ ﺟدول Employeeا ﻟﺗﺎ ﻟﻲ:
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر اﻻﺷﺧﺎص اﻟذﯾن ﯾﺳﻛﻧون ﻓﻲ ﺣﻲ اﻟطﺎﺋف او ﺣﻲ ﻣﺻر اﻟﺟدﯾدة ﻛﻣﺎ ﻓﻲ اﻟﻣﺛﺎل اﻟﺳﺎﺑق و ھﻧﺎ ﺗﺧﺗﻠ ف اﻟ ﻧﺗﯾﺟﺔ ﻻﻧﮫ ﻓﻲ
اﻟﺷرط ORﻧطﻠ ب ﻣن SQLان ﯾﺧﺗﺎر اﯾﺎ ً ﻣن اﻟﺷرطﯾن ﺳواء ﺗﺣﻘق ﻛﻼھﻣﺎ ﻓﺳوف ﺗظﮭر اﻟﻧﺗﯾﺟﺔ ﺑﺎﻟﺷرطﯾن او اذا ﺗﺣﻘق اﺣد اﻟﺷرطﯾن
ﻓﺳوف ﺗظﮭر ﻧﺗﯾﺟﺗﮫ ﻛﯾﻔﯾﺔ ﻛﺗﺎﺑﺔ ﺟﻣﻠﺔ SELECTﻓﻲ ھذه اﻟﺣﺎﻟﺔ:
’SELECT * FROM Employee WHERE Address = ‘Misr Al Gedida’ OR Address = ’Altaief
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
ﻛ ﻠﻣﺔ ا ﻟﺑﺣث ORDER BY
ﺗﺳﺗﺧدم ھذه اﻟﻛﻠﻣﺔ ﻟﻔرز اﻟﻧﺗﺎﺋﺞ ﺗﺑﻌﺎ ً ﻟﻌﻣود ﻣﺣدد
ﯾﻣﻛﻧﻧﺎ ا ﯾ ﺿﺎ ان ﻧرﺗب اﻟﺳﺟﻼت اﻟﺗﻲ ﺗظﮭر ﻓﻲ اﻟﻧﺗﺎﺋﺞ ﺗ ﺻﺎﻋدﯾﺎ او ﺗﻧﺎزﻟﯾﺎ ﻋن طرﯾق اﺳﺗﺧدام DESCو ﻣﻌﻧﺎھﺎ ﺗﻧﺎزﻟ ﯾﺎ او اﺳﺗﺧدام ASCو
ھﻲ ﺗﻌﻧﻲ ﺗ ﺻﺎﻋدﯾﺎ ً
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ ﻟﻛ ﻠﻣﻰ ا ﻟﺑﺣث ORDER BY
SELECT Column_name(s) FROM table_name ORDER BY Column_name ASC|DESC
ﻣﺛﺎل ﻋ ﻠﻰ ا ﻟﺗرﺗﯾب ا ﻟﺗ ﺻ ﺎﻋدي ASCﻟدﯾﻧ ﺎ ﺟدول Employeeا ﻟﺗﺎﻟﻲ
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
و ﻧرﯾد ان ﻧﻘوم ﺑﺎظﮭﺎر اﻻﺷﺧﺎص )اﻻﺳم اﻻول و اﻻﺳم اﻻﺧﯾر و رﻗم اﻟﮭوﯾﺔ( و ﻧرﯾد ان ﺗﻛون اﻟﻧﺗﺎﺋﺞ ذات ﺗرﯾﺗﯾب ﺗ ﺻﺎﻋدي ﻧﺳﺗﺧدم
: اﻟ ﺗﺎﻟﯾﺔSELECT ﺟﻣﻠﺔ
SELECT E_ID, FirstName,LastName FROM Employee ORDER BY E_ID ASC
ً اﻓﺗرا ﺿﯾﺎASC ﯾﻘوم ﺑﺗرﺗﯾب اﻟﻧﺗﺎﺋﺞ ﺗﺻﺎﻋدﯾﺎSQL ﻻنASC ﯾﻣﻛﻧﻧﺎ ان ﻧﻛﺗب اﻟﻛود اﻟﺳﺎﺑق دون ﻛﻠﻣﺔ: ﻣ ﻠﺣوظﺔ
SELECT E_ID, FirstName,LastName FROM Employee ORDER BY E_ID
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName
1 Ahmed Mostafa
2 Mohamed Abbas
3 Emad Mohamed
ا ﻟﺗﺎﻟﻲEmployee ﻟدﯾﻧ ﺎ ﺟدولDESC ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﺗرﺗﯾب ا ﻟﺗﻧﺎز ﻟﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
و ﻧرﯾد ان ﻧﻘوم ﺑﺎظﮭﺎر اﻻﺷﺧﺎص )اﻻﺳم اﻻول و اﻻﺳم اﻻﺧﯾر و رﻗم اﻟﮭوﯾﺔ( و ﻧرﯾد ان ﺗﻛون اﻟﻧﺗﺎﺋﺞ ذا ت ﺗرﯾﺗﯾب ﺗﻧﺎزﻟﻲ ﻧﺳﺗﺧدم ﺟﻣﻠﺔ
: اﻟ ﺗﺎﻟﯾﺔSELECT
SELECT E_ID, FirstName,LastName FROM Employee ORDER BY E_ID DESC
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName
3 Emad Mohamed
2 Mohamed Abbas
1 Ahmed Mostafa
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
INSERT INTO ﺟﻣ ﻠﺔ
ﺗﺳﺗﺧدم ھذه اﻟﺟﻣﻠﺔ ﻻدﺧﺎل ﺳﺟ ل ﺟدﯾد او ﺻف ﺟدﯾد ﻋﻠﻰ اﻟﺟدول ﻓﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت
INSERT INTO ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣ ﻠﺔ
INSERT INTO table_name VALUES (value1, value2, value3,...)
:او ﺑﺷﻛل آﺧر ﻛﻣ ﺎ ﯾﻠﻲ
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
ا ﻟﺗﺎﻟﻲEmployee ﻟدﯾﻧﺎ ﺟدولINSERT INTO ﻣﺛﺎل ﻋ ﻠﻰ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
INSERT ﻧﻛﺗب ﺟﻣﻠﮫ. ﻧرﯾد ادﺧﺎل ﺳﺟ ل ﺟدﯾد ﻟﺧﺎﻟد اﻟزاﻛﻲ ﺑرﻗم ھوﯾﺔ ﺟدﯾد ﺣﯾث ﯾﺳﻛن ﺧﺎﻟد ﻓﻲ اﻟرﯾﺎض و ﺟﻧﺳﯾﺗﮫ ھﻲ اﻟﺳﻌودﯾﺔ
: اﻟ ﺗﺎﻟﯾﺔINTO
INSERT INTO Employee (E_ID,FirstName,LastName,Address,Nationality) VALUES
(4,’Khalid’,’Alzaki’,’Arryiadh’,’Saudi’)
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
4 Khalid Alzaki Arryiadh Saudi
UPDATE ﺟﻣﻠﺔ
ﺗﺳﺗﺧدم ھذه اﻟﺟﻣﻠﺔ ﻟ ﺗﻌدﯾ ل ﺳﺟ ل ﻣوﺟود او ﺗﺣدﯾﺛﺔ ا ي ﻋﻠﻰ ﺣﺳب اﻟرﻏﺑﺔ
UPDATE ﻛﯾﻔﯾﺔ ﺑﻧﺎء اﻟﺟﻣﻠﺔ
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
: اﻟ ﺗﺎﻟﻲEmployee ﻟدﯾﻧﺎ ﺟدولUPDATE ﻣﺛﺎل ﻋﻠﻰ ﺟﻣﻠﺔ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
4 Khalid Alzaki Arryiadh Saudi
و ﻧرﯾد ان ﻧﺣدث ﺑﯾﺎﻧﺎت ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻻ ﻧﮫ ﺳﻛن ﻓﻲ ﺣﻲ ﺟدﯾد اﺳﻣﮫ اﻟ ﺻﺣﺎﻓﺔ ﺑﯾﻧﻣﺎ ﻓﻲ ﺳﺟ ل ﺧﺎﻟد اﻟزاﻛﻲ ﻓﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﻣﺳﺟ ل
: اﻟ ﺗﺎﻟﯾﺔUPDATE ﻓﻲ ﺣﻲ اﻟرﯾﺎض ﻓﻲ ھذه اﻟﺣﺎﻟﺔ ﻧﺳﺗﺧدم ﺟﻣﻠﺔ
UPDATE Employee SET Address=’AlSahafa’ WHERE E_ID=4
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
4 Khalid Alzaki AlSahafa Saudi
ﻟﻛﻲ ﻧﺣدد ا ي ﺳﺟ ل ﺗﺣدﯾداً ھو اﻟذي ﻧرﯾد ان ﻧدﺧ ل ﻋﻠﯾﮫ اﻟ ﺗﻌدﯾﻼت اوWHERE ﻻ ﺑد ان ﻧﺳﺗﺧدم ﺷرطUPDATE ﻓﻲ ﺟﻣﻠﺔ:ﻣ ﻠﺣوظﺔ
اﻟﻘﯾﺎم ﺑﺗﺣدﯾﺛﮫ
DELETE ﺟﻣ ﻠﺔ
ﺗﺳﺗﺧدم ھذه اﻟﺟﻣﻠﺔ ﻟﻣﺳﺢ ﺳﺟﻼت ﻣن اﻟﺟدول
DELETE ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣ ﻠﺔ
DELETE FROM table_name WHERE some_column=some_value
ا ﻟﺗﺎ ﻟﻲEmployee ﻟدﯾﻧﺎ ﺟدولDELETE ﻣﺛﺎل ﻋ ﻠﻰ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
4 Khalid Alzaki AlSahafa Saudi
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
: اﻟﺗﺎﻟ ﯾﺔDELETE اﻻن ﻧرﯾد ان ﻧﻘوم ﺑﺣذف ﺳﺟل ﺧﺎﻟد اﻟزاﻛﻲ ﻣن اﻟﺟدول ﻧﻛﺗب ﺟﻣﻠﺔ
DELETE FROM Employee WHERE E_ID=4
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
LIKE اﻟﻣﺷﻐ ل
ﯾﺳﺗﺧدم ﻟﻠﺑﺣث ﻋن ﻧﻣظ او ﻋﯾﻧﺔ ﻓﻲ ﻋﻣود ﻣﺣدد ﻓﻲ اﻟﺟدول
LIKE ﺑﺎﺳﺗﺧدام اﻟﻣﺷﻐلSELECT ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣﻠﮫ
SELECT Column_name(s) FROM table_name WHERE Column_name LIKE pattern
: ا ﻟﺗﺎ ﻟﻲEmployee ﻟدﯾﻧ ﺎ ا ﻟﺟدولLIKE ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﻣﺷﻐل
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
: اﻟ ﺗﺎﻟﯾﺔSELECT اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر ﻣن اﻟﺟدول ا ي ﺷﺧص ﯾﺑدأ ﺑﺣرف اﻻﻟف ﻧﻛﺗب ﺟﻣﻠﺔ
SELECT * FROM Employee WHERE FirstName LIKE ‘A%’
ﺳوف ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛﻣ ﺎ ﯾ ﻠﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
: اﻟ ﺗﺎﻟﯾﺔSELECT اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر ﻣن اﻟﺟدول ا ي ﺷﺧص ﯾﻧﺗﮭﻲ ﺑﺣرف "د" ﻧﻛﺗب ﺟﻣﻠﺔ
SELECT * FROM Employee WHERE FirstName LIKE ‘%D’
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
: اﻟ ﺗﺎﻟﯾﺔSELECT اﻻن ﻧرﯾد ان ﻧﺧﺗﺎر ﻣن اﻟﺟدول ا ي ﺷﺧص ﻣن دوﻟﺔ ﺗﺣﺗو ي ﻋﻠﻰ اﻟﺣروف "ودا" ﻧﻛﺗب ﺟﻣﻠﺔ
SELECT * FROM Employee WHERE FirstName LIKE ‘%uda%’
E_ID FirstName LastName Address Nationality
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
:اذا اردﻧﺎ ان ﻧﺧﺗﺎر ا ي ﺷﺧص ﯾﺣﺗوي اﺳﻣﮫ ﻋﻠﻰ “ﺣﻣد” ﻧﻛﺗب اﻻﻣر اﻟ ﺗﺎﻟﻲ
SELECT * FROM Employee WHERE FirstName LIKE ‘_hmed’
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
IN ا ﻟﻣﺷﻐل
WHERE ﯾﺳﻣﺢ ﻟك ﺑﺎن ﺗﺣدد ﻗﯾم ﻣﺗﻌددة ﻓﻲ اﻟﺷر ط
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
: ا ﻟﺗﺎﻟﻲEmployee ﻟدﯾﻧﺎ ﺟدولIN ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﻣﺷﻐل
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
:و ﻧرﯾد ان ﻧﺧﺗ ﺎر اﻻﺷﺧ ﺎص ا ﻟﺗﻲ ﺗﻛون اﺳﻣ ﺎﺋﮭم اﻻﺧﯾرة ﻋﺑﺎس و ﻣﺣﻣد ﻧﻛﺗب اﻻﻣر ا ﻟﺗﺎ ﻟﻲ
SELECT * FROM Employee WHERE LastName IN (‘Abbas’,’Mohamed’)
E_ID FirstName LastName Address Nationality
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
BETWEEN ا ﻟﻣﺷﻐل
ﯾﺧﺗﺎر ﻧطﺎق ﻣن اﻟﺑﯾﺎﻧﺎت ﻣوﺟودة ﺑﯾن ﻗﯾﻣﺗﯾن
BETWEEN ﻣﻊ ا ﻟﻣﺷﻐلSELECT ﻛﯾﻔﯾﺔ ﺑﻧﺎء ﺟﻣ ﻠﺔ
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
: ا ﻟﺗﺎ ﻟﻲEmployee ﻟدﯾﻧﺎ ﺟدولBETWEEN ﻣﺛ ﺎل ﻋﻠﻰ ا ﻟﻣﺷﻐل
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
و ﻧرﯾد ان ﻧﺧﺗﺎر اﻻﺷﺧﺎص اﻟذﯾن ﺗﻛون اﺳﻣﺎﺋﮭم اﻻﺧﯾرة ﺑﯾن اﻻﺳم اﻻﺧﯾر ﻣﺻطﻔﻰ و اﻻﺳم اﻻﺧﯾر ﻣﺣﻣد ﻧﻛﺗب اﻻﻣر اﻟ ﺗﺎﻟﻲ
E_ID FirstName LastName Address Nationality
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
DROP TABLE ﺟﻣ ﻠﺔ
ﺗﺳﺗﺧدم ﻟﺣذف ﺟدول ﺑﺎﻟﻛﺎﻣل
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ
DROP TABLE table_name
DROP DATABASE ﺟﻣ ﻠﺔ
ﺗﺳﺗﺧدم ﻟﺣذف ﻗﺎﻋدة ﺑﯾﺎﻧﺎت ﺑﺎﻟﻛﺎﻣل
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ
DROP DATABASE database_name
ALTER TABLE ﺟﻣ ﻠﺔ
ﺗﺳﺗﺧدم ﻻ ﺿﺎﻓﺔ او ﺗﻌدﯾل او ﺣذف اﻋﻣدة ﻓﻲ ﺟدول ﻣﺎ
ﻛﯾﻔﯾﺔ ﺑﻧﺎء ا ﻟﺟﻣ ﻠﺔ
ALTER TABLE table_name ADD column_name datatype
: ا ﻟﺗﺎﻟﻲEmployee ﻟدﯾﻧ ﺎ ﺟدولALTER TABLE ﻣﺛﺎل ﻋ ﻠﻰ ﺟﻣ ﻠﺔ
E_ID FirstName LastName Address Nationality
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
:و ﻧرﯾد ان ﻧ ﺿﯾف ﻋﻣود اً ﺟدﯾد ﻓﻲ ھذ ا ا ﻟﺟدول ﺑﻌﻧو ان ﺗﺎرﯾﺦ ا ﻟﻣﯾﻼد ﻧﻛﺗب اﻻﻣر ا ﻟﺗﺎ ﻟﻲ
ALTER TABLE Employee ADD Birthdate date
:ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛ ﺎﻻﺗﻲ
E_ID FirstName LastName Address Nationality Birthdate
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
:اذا اردﻧﺎ ان ﻧﺣذف ھذا اﻟﻌﻣود اﻟﺟدﯾد ﻧﻛﺗب اﻻﻣر اﻟ ﺗﺎﻟﻲ
ALTER TABLE Employee DROP COLUMN Birthdate
:ﺗﻛون ا ﻟﻧﺗﯾﺟﺔ ﻛ ﺎﻻﺗﻲ
E_ID FirstName LastName Address Nationality
1 Ahmed Mostafa Nasr City Egypt
2 Mohamed Abbas Altaief Sudan
3 Emad Mohamed Altaief Sudan
ﺧﺎﻟد اﻟزاﻛﻲ ﻋ ﺑدﷲ ﻣﺣﻣد