Professional Documents
Culture Documents
اﻟﺴﻼم ﻋﻠﻴﻜﻢ ,اﺣﻤﺪاﷲ اﻟﺬي اﻋﺎﻧﻨﻲ ﻓﻲ آﺘﺎﺑﺔ هﺬا اﻟﻜﺘﺎب ﻟﻼﻣﻪ اﻟﻌﺮﺑﻴﻪ و اﻻﺳﻼﻣﻴﻪ ,و اﺣﻤﺪﻩ ﻋﻠﻰ
ﺗﻮﻓﻴﻘﻲ ﻓﻲ ﺗﻌﻠﻢ هﺬﻩ اﻟﻠﻐﻪ ,اﺗﻤﻨﻰ ان اآﻮن ﻗﺪ ﻗﺪﻣﺖ وﻟﻮ اﻟﻘﻠﻴﻞ ﻟﻼﻣﻪ اﻟﻌﺮﺑﻴﻪ و اﻻﺳﻼﻣﻴﻪ ﻋﻠﻰ
اﻻﻧﺘﺮﻧﺖ ,ﻧﺘﻤﻨﻰ ﻟﻬﺬﻩ اﻻﻣﻪ داﺋﻤﺎ اﻟﺮﻗﻲ و اﻻزدهﺎر ﻓﻲ اﻻﻧﺘﺮﻧﺖ ,و هﺎ اﻧﺎ اآﺘﺐ هﺬا اﻟﻜﺘﺎب اﻟﺒﺴﻴﻂ ﻟﻜﻲ
ﺗﺘﻌﻠﻢ هﺬﻩ اﻻﻣﻪ و ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻧﻔﺴﻬﺎ ,و ﻧﺘﻤﻨﻰ اﻟﺘﻮﻓﻴﻖ ﻟﻠﺠﻤﻴﻊ ,,,
اهﺪي هﺬا اﻟﻜﺘﺎب إﻟﻰ آﻞ اخ ﻏﺎﻟﻲ ﻋﻠﻰ ﻗﻠﺒﻲ و اهﺪﻳﻪ إﻟﻰ آﻞ اﺳﺎﺗﺬﺗﻲ ﻓﻲ هﺬﻩ اﻟﻠﻐﻪ و ﻓﻲ ﻏﻴﺮ هﺬﻩ
اﻟﻠﻐﻪ ,وﻻ ارﻳﺪ ذآﺮ اي اﺳﻢ ﻟﻜﻲ ﻻ اﻧﺴﻰ اﺣﺪ ,,,
ﺟﻤﻴﻊ اﻟﺡﻘﻮق ﻣﺡﻔﻮﻇﻪ ﻟﻤﻮﻗﻊ و ﻣﻨﺘﺪﻳﺎت اﻟﺡﺰن , www.el7zn.comو هﺬا اﻟﻜﺘﺎب ﻣﺠﺎﻧﻲ وﻻ ﻳﺡﻖ ﻷي
ﺷﺨﺺ ﺑﻴﻌﻪ ,هﺬا اﻟﻜﺘﺎب ﻣﻦ ﺗﺄﻟﻴﻒ . MaaSTaaR
2
ﻋﻦ هﺬا اﻟﻔﺼﻞ :
ﻳﺡﺘﻮي هﺬا اﻟﻔﺼﻞ ﻋﻠﻰ ﻣﻘﺪﻣﻪ ﺑﺴﻴﻄﻪ ﻋﻦ ال SQLﻣﻌﻠﻮﻣﺎت ﺳﻮف ﺗﻔﻴﺪك ﺑﺈذن اﷲ و ﺗﺰﻳﺪ ﻣﻦ رﺻﻴﺪ
ﻣﻌﻠﻮﻣﺎﺗﻚ ﻓﻲ اﻻﻧﺘﺮﻧﺖ و ﻟﻐﺎت ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت
ﻣﺎ هﻮ اس آﻴﻮ ال ؟
اﻟﻜﻠﻤﻪ SQLهﻲ اﺧﺘﺼﺎر Structured Query Languageو ﻣﻌﻨﺎهﺎ )ﻟﻐﺔ اﻻﺳﺘﻌﻼم اﻟﺒﻨﻴﻮﻳﻪ( ,ﺗﺴﺘﺨﺪم
هﺬﻩ اﻟﻠﻐﻪ ﻓﻲ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ﺗﺴﺘﺨﺪم ﻻﺳﺘﺨﺮاج و ﺗﺡﺪﻳﺚ و اﺿﺎﻓﺔ اﻟﺒﻴﺎﻧﺎت ﻣﻦ ﻗﺎﻋﺪة
اﻟﺒﻴﺎﻧﺎت و ﻏﺎﻟﺒﺎ ﻣﺎ ﻳﺘﻢ اﺳﺘﺨﺪام هﺬا اﻟﻨﻮع ﻣﻦ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ﻓﻲ اﻟﻤﻮاﻗﻊ اﻟﺘﻲ ﺗﺴﺘﺨﺪم اﻟﺘﻘﻨﻴﺎت
اﻟﺸﻬﻴﺮﻩ ﻣﺜﻞ اﻟـ , PHPو آﻤﺎ ﻧﺮى ان اﻏﻠﺐ ﺑﺮاﻣﺞ اﻟﻮﻳﺐ ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟــ SQLﻣﻦ ﺧﻼل اﻟﻤﺡﺮك اﻟﺸﻬﻴﺮ
,,, MySQL
http://www.rafiaphp.com/news.php?action=list&cat_id=10
http://www.phpvillage.com/p.php?page=0&idp=48&search=mysql&total=8371
http://www.phpvillage.com/p.php?page=0&idp=49&search=mysql&total=8831
http://www.phpvillage.com/p.php?page=0&idp=52&search=mysql&total=7058
http://www.phpvillage.com/p.php?page=0&idp=55&search=mysql&total=5400
http://www.mysql.com
,ﺣﺴﻨﺎً ﻻ ﺑﺄس ﻣﻦ اﺧﺬ ﺑﻌﺪ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ هﺬا اﻟﻤﺡﺮك ,دﻋﻮﻧﺎ ﻣﻬﻼ !! ال MySQLﻟﻴﺲ ﻣﻮﺿﻮﻋﻨﺎ
ﻧﻨﻄﻠﻖ إﻟﻰ اﻟﺨﻄﻮﻩ اﻟﺘﺎﻟﻴﻪ ,,
اﻟﻄﺮﻳﻘﻪ اﻻوﻟﻰ :اذا آﻨﺖ ﻣﺒﺮﻣﺞ PHPﻣﻦ ﻗﺒﻞ ﻳﻤﻜﻨﻚ ﺗﻄﺒﻴﻖ اﻻواﻣﺮ اﻟﺘﻲ ﺳﻮف ﻧﺪرﺳﻬﺎ ﻣﻦ ﺧﻼل اﻟﺪاﻟﻪ
;)( mysql_queryﻟﻜﻦ ﻳﺠﺐ ﻋﻠﻴﻨﺎ اﻻﺗﺼﺎل ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت و اﻧﺸﺎء اﻟﻘﺎﻋﺪﻩ ,ﻓﺈذا آﻨﺖ ﻣﺒﺘﺪئ ﻻ اﻧﺼﺡﻚ
ﺑﻬﺬﻩ اﻟﻄﺮﻳﻘﻪ ,ﻟﻨﺮى اﻟﻄﺮﻳﻘﻪ اﻟﺜﺎﻧﻴﻪ ﻓﻬﻲ اﻓﻀﻞ ,,,
اﻟﻄﺮﻳﻘﻪ اﻟﺜﺎﻧﻴﻪ :ﻣﻦ ﺧﻼل ﺑﺮﻧﺎﻣﺞ اآﺴﺲ اﻟﺬي ﻳﺄﺗﻲ ﻣﻊ ﺣﺰﻣﺔ ﻣﺎﻳﻜﺮوﺳﻮﻓﺖ اوﻓﻴﺲ ,ﺳﻮف ﻧﺸﺮح
ﻃﺮﻳﻘﺔ اﻻآﺴﺲ ﺑﺎﻟﺼﻮر ﺑﺈذن اﷲ ,,,
3
ﻣﺎ اﻟﺬي ﺳﻮف اﺳﺘﻔﻴﺪﻩ ﻣﻦ ﺗﻌﻠﻢ SQL؟
,ﻓﻲ اﻟﺡﻘﻴﻘﻪ اذا آﻨﺖ ﻣﺒﺮﻣﺞ اﺣﺪ ﻟﻐﺎت اﻟﻮﻳﺐ ﻓﺴﻮف ﺗﺴﺘﻔﻴﺪ آﺜﻴﺮاً ,ﻻﻧﻚ ﺳﻮف ﺗﺘﻌﻠﻢ ﺳﺆال ﺟﻴﺪ
ﻃﺮﻳﻘﻪ ﺻﻴﻐﺔ اﻻواﻣﺮ ﻓﻲ SQLو ذﻟﻚ ﻳﺴﺎﻋﺪك ﻓﻲ اﺳﺘﻌﻤﺎل ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ﻓﻲ ﺑﺮﻧﺎﻣﺠﻚ ,اﻳﻀﺎ ﺳﻮف
ﺗﺘﻜﻤﻦ ﻣﻦ اﺳﺘﺨﺪام اﻻآﺴﺲ و ﺟﻤﻴﻊ اﻟﺒﺮاﻣﺞ و ﻣﺡﺮآﺎت ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ SQLﻣﺜﻞ
MySQL , PostgerSQL , SQL Serverأي اﻧﻚ ﺳﻮف ﺗﺠﻴﺪ اﺳﺘﺨﺪام اي ﺷﺊ ﻳﺘﻌﺎﻣﻞ ﻣﻊ ال ,,, SQL
هﻞ ﺗﺸﻮﻗﺖ ﻟﺘﺘﻌﻠﻢ اﻟﻤﺰﻳﺪ ﻋﻦ هﺬﻩ اﻟﻠﻐﻪ ؟ اذاً ارح ﻋﻴﻨﻴﻚ ﻗﻠﻴﻼً ﻻ ﺑﺄس
ﻣﻦ ﻓﻨﺠﺎن ﻗﻬﻮﻩ او آﻮب ﺷﺎي ,ﺑﻌﺪﻣﺎ ﺗﻨﺘﻬﻲ اﺗﺒﻌﻨﻲ إﻟﻰ اﻟﻔﺼﻞ اﻟﻘﺎدم
...
4
ﻋﻦ هﺬا اﻟﻔﺼﻞ :
ﻳﺘﺡﺪث هﺬا اﻟﻔﺼﻞ ﻋﻦ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت و ﻣﺎ ﺗﺡﺘﻮي وﻣﺎ اهﻤﻴﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ﺑﺎﻟﻨﺴﺒﻪ ﻟــ ,,, SQL
آﻴﻒ ؟
ﻣﻦ ﺧﻼل اﻻواﻣﺮ اﻟﺘﻲ ﺳﻮف ﺗﻨﻄﺮق إﻟﻴﻬﺎ ﻓﻲ اﻟﻔﺼﻮل اﻟﻘﺎدﻣﻪ ﺑﺈذن اﷲ .
ﻣﺎ هﻲ اﻟﺠﺪاول ؟
هﻲ ﻋﺒﺎرﻩ ﻋﻦ ﺟﺪاول ﺗﺡﺘﻮي ﻋﻠﻰ ﺣﻘﻮل و ﻳﻤﻜﻦ اﺿﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت ﺣﺴﺐ اﻟﺡﻘﻮل اﻟﻤﻮﺟﻮدﻩ ,ﻣﺜﻼ ﻳﻮﺟﺪ
ﻟﺪﻳﻨﺎ ﺣﻘﻞ ﻓﻲ اﻟﺠﺪول ﺑﺈﺳﻢ nameﻳﻤﻜﻨﻨﺎ ﻣﻦ ﺧﻼل هﺬا اﻟﺡﻘﻞ اﺿﺎﻓﺔ اﺳﻤﻨﺎ ﻓﻲ اﻟﺠﺪول ,,,
5
هﻞ ﻳﻤﻜﻨﻨﻲ إﻧﺸﺎء اﻟﺠﺪاول ﻣﻦ ﺧﻼل ال SQL؟
,,, ﻧﻌﻢ ﻳﻤﻜﻦ ذﻟﻚ ﻃﺒﻌﺎً
آﻴﻒ ؟
ﻻ ﺗﺘﻌﺠﻞ اﻻﻣﻮر ﻓﻲ اﻟﻔﺼﻮل اﻟﻘﺎدﻣﻪ ﺑﺈذن اﷲ ﺳﻮف ﻳﺘﻢ ﺷﺮح ذﻟﻚ و ﺑﺎﻟﺘﻔﺼﻴﻞ اﻟﻤﻤﻞ ﺑﺈذن اﷲ ,,
6
ﻋﻦ هﺬا اﻟﻔﺼﻞ :
ﻋﻦ ﻃﺮﻳﻖ هﺬا اﻟﻔﺼﻞ ﺳﻮف ﺗﺘﻌﻠﻢ آﻴﻔﻴﺔ آﺘﺎﺑﺔ اواﻣﺮ اﻻس آﻴﻮ ال ﻓﻲ ﻣﺎﻳﻜﺮوﺳﻮﻓﺖ اآﺴﺲ .
7
ﺑﻌﺪ اﻟﻀﻐﻂ ﺳﻮف ﺗﻈﻬﺮ هﺬﻩ اﻟﻨﺎﻓﺬﻩ ,,,
)(7
8
ﺑﻌﺪ اﻟﻀﻐﻂ ﻻﺣﻆ ﻓﻲ اﻻﻋﻠﻰ ,ﺷﺮﻳﻂ اﻻدوات ,اول اداة ﺗﻜﻮن ﺑﻬﺬا اﻟﺸﻜﻞ :
,ﺳﻮف ﺗﻈﻬﺮ هﺬﻩ ﻟﻚ هﺬﻩ اﻟﻨﺎﻓﺬﻩ ,, ﺑﻜﻞ ﺑﺴﺎﻃﻪ اﺿﻐﻂ ﻋﻠﻰ هﺬﻩ اﻻداة
ﺑﻌﺪ آﺘﺎﺑﺔ اﻻﻣﺮ ﺗﻀﻐﻂ ﻋﻠﻰ هﺬا اﻟﺰر ﻟﻜﻲ ﻳﺘﻢ ﺗﻨﻔﻴﺬﻩ :
9
اﻵن و ﺑﻌﺪ ان ﺗﻌﺮﻓﻨﺎ ﻋﻠﻰ ﻃﺮﻳﻘﺔ آﺘﺎﺑﺔ اﻻواﻣﺮ ﻓﻲ اﻻآﺴﺲ ﺳﻮف ﻧﺒﺪأ
ﺑﺈﺳﺘﺨﺪام اﻻواﻣﺮ ﺑﺈذن اﷲ
10
ﻋﻦ اﻟﻔﺼﻞ :
ﻣﻦ ﺧﻼل هﺬا اﻟﻔﺼﻞ ﺳﻮف ﺗﺘﻌﻠﻢ آﻴﻔﻴﺔ إﻧﺸﺎء و ﺣﺬف ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ,ﺗﻔﻀﻞ و ﺗﺎﺑﻊ ﻣﻌﻨﺎ .
ﺳﻮف ﻧﻘﺮأ هﺬا اﻻﻣﺮ ﺑﺎﻟﻠﻐﻪ اﻟﻌﺮﺑﻴﻪ ,آﺄﻧﻚ ﺗﻘﻮل )أﻧﺸﺊ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ اﺳﻤﻬﺎ . (dbname
ﻃﺒﻌﺎً اﻟــ dbnameﻳﻤﻜﻨﻚ ﺗﻐﻴﺮﻩ إﻟﻰ اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﺗﺮﻳﺪﻩ ﻣﺜﻼً ﺗﻮد اﺳﻢ اﻟﻘﺎﻋﺪﻩ SQLاو db
ﻣﺜﻼً ,أي اي اﺳﻢ ﺗﺮﻳﺪﻩ ,,ﻟﻨﻔﺮض اﻧﻨﺎ ﻧﻮد اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت SQLDataBaseﺳﻮف ﻧﺒﺪل ال dbname
إﻟﻰ اﺳﻢ اﻟﻘﺎﻋﺪﻩ اﻟﺘﻲ ﻧﺮﻳﺪهﺎ ,,
ﻟﻤﺎذا ؟
هﻞ ﺗﺘﺬآﺮ ﻓﻲ اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻋﻨﺪﻣﺎ ﺿﻐﻄﻨﺎ ﻋﻠﻰ newﺛﻢ Blank Databaseﻓﻲ هﺬﻩ اﻟﺨﻄﻮﻩ ﻗﻤﻨﺎ ﺣﻘًﺎ
ﺑﺈﻧﺸﺎء ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت و ﺗﺴﻤﻴﺘﻬﺎ ﻣﻦ دون اواﻣﺮ اﻻس آﻴﻮ ال ,اﻵن ﺣﺎول آﺘﺎﺑﺔ اﻣﺮ اﻻﺿﺎﻓﻪ ﺳﻮف ﻳﻈﻬﺮ
,, ﻟﻚ ﺧﻄﺄ ,ﻻﻧﻪ ﻓﻲ اﻟﺡﻘﻴﻘﻪ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟﻘﺎﻋﺪﻩ ﺳﺎﺑﻘﺎً
ﻟﻤﺎذا ؟
ﺑﻜﻞ ﺑﺴﺎﻃﻪ ﻻﻧﻪ اﻟﻤﺎي اس آﻴﻮ ال ﻻ ﻳﻨﺸﺊ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻋﻨﺪ ﺗﺸﻐﻴﻠﻪ ﺑﻞ ﻳﻄﻠﺐ ﻣﻨﻚ ان ﺗﻜﺘﺐ اﻻﻣﺮ
ﻟﻜﻲ ﺗﻨﺸﺊ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت .
11
ﺣﺬف ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت :
ﺑﻌﺪﻣﺎ ﺗﻌﺮﻓﻨﺎ آﻴﻔﻴﺔ اﻧﺸﺎء ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻵن ﺳﻮف ﻧﺘﻌﻠﻢ آﻴﻒ ﻧﺡﺬف ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ,
آﻤﺎ ﺗﻼﺣﻆ ﻟﻢ ﻳﺘﻐﻴﺮ ﻣﻦ اﻻﻣﺮ ﺳﻮا آﻠﻤﺔ CREATEو ﺗﺡﻮﻟﺖ إﻟﻰ , DROPو آﻤﺎ ذآﺮﻧﺎ ﺳﺎﺑﻘﺎ dbname
إﺳﻢ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﺗﻮد ﺣﺬﻓﻬﺎ ,,
ﺗﺡﺬﻳﺮ هﺎم :ﺳﻮف ﻳﺘﻢ ﺟﻤﻴﻊ اﻟﻤﻌﻠﻮﻣﺎت و اﻟﺠﺪاول ﻓﻲ اﻟﻘﺎﻋﺪﻩ اﻟﻤﺡﺬوﻓﻪ أي ﻻ ﺗﻔﺮط •
ﺑﺈﺳﺘﺨﺪام هﺬا اﻻﻣﺮ .
اﻵن وﺑﻌﺪﻣﺎ ﺗﻌﺮﻓﻨﺎ ﻋﻠﻰ آﻴﻔﻴﺔ اﻧﺸﺎء و ﺣﺬف ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ,ﻟﻨﻨﺘﻘﻞ
ﻟﻠﻔﺼﻞ اﻟﺬي ﺑﻌﺪﻩ ﻟﻜﻲ ﻧﺘﻌﺮف ﻋﻠﻰ آﻴﻔﻴﺔ إﻧﺸﺎء اﻟﺠﺪاول و ﻣﻌﺮﻓﺔ اﻧﻮاع
اﻟﺡﻘﻮل ,,
12
ﻋﻦ اﻟﻔﺼﻞ :
ﺳﻮف ﻧﺘﻌﻠﻢ ﻣﻦ هﺬا اﻟﻔﺼﻞ آﻴﻔﻴﺔ إﻧﺸﺎء اﻟﺠﺪاول و أﺧﺬ ﻓﻜﺮﻩ ﻋﻦ اﻧﻮاع اﻟﺡﻘﻮل و ﺑﻌﺪهﺎ ﺳﻮف ﻧﺘﻌﻠﻢ آﻴﻒ
ﻧﻔﺮغ اﻟﺠﺪول ﻣﻦ ﺟﻤﻴﻊ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻮﺟﻮدﻩ ﻓﻴﻪ و اﺧﻴﺮا ﺳﻮف ﻧﺘﻌﻠﻢ آﻴﻒ ﻧﺡﺬف اﻟﺠﺪول ﻧﻬﺎﺋﻴﺎ ﻣﻦ ﻗﺎﻋﺪة
اﻟﺒﻴﺎﻧﺎت ,,
آﻮد :
( CREATE TABLE tablname
Falid1 type null or not null ,
Falid2 type null or not null ,
;)
ﺣﺴﻨﺎً ,ﻟﻨﺒﺪأ اﻟﺸﺮح ﺧﻄﻮﻩ ﺑﺨﻄﻮﻩ ,ﻓﻲ اول اﻟﺴﻄﺮ ﻧﻘﻮل ﺑﺈﻧﻨﺎ ﻧﻮد إﻧﺸﺎء اﻟﺠﺪول tablnameﻃﺒﻌﺎً ﻳﻤﻜﻨﻨﺎ
ﺗﻐﻴﻴﺮ هﺬﻩ اﻟﻜﻠﻤﻪ إﻟﻰ اﺳﻢ اﻟﺠﺪول اﻟﺬي ﻧﻮد اﺿﺎﻓﺘﻪ ,ﺑﻌﺪﻩ ﺳﻮف ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ اﻟﺡﻘﻮل اﻟﺘﻲ ﺳﻮف
ﻧﺴﺘﺨﺪﻣﻬﺎ ﻟﺘﻌﺒﺌﺔ اﻟﻤﻌﻠﻮﻣﺎت ,,
: Falid1 , Falid2هﺬان اﻻﺛﻨﺎن ﻳﻌﻨﻴﺎن اﻧﻬﻢ اﺳﻤﺎء ﻟﻠﺡﻘﻮل و هﺎ ﻧﺡﻦ ﻧﻮد اﺿﺎﻓﺔ ﺣﻘﻼن اﻻول ﺑﻤﺴﻤﻰ
Falid1و اﻟﺜﺎﻧﻲ Falid2ﺑﻌﺪهﺎ ﻧﺒﺪأ ﺑﻮﺻﻒ ﻣﻤﻴﺰات هﺬا اﻟﺡﻘﻞ و ﻧﻮع اﻟﺒﻴﺎﻧﺎت و ﺳﻴﺘﻢ ﺷﺮح ﻧﻮع اﻟﺒﻴﺎﻧﺎت
ﻓﻲ اﻟﺴﻄﻮر اﻟﻘﺎدﻣﻪ .
: Null or not nullهﺬا ﻳﻌﻨﻲ اﻧﻪ هﻞ ﺗﺮﻳﺪ ان ﻳﻜﻮن اﻟﺡﻘﻞ ﺧﺎﻟﻲ ؟ ﻣﺜﻼ هﻞ ﺗﺮﻳﺪ ان اﺳﻢ اﻟﻤﺴﺘﺨﺪم هﻞ
ﻳﺠﺐ ان ﻳﻜﺘﺒﻪ اﻟﻤﺴﺘﺨﺪم ام اﺧﺘﻴﺎري .
ﺣﺴﻨﺎً ,ﺑﻌﺪﻣﺎ رأﻳﻨﺎ آﻴﻒ ﻧﻘﻮم ﺑﺈﻧﺸﺎء ﺟﺪول و ﺗﻌﺮﻓﻨﺎ ان هﻨﺎﻟﻚ اﻧﻮاع ﻟﻠﺡﻘﻮل او اﻟﺒﻴﺎﻧﺎت ,ﺣﺴﻨﺎً ﺗﻤﻌّﻦ ﻓﻲ
اﻟﺠﺪول اﻟﺘﺎﻟﻲ اﻟﺬي ﺳﻮف ﻳﺸﺮح اﻧﻮاع اﻟﺡﻘﻮل ,,
13
ﻧﻮﻋﻴﺔ اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﻳﻤﻜﻦ ﺗﺨﺰﻳﻨﻬﺎ اﻟﻨﻮع
ارﻗﺎم ﺻﺡﻴﺡﻪ ﺻﻐﻴﺮﻩ ﺟﺪاً )(TINYINT
ارﻗﺎم ﺻﺡﻴﺡﻪ ﺻﻐﻴﺮﻩ )(SMALLINT
ارﻗﺎم ﺻﺡﻴﺡﻪ ﻣﺘﻮﺳﻄﺔ اﻟﺡﺠﻢ )(MEDIUMINT
ارﻗﺎم ﺻﺡﻴﺡﻪ اﻋﺘﻴﺎدﻳﻪ )(INT
ﻣﺮادف ﻟــ INT )(INTEGER
ارﻗﺎم ﺻﺡﻴﺡﻪ آﺒﻴﺮﻩ ﺟﺪاً )(BIGINT
ﺟﺪول ﻻﻧﻮاع اﻻرﻗﺎم اﻟﺼﺡﻴﺡﻪ
اﻟﻮﺻﻒ اﻟﻨﻮع
ﺣﻘﻞ آﺎﺋﻦ BLOBﺻﻐﻴﺮ ﺟﺪا TINYBLOB
ﺣﻘﻞ TEXTﺻﻐﻴﺮ ﺟﺪا TINYTEXT
ﺣﻘﻞ BLOBﺣﺠﻤﻪ ﻋﺎدي BLOB
ﺣﻘﻞ TEXTﺣﺠﻤﻪ ﻋﺎدي TEXT
ﺣﻘﻞ BLOBﻣﺘﻮﺳﻂ اﻟﺡﺠﻢ MEDIUMBLOB
ﺣﻘﻞ TEXTﻣﺘﻮﺳﻂ اﻟﺡﺠﻢ MEDIUMTEXT
ﺣﻘﻞ BLOBﻃﻮﻳﻞ LONGBLOB
ﺣﻘﻞ TEXTﻃﻮﻳﻞ LONGTEXT
اﻻﻧﻮاع TEXTو BLOB
اﻟﻮﺻﻒ اﻟﻨﻮع
ﺣﻘﻞ ﻳﻘﻮم ﺑﺘﺨﺰﻳﻦ 1إﻟﻰ 255ﺣﺮف CHAR
ﻧﻔﺲ ﻋﻤﻞ اﻟﺴﺎﺑﻖ VARCHAR
اﻧﻮاع اﻟﺴﻼﺳﻞ اﻻﻋﺘﻴﺎدﻳﻪ
اﻵن و ﻗﺪ ﺗﻨﺎوﻟﻨﺎ اﻧﻮاع اﻻﻋﻤﺪﻩ اﻵن ﻳﻤﻜﻨﻨﺎ اﻧﺸﺎء ﺟﺪول ﻟﻠﺒﻴﺎﻧﺎت ,ﺣﻴﺚ ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام هﺬﻩ اﻻﻧﻮاع
ﺣﺴﺐ ﺑﻴﺎﻧﺎت اﻟﺠﺪول ,ﺣﺴﻨﺎً اﻵن ﻧﺮﻳﺪ اﻧﺸﺎء ﺟﺪول ﻟﻜﻦ ﻣﺎ هﻮ ﻣﻮﺿﻮﻋﻪ ,ﻟﻨﻔﻜﺮ ......
ﻟﻨﻔﺮض إن ﻟﺪﻳﻨﺎ ﺷﺮآﺔ إﺳﺘﻀﺎﻓﻪ ﻹﺳﺘﻀﺎﻓﺔ اﻟﻤﻮاﻗﻊ ,و ﻧﺮﻳﺪ ﺟﺪول ﻳﻘﻮم ﺑﺘﺨﺰﻳﻦ اﺳﻤﺎء و اهﺎ وﺟﺪﺗﻬﺎ
. ارﻗﺎم هﻮاﺗﻒ زﺑﺎﺋﻨﻨﺎ ,ﺣﺴﻨﺎً ﻟﻨﻔﻜﺮ ﻣﺎ هﻲ اﻟﺡﻘﻮل
ﺣﺴﻨﺎ ﻟﻨﻔﺮض اﻧﻨﺎ ﺑﺡﺎﺟﻪ إﻟﻰ 4ﺣﻘﻮل ,و ﺳﻨﻌﺪد ﻣﺎهﻲ :
اﻟﺡﻘﻞ اﻻول :وﺳﻮف ﻳﻜﻮن اﻟﻤﻌﺮف اﻟﺨﺎص ﻟﻜﻞ زﺑﻮن ,ﺣﻴﺚ ﻳﻜﻮن رﻗﻢ ﺧﺎص ﻟﻠﺰﺑﻮن ﻳﻤﻴﺰﻩ ﻋﻦ ﻏﻴﺮﻩ ﻣﻦ
اﻟﺰﺑﺎﺋﻦ .
اﻟﺡﻘﻞ اﻟﺜﺎﻧﻲ :اﺳﻢ اﻟﺰﺑﻮن ,ﻃﺒﻌﺎً ﻣﻌﺮوﻓﻪ وﻻ ﺗﺡﺘﺎج ﻟﺸﺮح
اﻟﺡﻘﻞ اﻟﺜﺎﻟﺚ :رﻗﻢ هﺎﺗﻒ اﻟﺰﺑﻮن
اﻟﺡﻘﻞ اﻟﺮاﺑﻊ :ﻋﻨﻮان ﻣﻮﻗﻊ اﻟﺰﺑﻮن
14
ﻳﺠﺐ ﻋﻠﻴﻨﺎ ان ﻧﺡﺪد ﻧﻮﻋﻬﺎ . ﺣﺴﻨﺎً اﻵن و ﺑﻌﺪ ﺗﺡﺪﻳﺪ اﻟﺡﻘﻮل ووﻇﺎﺋﻔﻬﺎ
اﻟﺡﻘﻞ اﻻول :ﺑﻤﺎ اﻧﻪ ﺣﻘﻞ ﻳﺡﻤﻞ رﻗﻢ ﺧﺎص ﻟﻜﻞ زﺑﻮن اذاً ﺳﻮف ﻧﺮﺟﻊ إﻟﻰ ﺟﺪول اﻧﻮاع اﻻرﻗﺎم ,ﺳﻮف
ﻧﺨﺘﺎر اﻟﻨﻮع )( INTﺑﺡﻴﺚ ﻳﻜﻮن رﻗﻢ اﻋﺘﻴﺎدي ﺻﺡﻴﺡ
ﺣﺴﻨﺎً , ﺣﺴﻨﺎً ,اﻵن ﻟﺪﻳﻨﺎ ﻣﺸﻜﻠﻪ ؟! ..ﻧﻔﺮض اردﻧﺎ اﺿﺎﻓﺔ زﺑﻮن ﻃﺒﻌﺎ اﻟﺰﺑﻮن اﻻول ﺳﻮف ﻳﻜﻮن رﻗﻤﻪ 1
ﻧﺮﻳﺪ اﺿﺎﻓﺔ زﺑﻮن ﺛﺎﻧﻲ و ﺳﻮف ﻧﻜﺘﺐ ﻓﻲ اﻟﺡﻘﻞ اﻻول رﻗﻢ , 2ﻟﻜﻦ ﻣﺎذا ﻟﻮ وﺻﻠﻮا ﻋﺪد زﺑﻨﺎﺋﻨﺎ ﻣﻠﻴﻮن زﺑﻮن !!
هﻞ ﺳﻮف ﻧﻜﺘﺐ ﻓﻲ اﻟﺡﻘﻞ اﻻوﻟﻰ ﻣﻠﻴﻮن ﻣﻠﻴﻮن وواﺣﺪ ﻣﻠﻴﻮن و اﺛﻨﻴﻦ !! ﻃﺒﻌﺎً ﻻ ﻳﻤﻜﻨﻨﺎ ذﻟﻚ ﺑﻞ ﺳﻮف
. ﻧﻬﺮب ﻣﻦ هﺬﻩ اﻟﻠﻐﻪ و ﻣﻦ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت
ﻗﺪ ﺗﺘﺴﺎﺋﻞ ﻣﺎهﻮ ﺣﻞ هﺬﻩ اﻟﻤﺸﻜﻠﻪ اﻟﻜﺒﻴﺮﻩ اﻟﺘﻲ ﻗﺪ ﺗﻌﺮﻗﻠﻨﺎ ,ﻗﺪ ﻳﻘﻮل اﻟﺒﻌﺾ ﻻ ﻧﺡﺘﺎج اﻟﺡﻘﻮل اﻻوﻟﻰ وﻻ
ﻧﺮﻳﺪ ﺗﺮﻗﻴﻢ هﺬا اﻟﺰﺑﻮن .
اﻟﺡﻤﺪﷲ وﻟﻜﻨﻨﻲ ارد ﻋﻠﻴﻬﻢ و اﻗﻮل ﺑﻞ ﻳﻤﻜﻨﻨﺎ ﺗﺮﻗﻴﻤﻪ و ﺑﺴﻬﻮﻟﻪ ﺑﺎﻟﻐﻪ و ﻣﻦ دون اي ﺗﻌﺐ او ﺷﻘﺎء
هﻨﺎك ﺧﺎﺻﻴﻪ ﺑﺈﺳﻢ auto_incrementوهﻲ اوﺗﻮﻣﺎﺗﻴﻜﻴﻪ ﺣﻴﺚ آﻠﻤﺎ ﻗﻤﺖ ﺑﺈﺿﺎﻓﺔ زﺑﻮن ﻳﻜﺘﺐ رﻗﻢ ﺁﺧﺮ زﺑﻮن
, 1 +ﻳﻌﻨﻲ ﻻ ﺗﺸﻘﻰ وﻻ ﺗﺘﻌﺐ اﺟﻌﻞ ﻋﻤﻠﻴﺔ اﻋﻄﺎء اﻟﺰﺑﻮن رﻗﻢ ﺧﺎص ﻟﻠﻐﺔ اﻟـ. SQL
ﺗﻜﻠﻤﺖ آﺜﻴﺮاً ﺻﺡ ؟
( ,اﻵن ﻧﺮﻳﺪ ﺣﺴﻨﺎً اﻵن ﻗﻤﻨﺎ ﺑﻮﺻﻒ ﺟﺪوﻟﻨﺎ ,او ﻣﺎ ﻳﺴﻤﻰ ﺑﻬﻨﺪﺳﺔ اﻟﺠﺪول )ﻋﻦ اﻟﻔﻠﺴﻠﻔﻪ ﻳﺎ ﻣﺎﺳﺘﺮ
. آﺘﺎﺑﺔ اﻣﺮ ﻹﻧﺸﺎء ﺟﺪوﻟﻨﺎ و ﻟﻜﻦ !! ﻧﺮﻳﺪ ﺗﺡﺪﻳﺪ اﺳﻤﺎء اﻟﺡﻘﻮل
ﻟﻨﻔﺮض ان اﻟﺡﻘﻞ اﻻول إﺳﻤﻪ idاي identifyو اﻟﻤﻘﺼﻮد رﻗﻢ اﻟﻤﻌﺮف آﻤﺎ ذآﺮﻧﺎ ﻣﺴﺒﻘﺎً ﺳﻮف ﻳﻜﻮن ﻧﻮﻋﻪ
INTاي ﻋﺪد ﺻﺡﻴﺡ و ﺳﻮف ﻧﺸﻐﻞ ﻓﻴﻪ اﻟﺨﺎﺻﻴﻪ auto_increment :ﻟﻜﻲ ﻳﻜﻮن اوﺗﻮﻣﺎﺗﻴﻜﻴﺎً .
ﻟﻨﻔﺮض ان اﻟﺡﻘﻞ اﻟﺜﺎﻧﻲ اﻟﺬي هﻮ إﺳﻢ اﻟﺰﺑﻮن وﻳﻜﻮن اﺳﻤﻪ nameﻃﺒﻌﺎً ﻳﻜﻮن ﻧﻮﻋﻪ ﻣﻦ varcharاي
ﺳﻠﺴﻠﻪ .
ﻟﻨﻔﺮض ان اﻟﺡﻘﻞ اﻟﺜﺎﻟﺚ وهﻮ رﻗﻢ اﻟﻬﺎﺗﻒ إﺳﻤﻪ phoneﻃﺒﻌﺎً ﻳﻜﻮن ﻧﻮﻋﻪ INTاي رﻗﻢ ﺻﺡﻴﺡ )ﻻﻧﻪ ﻋﻤﺮي
ﻣﺎ ﺷﻔﺖ رﻗﻢ ﺗﻴﻠﻔﻮن ﻓﻴﻪ ﺣﺮوف (
ﻟﻨﻔﺮض ان اﻟﺡﻘﻞ اﻟﺮاﺑﻊ و اﻻﺧﻴﺮ و هﻮ ﻋﻨﻮان ﻣﻮﻗﻌﻪ ﻳﻜﻮن ال varcharﻻﻧﻪ ﺗﻌﺘﺒﺮ ﺳﻠﺴﻠﻪ واﺳﻤﻪ . domin
وهﻮ اﺳﻢ اﻟﺠﺪول ,ﻟﻨﻔﺮض ان اﺳﻤﻪ client ﻟﺡﻈﻪ !! ﻧﺴﻴﻨﺎ ﺷﺊ ﻣﻬﻢ ﺟﺪا
)(14
15
ﺣﺴﻨﺎً اﻵن ﻟﻨﻜﺘﺐ اﻻﻣﺮ :
آﻮد :
( CREATE TABLE client
id INT(9) NOT NULL auto_increment ,
name varchar(200) NOT NULL ,
phone INT(9) NOT NULL ,
domin varchar(150) NOT NULL ,
)primary key (id
;)
ﻃﺒﻌﺎ ﺑﻌﺪ إﻧﺸﺎء اﻟﺠﺪول ﻧﻀﻴﻒ اﻟﻤﻌﻠﻮﻣﺎت و ﻧﺡﺬﻓﻬﺎ و ﻧﺡﺪّﺛﻬﺎ ,وﻟﻜﻦ ﻟﻦ ﻧﺘﻨﺎول اﻵن ﻃﺮﻳﻘﺔ اﺿﺎﻓﺔ
اﻟﻤﻌﻠﻮﻣﺎت و ﺣﺬف و ﺗﺡﺪﻳﺜﻬﺎ ,ﺑﻞ ﺳﻮف ﻧﻜﻤﻞ ﻃﺮﻳﻘﻨﺎ ﻣﻊ اﻟﺠﺪاول ﺛﻢ ﺑﺈذن اﷲ ﻧﺒﺪأ ﺑﺎﻟﻤﻌﻠﻮﻣﺎت .
ﻧﻔﺘﺮض اﻧﻨﺎ ﻗﻤﻨﺎ ﺑﺈﺿﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت !! ,و ﻧﺮﻳﺪ ﺣﺬﻓﻬﺎ ﺟﻤﻴﻌﻬﺎ .
ﺣﺴﻨﺎً ﻟﻨﻔﺮض ان اﻟﺡﻞ هﻮ آﺘﺎﺑﺔ اواﻣﺮ ﺣﺬف اﻟﻤﻌﻠﻮﻣﺎت ﻟﻜﻞ زﺑﻮن ﺣﺘﻰ ﻧﺡﺬﻓﻬﻢ آﻠﻬﻢ ,وﻟﻜﻦ !! ﻧﻔﺮض ان
ﻟﺪﻳﻨﺎ 1000زﺑﻮن !! هﻞ ﺳﻨﻜﺘﺐ اﻻﻣﺮ 1000ﻣﺮﻩ ؟!..
آﻮد :
;DELETE FROM tablename
ﻃﺒﻌﺎً اﻟﻤﻘﺼﻮد ب tablenameاﺳﻢ اﻟﺠﺪول ,ﺣﺴﻨﺎً اﻵن ﻋﻨﺪ آﺘﺎﺑﺔ هﺬا اﻻﻣﺮ ﺳﻮف ﻳﺡﺬف آﻞ اﻟﻤﻌﻠﻮﻣﺎت.
اﻟﺠﻮاب ﻃﺒﻌﺎً ﻧﻌﻢ و ﺑﺈﺳﺘﺨﺪام ﻧﻔﺲ اﻻﻣﺮ ﻟﻜﻦ ﺑﺈﺿﺎﻓﺔ اﻟﺠﻤﻠﻪ اﻟﺸﺮﻃﻴﻪ WHEREاﻟﺘﻲ ﺳﻮف ﻧﺪرﺳﻬﺎ ﻓﻲ
اﻟﻔﺼﻮل اﻟﻘﺎدﻣﻪ ان ﺷﺎء اﷲ.
16
ﺣﺬف اﻟﺠﺪول :
( هﻨﺎك اﻣﺮ ﺑﺴﻴﻂ ﻟﺡﺬف اﻟﻤﻌﻠﻮﻣﺎت ﺣﺴﻨﺎً ,ﻟﻨﻔﺮض اﻧﻨﺎ اﻧﺸﺎﺋﻨﺎ ﺟﺪول وﻻ ﻧﺮﻳﺪﻩ )ﺗﻮهﻘﻨﺎ ﻓﻴﻪ و ﻣﺎ ﻧﺒﻴﻪ
و ﺣﺬﻓﻪ ﻧﻬﺎﺋﻴﺎً ﻣﻦ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت .
آﻮد :
;DROP TABLE tablename
ﺣﺴﻨﺎً اﻵن ارﺗﺎح ﻗﻠﻴﻼً ﻟﻨﺪﺧﻞ ﺑﺎﻟﻔﺼﻞ هﻞ اﺗﻌﺒﻚ هﺬا اﻟﻘﺴﻢ ؟!..
اﻟﺴﺎدس .
17
ﻋﻦ اﻟﻔﺼﻞ :
ﻓﻲ هﺬا اﻟﻔﺼﻞ ﺳﻮف ﻧﺘﻌﻠﻢ ﻃﺮﻳﻘﺔ اﺿﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ,ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ﺣﺬف و ﺗﺡﺪﻳﺚ
هﺬﻩ اﻟﻤﻌﻠﻮﻣﺎت .
هﻨﺎك اﻣﺮ ﺧﺎص ﻓﻲ اﻟـ , SQLﺣﻴﺚ ﻳﺴﻤﺡ ﻟﻨﺎ ﺑﺈﺿﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت .
آﻮد :
;)'INSERT INTO tablename VALUES ('info1','info2
ﺑﺎﻟﻨﺴﺒﻪ ﻟـ info1و info2هﻢ اﻟﻤﻌﻠﻮﻣﺎت ,ﻃﺒﻌﺎ ﻻ ﺗﻜﻮن اﻟﻤﻌﻠﻮﻣﺎت ﺑﻌﺪد ﺛﺎﺑﺖ ,ﻣﺜﻼ ﻟﺪﻳﻨﺎ ﺑﺎﻟﻤﺜﺎل اﻟﺴﺎﺑﻘﻪ
اﺿﻔﻨﺎ ﻣﻌﻠﻮﻣﺘﻴﻦ ,ﻟﻜﻦ ﻟﻴﺲ آﻞ ﺟﺪول ﻳﺘﻢ اﺿﺎﻓﺔ ﻣﻌﻠﻮﻣﺘﻴﻦ ﻟﻪ ﺑﻞ ﺣﺴﺐ ﻋﺪد اﻟﺡﻘﻮل .
ﻟﻜﻦ ﺳﻮف ﻳﻜﻮن اوﺿﺡ ﻋﻨﺪﻣﺎ اﻋﻄﻴﻚ ﻣﺜﺎل ﻋﻠﻰ اﻋﻠﻢ اﻧﻚ ﻟﻢ ﺗﻔﻬﻢ ﻻن اﻟﻜﻼم ﻏﻴﺮ واﺿﺡ %100
ﺟﺪوﻟﻨﺎ اﻟﺨﺎص ﺑﺸﺮآﺔ اﻻﺳﺘﻀﺎﻓﻪ .
ﺣﺴﻨﺎً ﻧﻔﺮض اﺗﻰ ﻟﻨﺎ اﺣﺪ اﻟﻌﻤﻼء و ﻃﻠﺐ ﻣﻨّﺎ ﻣﺴﺎﺣﻪ ,و ﻧﺮﻳﺪ ﺗﺴﺠﻴﻞ ﻣﻌﻠﻮﻣﺎﺗﻪ ﻓﻲ اﻟﺠﺪول ,ﺳﻮف
ﻧﻜﺘﺐ اﻣﺮ اﻻﺿﺎﻓﻪ ,ﻟﻜﻦ !!
آﻤﺎ ذآﺮﻧﺎ ﺳﺎﺑﻘﺎً ان ﻋﺪد اﻟﻤﻌﻠﻮﻣﺎت ﺣﺴﺐ ﺣﻘﻮل اﻟﺠﺪول ,ﻧﺡﻦ ﻋﺮﻓﻨﺎ ﺳﺎﺑﻘﺎً ان ﺟﺪوﻟﻨﺎ ﻳﺡﺘﻮي ﻋﻠﻰ
ارﺑﻌﺔ ﺣﻘﻮل ,اي ﺳﻮف ﻧﻀﻴﻒ 4ﻣﻌﻠﻮﻣﺎت .
: idو ذآﺮﻧﺎ اﻧﻪ اﻻﺳﻢ اﻟﺨﺎﺻﻪ ﻟﻠﺰﺑﻮن ﺣﻴﺚ ﻳﻜﻮن رﻗﻢ اوﺗﻮﻣﺎﺗﻴﻜﻲ
: nameوآﻤﺎ ذآﺮﻧﺎ اﻧﻪ اﺳﻢ اﻟﺰﺑﻮن
: phoneوذآﺮﻧﺎ اﻧﻪ رﻗﻢ هﺎﺗﻒ اﻟﻌﻤﻴﻞ
: dominوذآﺮﻧﺎ اﻧﻪ ﻋﻨﻮان ﻣﻮﻗﻊ اﻟﻌﻤﻴﻞ
18
ﺣﺴﻨﺎً اﻵن ﺑﻌﺪ ﻣﺎ ﻋﺮﻓﻨﺎ اﻧﻨﺎ ﻧﺮﻳﺪ اﺿﺎﻓﺔ 4ﻣﻌﻠﻮﻣﺎت ,ﻳﺠﺐ ان ﻧﻜﺘﺒﻬﺎ ﺑﺎﻟﺘﺮﺗﻴﺐ ﺣﺴﺐ اﻟﺡﻘﻞ ,
ﻳﻌﻨﻲ ﻋﻨﺪﻣﺎ اﻧﺸﺌﻨﺎ اﻟﺠﺪول آﺎن هﻨﺎك ﺗﺮﺗﻴﺐ ﺧﺎص ﻟﻠﺡﻘﻮل ,آﺎن اﻟﺡﻘﻞ idهﻮ اﻻول و nameهﻮ اﻟﺜﺎﻧﻲ و
اﻟﺜﺎﻟﺚ هﻮ phoneو اﻻﺧﻴﺮ هﻮ , dominﺣﺴﺐ اﻟﺘﺮﺗﻴﺐ اﻟﺘﺎﻟﻲ ﺳﻮف ﻧﻜﺘﺐ اﻟﻤﻌﻠﻮﻣﺎت ﻻﻧﻪ اﻟﺘﺮﺗﻴﺐ اﻟﺬي
ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟﺠﺪول ﺑﻪ .
و زودﻧﺎ ﺑﺎﻟﻤﻌﻠﻮﻣﺎت ﺣﺴﻨﺎً ,اﻵن ﻧﻔﺘﺮض ان اﺣﺪ اﻟﻌﻤﻼء اﺗﻰ إﻟﻰ اﻟﺸﺮآﻪ و ﻃﻠﺐ اﺳﺘﻀﺎﻓﺔ ﻣﻮﻗﻌﻪ
اﻟﺘﺎﻟﻴﻪ :
آﻤﺎ ذآﺮﻧﺎ اﻧﻪ رﻗﻢ اوﺗﻮﻣﺎﺗﻴﻜﻲ ﺗﻀﻌﻪ ﻟﻐﺔ اﻟـ . SQL ﻻﺗﺴﺄﻟﻨﻲ ﻋﻦ اﻟـ id
آﻮد :
;)'INSERT INTO client VALUES ('NULL','nawaf','1234567','yahoo.com
ﻋﻠﻰ ﻓﻜﺮﻩ ,ﻗﺪ ﺗﺘﺴﺎﺋﻞ اوﻻً ﻋﻦ ﺳﺒﺐ آﺘﺎﺑﺘﻲ ﻟﻺﺳﻢ ﺑﺎﻟﻠﻐﻪ اﻻﻧﺠﻠﻴﺰﻳﻪ ﻗﺪ ﺗﺘﺴﺎﺋﻞ ان اﻟﻠﻐﻪ ﻻ ﺗﺪﻋﻢ
اﻟﻌﺮﺑﻴﻪ ,ﺑﻞ ﺗﺪﻋﻤﻬﺎ دﻋﻢ آﺎﻣﻞ ان ﺷﺎء اﷲ ,ﻟﻜﻨﻨﻲ آﺘﺒﺖ اﻻﺳﻢ ﺑﺎﻟﻠﻐﻪ اﻻﻧﺠﻠﻴﺰﻳﻪ ﻟﻜﻲ ﻳﻈﻬﺮ اﻟﻤﺜﺎل
واﺿﺡ ﻓﻲ اﻟﻜﺘﺎب .
ﺑﺎﻟﻨﺴﺒﻪ ﻟﻠﺘﺴﺎﺋﻞ اﻟﺜﺎﻧﻲ اﻟﺬي ﻗﺪ ﺗﺘﺴﺎﺋﻠﻪ هﻮ وﺿﻊ NULLﻓﻲ ﻣﻜﺎن ﺣﻘﻞ اﻟـ idهﺎ ﻧﺡﻦ ﻧﺬآﺮهﺎ ﻣﺮﻩ
اﺧﺮى ,آﻤﺎ ذآﺮﻧﺎ اﻧﻪ رﻗﻢ اوﺗﻮﻣﺎﺗﻴﻜﻲ وﻻ ﻳﺠﺐ ﺗﺡﺪﻳﺪ ﻗﻴﻤﺔ اﻟﺡﻘﻞ ﻓﻘﻂ ﻧﻀﻊ اﻟﻜﻠﻤﻪ ) NULLأي ﻓﺎرغ( ﻟﻜﻲ
ﺗﻘﻮم ﻟﻐﺔ ال SQLﺑﻮﺿﻊ رﻗﻢ ﻣﻤﻴﺰ ﺧﺎص ﺑﻪ .
( آﻴﻒ ﻧﺘﺼﺮف ؟! ..هﻞ ﻧﻀﻊ ﺣﺴﻨﺎً ,ﻧﻔﺮض ان اﺣﺪ اﻟﻌﻤﻼء ﻻ ﻳﺮﻳﺪ اﻋﻄﺎﺋﻨﺎ رﻗﻢ هﺎﺗﻔﻪ )ﺛﻘﻴﻞ دم ﺻﺡ
ﻣﻜﺎن رﻗﻢ هﺎﺗﻔﻪ اﺻﻔﺎر ﻣﺜﻼً ؟!..
ﻻ ﻃﺒﻌﺎً ﻳﻮﺟﺪ ﺣﻞ اﻓﻀﻞ ﻣﻦ هﺬا اﻟﺡﻞ ,و هﻮ ﺗﻌﺒﺌﺔ ﺣﻘﻮل ﻣﻌﻴﻨﻪ ﻓﻘﻂ ,ﻣﺜﻼً ,ارﻳﺪ ان اﺿﻴﻒ ﻣﻌﻠﻮﻣﺎت اﺣﺪ
اﻟﺰﺑﺎﺋﻦ و ارﻳﺪ آﺘﺎﺑﺔ اﺳﻤﻪ ﻓﻘﻂ و ارﻳﺪ ﺗﺠﺎهﻞ رﻗﻢ هﺎﺗﻔﻪ و ﻋﻨﻮان ﻣﻮﻗﻌﻪ ,او ﻣﺜﻼً اﻧﺎ ﻻ اﺣﻔﻆ ﺗﺮﺗﻴﺐ اﻟﺡﻘﻮل
ﻟﻠﺠﺪول ,و ارﻳﺪ ان اآﺘﺐ اﻟﻤﻌﻠﻮﻣﺎت ﺣﺴﺐ ﺗﺮﺗﻴﺒﻲ اﻟﺨﺎص ﻟﻠﺡﻘﻮل ,ﻃﺒﻌﺎً ﻳﻤﻜﻦ ذﻟﻚ و ﻣﻦ ﺧﻼل اﺿﺎﻓﺔ
ﻗﻮﺳﻴﻦ ﺑﻌﺪ اﺳﻢ اﻟﺠﺪول و آﺘﺎﺑﺔ اﺳﻤﺎء اﻟﺡﻘﻮل اﻟﻤﻄﻠﻮﺑﻪ .
ﻟﻨﺄﺧﺬ ﻣﺜﺎل ,آﻤﺎ ذآﺮﻧﺎ ﻻ ﻧﺮﻳﺪ اﺿﺎﻓﺔ رﻗﻢ اﻟﻬﺎﺗﻒ ﻟﻠﺰﺑﻮن ﻧﻮاف ﻣﺜﻼً :
آﻮد :
;)'INSERT INTO client(id,name,domin) VALUES ('NULL','nawaf','yahoo.com
19
ﻟﻘﺪ اﺿﻔﻨﺎ اﻟﺰﺑﻮن ﻧﻮاف ﺑﺪون رﻗﻢ هﺎﺗﻔﻪ ,و ﻳﻤﻜﻨﺎ ﺗﺮﺗﻴﺐ اﻣﺎآﻦ اﻟﺡﻘﻮل آﻤﺎ ﻧﺸﺎء ,ﻣﺜﻼً :
آﻮد :
;)'INSERT INTO client(id,domin,name) VALUES ('NULL','yahoo.com','nawaf
آﻤﺎ ﺗﺮى !! ﺟﻌﻠﻨﺎ ﻋﻨﻮان ﻣﻮﻗﻊ اﻟﺰﺑﻮن ﻧﻮاف ﻗﺒﻞ اﺳﻤﻪ ,و ذﻟﻚ ﺑﺘﻐﻴﻴﺮ ﺑﺴﻴﻂ ﺟﺪاً .
ﺑﻌﺪﻣﺎ اﻧﺘﻴﻬﻨﺎ ﻣﻦ ﻃﺮﻳﻘﺔ اﺿﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت ﻟﻨﺮى آﻴﻒ ﻳﻤﻜﻨﻨﺎ ﺣﺬف هﺬﻩ اﻟﻤﻌﻠﻮﻣﺎت
ﻃﺒﻌﺎً ﻳﻤﻜﻨﻨﺎ ذﻟﻚ ﻣﻦ ﺧﻼل اﻻﻣﺮ اﻟﺬي ﺗﻨﺎوﻟﻨﺎﻩ ﺳﺎﺑﻘﺎً وهﻮ DELETEﻣﻊ اﺳﺘﺨﺪام اﺣﺪ اواﻣﺮ اﻟﺸﺮط اﻟﺬي
ﺳﻮف ﻧﺪرﺳﻪ ﻓﻲ اﻟﻔﺼﻮل اﻟﻘﺎدﻣﻪ ﺑﺈذن اﷲ وهﻮ . WHERE
ﺣﺴﻨﺎً اﻵن ﻧﻔﺮض اﻧﻨﺎ ﻧﺮﻳﺪ ﺣﺬف اﻟﺰﺑﻮن ﻧﻮاف اﻟﺬي ﻋﻨﻮان ﻣﻮﻗﻌﻪ yahoo.comﻃﺒﻌﺎً ﻧﺡﻦ ﻧﻌﺮف ان اﻟﺡﻘﻞ
اﻟﺨﺎص ﺑﺈﺳﻢ اﻟﻤﻮﻗﻊ هﻮ , dominﺣﺴﻨﺎً اﻻﻣﺮ WHEREﻳﺮﻳﺪ ﻣﻨّﺎ اﺳﻢ اﻟﺡﻘﻞ و اﻟﻘﻴﻤﻪ .
آﻮد :
;'DELETE FROM client WHERE domin='yahoo.com
ﺣﺴﻨﺎً ﻻﺟﻴﺒﻚ ,ﻟﻨﻔﺮض ان ﺟﺪوﻟﻨﺎ ﻳﺡﺘﻮي ﻋﻠﻰ 100زﺑﻮن 10 ,ﻣﻦ هﺆﻻء اﻟﺰﺑﺎﺋﻦ اﺳﻤﺎﺋﻬﻢ )ﻧﻮاف( !!
اذا آﻨّﺎ ﻗﺪ ﺣﺬﻓﻨﺎ هﺬا اﻟﺰﺑﻮن ﺑﺪﻻﻟﺔ اﻻﺳﻢ ,اي ﻧﻮاف ﺳﻮف ﻳﺘﻢ ﺣﺬف ال 10زﺑﺎﺋﻦ !! ﻻن اﺳﻤﺎﺋﻬﻢ )ﻧﻮاف( ,
و ﻟﻜﻦ ﻋﻨﻮان اﻟﻤﻮﻗﻊ ﻟﻦ ﻳﻜﻮن ﻣﺘﻜﺮر ,ﻣﺜﻼ ﻋﻨﻮان ﻣﻮﻗﻊ ﻧﻮاف رﻗﻢ yahoo.com 1اﻟﺬي ﻳﻠﻴﻪ . nawaf.com
هﺎ ﻗﺪ ﺣﺎن وﻗﺘﻪ ,ﻟﻘﺪ ذآﺮﻧﺎ ﺣﺴﻨﺎً ﻗﺪ ﻳﻜﻮن هﻨﺎك ﺗﺸﺎﺑﻪ ﻓﻲ ﻋﻨﻮاﻳﻦ اﻟﻤﻮاﻗﻊ !! ,هﻞ ﺗﺘﺬآﺮ اﻟﺡﻘﻞ id
ﺳﺎﺑﻘﺎً ان ﻓﻲ هﺬا اﻟﺡﻘﻞ رﻗﻢ ﻣﻤﻴﺰ ,أي ﻟﻜﻞ زﺑﻮن رﻗﻢ ﻣﻤﻴﺰ ﻓﻲ هﺬا اﻟﺡﻘﻞ .
20
ﺗﺡﺪﻳﺚ اﻟﻤﻌﻠﻮﻣﺎت :
,ﻟﻨﻔﺮض ان اﺣﺪ اﻟﺰﺑﻨﺎء ﻗﺎم ﺑﺘﻐﻴﻴﺮ رﻗﻢ هﺎﺗﻔﻪ !! وﻳﺮﻳﺪﻧﺎ ان ﻧﻀﻊ رﻗﻢ هﺎﺗﻔﻪ هﺎ ﻧﺡﻦ ﻧﻔﺮض ﻓﺮﺿﺎً ﺟﺪﻳﺪاً
اﻟﺠﺪﻳﺪ ﻟﺪﻳﻨﺎ ,أي ﺳﻨﺒﺪل رﻗﻢ هﺎﺗﻔﻪ اﻟﻘﺪﻳﻢ ﺑﺎﻟﺠﺪﻳﺪ .
ﻗﺪ ﻳﻔﺘﺮض اﺣﺪاً ان اﻟﺡﻞ هﻮ ﺣﺬﻓﻪ و اﻋﺎدة اﺿﺎﻓﺘﻪ إﻟﻰ اﻟﺠﺪول ﺑﺎﻟﻤﻌﻠﻮﻣﺎت اﻟﺠﺪﻳﺪﻩ .
ﻃﺒﻌﺎً هﺬا اﻟﺡﻞ ﻏﻴﺮ ﻣﻨﺎﺳﺐ ,هﻨﺎك ﺣﻞ اﻓﻀﻞ ﻣﻨﻪ وهﻮ اﻣﺮ ﺑﺈﺳﻢ . UPDATE
آﻮد :
;'UPDATE tablename SET field='newinfo
ﻧﺡﻦ ذآﺮﻧﺎ ان اﺣﺪ اﻟﻌﻤﻼء ﻗﺎم ﺑﺘﻐﻴﻴﺮ رﻗﻢ هﺎﺗﻔﻪ ,و ذآﺮﻧﺎ آﺬﻟﻚ ان اﻟﺡﻘﻞ اﻟﺨﺎص ﺑﺮﻗﻢ اﻟﻬﺎﺗﻒ اﺳﻢ
. , phoneهﻞ وﺻﻠﺖ اﻵن
آﻮد :
;'UPDATE client SET phone='87654321' WHERE domin='yahoo.com
اﻵن ﻻﺣﻆ اﻧﻨﺎ وﺿﻌﻨﺎ اﻟﺸﺮط WHEREو ﺧﺼﺼﻨﺎ اﻟﺘﻐﻴﻴﺮ ﻟﻠﺰﺑﻮن ﻧﻮاف ﺻﺎﺣﺐ اﻟﻤﻮﻗﻊ , yahoo.comﻟﻨﻔﺮض
اﻧﻨﺎ ﻟﻢ ﻧﻀﻊ هﺬﻩ اﻟﺠﻤﻠﻪ !!
اﺗﺬآﺮ ﻓﻲ ﻣﺮﻩ ﻣﻦ اﻟﻤﺮات و ﻋﻨﺪﻣﺎ آﻨﺖ اﻃﻮر اﺣﺪ اﻟﺴﻜﺮﺑﺘﺎت ﻃﺒﻌﺎً آﻨﺖ )وﻻ زﻟﺖ( اﺳﺘﺨﺪم اﻟـ SQLﻓﻲ
ﺳﻜﺮﺑﺘﺎﺗﻲ ,آﻨﺖ ارﻳﺪ ﻋﻤﻞ ﺗﺡﺪﻳﺚ ﻟﺡﻘﻞ واﺣﺪ ,ﻧﺴﻴﺖ اﻟﻜﻠﻤﻪ WHEREﻓﺬهﺒﺖ ﺟﻤﻴﻊ اﻟﻤﻌﻠﻮﻣﺎت
,ﻓﻨﺼﻴﺡﺘﻲ ان ﻻ ﺗﺘﺴﺮع ﻓﻲ آﺘﺎﺑﺔ اﻻﻣﺮ و ﻻ ﺗﺘﻌﺠﻞ اﻻﻣﻮر ,ﻓﻔﻲ اﻟﻤﻬﻤﻪ و اﺿﻄﺮﻳﺖ ﻻﻋﺎدة آﺘﺎﺑﺘﻬﺎ
اﻟﻌﺠﻠﻪ اﻟﻨﺪاﻣﻪ و ﻓﻲ اﻟﺘﺄﻧﻲ اﻟﺴﻼﻣﻪ
. ﺣﺴﻨﺎً ,اﻵن اﻧﺘﻴﻬﻨﺎ ﻣﻦ هﺬا اﻟﻔﺼﻞ ,ﻟﻨﻨﺘﻘﻞ إﻟﻰ اﻟﻔﺼﻞ اﻟﺘﺎﻟﻲ
21
ﻋﻦ اﻟﻔﺼﻞ :
ﻓﻲ هﺬا اﻟﻔﺼﻞ ﺳﻮف ﻧﺘﻌﻠﻢ ﻃﺮﻳﻘﺔ اﺳﺘﺨﺮاج اﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ ﺧﺰﻧﺎهﺎ ,ﺳﻮاء آﻞ اﻟﻤﻌﻠﻮﻣﺎت ,او ﺑﻌﺾ
اﻟﻤﻌﻠﻮﻣﺎت ,او اي ﻣﻌﻠﻮﻣﻪ ﻣﺡﺪدﻩ .
هﺬا ﺑﺴﻴﻂ ﺟﺪاً ,و هﻮ ﻣﻦ ﺧﻼل اﻻﻣﺮ SELECTاﻟﺬي ﻳﻜﺘﺐ ﺑﻬﺬﻩ اﻟﻄﺮﻳﻘﺔ :
آﻮد :
;SELECT * FROM tablename
ﻋﻨﺪ آﺘﺎﺑﺘﻨﺎ هﺬا اﻻﻣﺮ ﺗﻠﻘﺎﺋﻴﺎً ,ﺳﻮف ﺗﻈﻬﺮ اﺳﻤﺎء آﻞ اﻟﺡﻘﻮل و اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺨﺰﻧﻪ ﻓﻴﻬﺎ .
ﺣﺴﻨﺎً ,ﻟﻨﻔﺮض اﻧﻚ ﺗﺮﻳﺪ ﻓﻘﻂ اﺳﺘﺨﺮاج ارﻗﺎم هﻮاﺗﻒ اﻟﻌﻤﻼء .
ﻃﺒﻌﺎً ﻳﻤﻜﻨﻚ ذﻟﻚ و هﻮ ﻣﻦ ﺧﻼل ﺗﻐﻴﻴﺮ * إﻟﻰ اﺳﻢ اﻟﺡﻘﻞ وهﻮ . phone
ﻧﺴﺘﻨﺘﺞ ﻣﻦ ذﻟﻚ اﻧﻪ اذا اردﻧﺎ اﺳﺘﺨﺮاج ﺟﻤﻴﻊ اﻟﺡﻘﻮل و ﻣﻌﻠﻮﻣﺎﺗﻬﺎ ﻧﻜﺘﺐ * ﺑﻴﻦ اﻟﻜﻠﻤﺘﻴﻦ SELECTو FROM
آﻤﺎ هﻮ ﻣﻮﺿﺡ اﻋﻼﻩ ,و اذا اردﻧﺎ اﺳﺘﺨﺮاج ﻣﻌﻠﻮﻣﺎت ﺣﻘﻞ ﻣﻌﻴﻦ ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﺡﻘﻞ ﺑﺪﻻً ﻣﻦ اﻟﻨﺠﻤﻪ .
ﻣﺜﺎل :
آﻮد :
;SELECT phone FROM client
ﻟﻨﻔﺮض اﻧﻨﺎ ﻧﺮﻳﺪ اﺳﺘﺨﺮاج ﻣﻌﻠﻮﻣﺎت اآﺜﺮ ﻣﻦ ﺣﻘﻞ ﻳﻤﻜﻦ ذﻟﻚ ﺑﻮﺿﺡ ﻓﺎﺻﻠﻪ ﺑﻴﻦ آﻞ ﺣﻘﻞ ,
ﻣﺜﺎل :
آﻮد :
;SELECT phone,id FROM client
22
ﻟﻨﻔﺮض اﻧﻨﺎ ﻧﺮﻳﺪ اﺳﺘﺨﺮاج ﻣﻌﻠﻮﻣﺎت آﻞ اﻟﻌﻤﻼء اﻟﺬﻳﻦ ﻳﺡﻤﻠﻮن اﻻﺳﻢ ﻧﻮاف .
ﻃﺒﻌﺎً ﻧﺴﺘﺨﺪم اﻟﺸﺮط WHEREاﻟﺬي ﺗﻌﺮﻓﻨﺎ ﻋﻠﻴﻪ ﻣﺴﺒﻘﺎً ﺑﻬﺬﻩ اﻟﻄﺮﻳﻘﻪ :
آﻮد :
;'SELECT * FROM client WHERE name='nawaf
ﻋﻤﻮﻣﺎً هﺬا اﻟﻔﺼﻞ هﻮ ﻗﺒﻞ اﻻﺧﻴﺮ ,و اﻟﻔﺼﻞ اﻟﺬي ﻳﻠﻴﻪ ﻓﺼﻞ ﻗﺼﻴﺮ ﺻﺡ
هﻮ اﻻﺧﻴﺮ .
23
ﻋﻦ اﻟﻔﺼﻞ :
ﺑﻌﺪ ان ﺗﻨﺎوﻟﻨﺎ و درﺳﻨﺎ اﺳﺎﺳﻴﺎت هﺬﻩ اﻟﻠﻐﻪ ,ﻓﻲ هﺬا اﻟﻔﺼﻞ هﺎ ﻧﺡﻦ ﻓﻲ ﺁﺧﺮ ﻓﺼﻞ ﻣﻦ هﺬا اﻟﻜﺘﺎب
ﻓﻲ ﻧﺪرس اﺷﻴﺎء اﺿﺎﻓﻴﻪ ﻣﻜﻤﻠﻪ ﻟﺒﻌﺾ اﻻﺳﺎﺳﻴﺎت .
اﻟﺠﻤﻠﻪ : WHERE
ﻟﻘﺪ ﺗﻌﺮﻓﻨﺎ ﻣﺴﺒﻘﺎً ﻋﻠﻰ هﺬﻩ اﻟﺠﻤﻠﻪ و ﻟﻜﻦ ﺑﺸﻜﻞ ﺑﺴﻴﻂ ﺟﺪاً .
,ﺗﺴﺘﺨﺪم هﺬﻩ اﻟﻜﻠﻤﻪ ﻟﺸﺮط ﻣﻌﻴﻦ . ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻴﻬﺎ اﻵن ﺑﺸﻜﻞ ﻣﻔﺼﻞ ان ﺷﺎء اﷲ
ﻣﺜﻠﻤﺎ ذآﺮﻧﺎ ﻣﺴﺒﻘﺎً ,ﻣﺜﻼً ﻧﺮﻳﺪ ﺣﺬف ﻣﻮﻗﻊ ﻣﻌﻴﻦ او ﻧﺮﻳﺪ ﺗﺡﺪﻳﺚ ﻣﻮﻗﻊ ﻣﻌﻴﻦ اﻟﺡﻞ اﻟﻮﺣﻴﺪ ﻓﻲ ﻣﺜﻞ هﺬﻩ
اﻟﺡﺎﻻت هﻲ اﻟﺠﻤﻠﻪ . WHERE
ﻧﻌﺘﺒﺮ ﺟﻤﻠﺔ WHEREﻓﻲ اﻟـ SQLآﺄﻧﻬﺎ اﻟﺠﻤﻠﻪ اﻟﺸﺮﻃﻴﻪ ifﻓﻲ اي ﻟﻐﻪ ﻣﻦ ﻟﻐﺎت اﻟﺒﺮﻣﺠﻪ .
ﺣﺴﻨﺎً ,هﻨﺎك ﻋﺪة ﻋﻤﻠﻴﺎت ﺗﺘﻢ ﻣﻦ ﺧﻼل ﺟﻤﻠﺔ WHEREﺑﻤﻌﻨﻰ اﻧﻬﺎ ﻟﻴﺴﺖ ﻓﻘﻂ ﻟﻠﻘﻴﻢ اﻟﻤﺘﺴﺎوﻳﻪ ,ﺑﻞ
ﻟﻌﺪّة ﻗﻴّﻢ ﻣﺜﻼ ﻏﻴﺮ ﻣﺘﺴﺎوﻳﻪ او اآﺒﺮ ﻣﻦ او ﻳﺴﺎوي او ﻏﻴﺮﻩ و هﺬا اﻟﺠﺪول ﻳﻮﺿﺡ آﻞ اﻟﻌﻤﻠﻴﺎت اﻟﺘﻲ ﻳﻤﻜﻨﻨﺎ
اﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ﺟﻤﻠﺔ . WHERE
وﺻﻔﻬﺎ اﻟﻌﻤﻠﻴﻪ
ﻳﺴﺎوي =
ﻻ ﻳﺴﺎوي >< او !=
اآﺒﺮ ﻣﻦ >
اﺻﻐﺮ ﻣﻦ <
اآﺒﺮ ﻣﻦ او ﻳﺴﺎوي =>
اﺻﻐﺮ ﻣﻦ او ﻳﺴﺎوي =<
ﺧﺎﺻﻪ ﻟﻌﻤﻠﻴﺎت اﻟﺒﺡﺚ LIKE
,ﺳﻮف ﻧﺄﺧﺬ ﻣﺜﺎل ﻻول ﻋﻤﻠﻴﺘﻴﻦ ﻓﻘﻂ . ﻗﺪ ﺗﺘﺴﺎﺋﻞ ﻋﻦ ﻃﺮﻳﻘﺔ اﺳﺘﺨﺪاﻣﻬﺎ
,ﻧﺮﻳﺪ اﺳﺘﺨﺮاج ﻣﻌﻠﻮﻣﺎت ﻋﻦ آﻞ اﻟﻤﺴﺠﻠﻴﻦ و اﻟﻌﻤﻠﻴﻪ اﻻوﻟﻰ وهﻲ اﻟﻤﺴﺎواة ,ﻧﻌﻮد إﻟﻰ ﻋﻤﻠﻴﻨﺎ ﻧﻮّاف
اﺳﻤﺎﺋﻬﻢ , nawafﺳﻮف ﻧﺴﺘﺨﺪم اﻟﻤﺴﺎواة
آﻮد :
;'SELECT * FROM client WHERE name='nawaf
ﺣﺴﻨﺎً ﻧﺮﻳﺪ اﺳﺘﺨﺪام ﻻ ﻳﺴﺎوي ,ﻣﺜﻼ ﻧﺮﻳﺪ ان ﻧﺴﺘﺨﺮج آﻞ ﻣﻌﻠﻮﻣﺎت اﻟﻌﻤﻼء ﻣﺎ ﻋﺪا اﻟﺬي اﺳﻤﺎﺋﻬﻢ
, nawafﺣﺴﻨﺎً ﺑﺴﻴﻂ
24
ﻻﺣﻆ اﻟﻜﻮد اﻟﺘﺎﻟﻲ :
آﻮد :
;'SELECT * FROM client WHERE name<>'nawaf
ﻟﻨﻔﺮض اﻧﻚ ﺗﺮﻳﺪ اﺳﺘﺨﺮاج اﻟﺒﻴﺎﻧﺎت ﺗﺼﺎﻋﺪﻳﺎً او ﺗﻨﺎزﻟﻴﺎً ,ﻳﻤﻜﻨﻚ ذﻟﻚ ﻣﻦ ﺧﻼل اﻟﺠﻤﻠﻪ ORDER BY
ﻃﺮﻳﻘﺔ اﻻﺳﺘﺨﺪام ,ﻣﺜﻼً ﻧﺮﻳﺪ ان ﻧﻮﺟﺪ اﻟﺒﻴﺎﻧﺎت ﺗﻨﺎزﻟﻴﺎً ﺣﺴﺐ اﻟﺡﻘﻞ idاﻟﺬي ﻳﺡﺘﻮي ﻋﻠﻰ اﻻرﻗﺎم اﻟﻤﻤﻴﺰﻩ
آﻮد :
;SELECT * FROM client ORDER BY id DESC
,ﺁﻣﻞ ان ﺗﻜﻮن ﻗﺪ اﺳﺘﻤﺘﻌﺖ و ﺣﺴﻨﺎً ,اﻋﺘﻘﺪ ان اﻵن آﻞ ﺷﺊ واﺿﺡ ,و هﺎ ﻗﺪ وﺻﻠﻨﺎ إﻟﻰ اﻟﻨﻬﺎﻳﻪ
. اﺳﺘﻔﺪت ﻣﻦ هﺬا اﻟﻜﺘﺎب وﻻ ﻧﻄﻠﺐ ﺳﻮى دﻋﻮاﺗﻜﻢ
اﻧﺎ واﺛﻖ اﻧﻚ اﻵن اﺻﺒﺡﺖ ﺗﻔﻬﻢ ﻟﻘﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت و ﺑﺈذن اﷲ ﺳﻮف ﻳﻤﻜﻨﻚ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻧﻮاع ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت
,ﺣﺴﻨﺎً ﻻ ارﻳﺪ ان اﻃﻴﻞ ﻋﻠﻴﻚ . اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ SQL
ﺑﺎﻟﺘﻮﻓﻴﻖ
25