ﺑﺴﻢ اﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﻴﻢ
ﻣﻮﺿﻮع :دﺳﺘﻮرات ﭘﺎﻳﻪ اي SQL
ﮔﺮدآورﻧﺪه :ﻋﻠﻲ ﻣﻼﺑﺎﻗﺮ
اﺳﺘﺎد :دﻛﺘﺮ ﻣﻴﺮزاﻳﻲ
ﺑﻪ ﻃﻮر ﻛﻠﻲ دﺳﺘﻮرات ﭘﺎﻳﻪ اي SQL را ﻣﻲ ﺗﻮان ﺑﻪ 4دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻧﻤﻮد ﻛﻪ ﺷﺮح ﻫﺮ ﻳﻚ ﺑﻪ ﻫﻤﺮاه ﻣﺜﺎﻟﻲ در ذﻳﻞ
آورده ﺷﺪه اﺳﺖ :
-1دﺳﺘﻮر : Select
درﺧﻮاﺳﺖ ﻣﻲ ﻛﻨﺪ .در دﺳﺘﻮر select ﻣﺎ 3ﺟﺰ دارﻳﻢ : اﻳﻦ دﺳﺘﻮر ،داده را از ﺟﺪاول در ﭘﺎﻳﮕﺎه داده
ﺟﺰ SELECTﺳﺘﻮن ﻫﺎي ﺟﺪوﻟﻲ را ﻛﻪ اﻃﻼﻋﺎت را درﻳﺎﻓﺖ ﻣﻲ ﻛﻨﻨﺪ،ﻣﺸﺨﺺ ﻣﻲ ﻧﻤﺎﻳﺪ
ﺟﺰ FROMﺟﺪاوﻟﻲ را ﻛﻪ دﺳﺘﺮﺳﻲ ﺑﻪ آن ﻫﺎ ﺻﻮرت ﮔﺮﻓﺘﻪ ،ﻣﺸﺨﺺ ﻣﻴﻨﻤﺎﻳﺪ . ﺗﻤﺎﻣﻲ ﺳﻄﺮﻫﺎي ﺟﺪول اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد . ﺟﺰ WHEREاﺧﺘﻴﺎري اﺳﺖ و اﮔﺮ ﻧﻮﺷﺘﻪ ﻧﺸﻮد ﺑﺮاي روﺷﻦ ﺷﺪن ﻣﻄﻠﺐ ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻓﺮﻣﺎﻳﻴﺪ :
ﻣﺜﺎل :
ﻓﺮض ﻛﻨﻴﺪ در ﭘﺎﻳﮕﺎه داده ﻣﺎن ﺟﺪول sﺑﻪ ﺷﻜﻞ زﻳﺮ ﻣﻮﺟﻮد اﺳﺖ : Copyright © 2008‐2009 Ali‐Mollabagher.com | All rights reserved
SELECT FROM WHERE
دﺳﺘﻮر ' SELECT name FROM s WHERE city='Romeﻧﺘﻴﺠﻪ زﻳﺮ را ﺑﻪ دﻧﺒﺎل ﺧﻮاﻫﺪ داﺷﺖ :
ﺷﺮح ﻣﺜﺎل :
ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻛﻦ : 9وﻗﺘﻲ ﻣﻲ ﻧﻮﻳﺴﻴﻢ FROM sﻳﻌﻨﻲ ﺟﺪول sرا از
9وﻗﺘﻲ ﻣﻲ ﻧﻮﻳﺴﻴﻢ ' WHERE city='Romeﺷﺮط ﻣﻲ ﮔﺬارﻳﻢ ﻛﻪ ﺳﻄﺮي ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﺎﻳﺪ داراي ﻣﻘﺪار Romeاز ﺳﺘﻮن cityﺑﺎﺷﺪ :
9و در ﻧﻬﺎﻳﺖ SELECT nameﺳﺘﻮن ﺣﺎوي nameرا ﻓﻴﻠﺘﺮ ﻣﻲ ﻛﻨﺪ و ﻟﺬا ﺧﻮاﻫﻴﻢ داﺷﺖ :
***
دﺳﺘﻮر Selectﻗﺎﻟﺐ ﻫﺎي دﻳﮕﺮي ﺑﺮاي ﻧﻮﺷﺘﻦ ﻣﺎﻧﻨﺪ ﻣﻮرد زﻳﺮ ﻧﻴﺰ دارد : SELECT [ALL|DISTINCT] select-list
ﻛﻪ select-listﻟﻴﺴﺘﻲ از ﻧﺎم ﺳﺘﻮن ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﺎ وﻳﺮﮔﻮل از ﻫﻢ ﺟﺪا ﺷﺪه اﻧﺪ.
ﻣﺜﺎل :
SELECT name supplier, city location FROM s
Copyright © 2008‐2009 Ali‐Mollabagher.com | All rights reserved
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺨﺺ اﺳﺖ ﺳﺘﻮن ﻫﺎي ﺣﺎوي supplierو city locationاز ﺟﺪول sاﻧﺘﺨﺎب ﺷﺪه اﻧﺪ.
-2دﺳﺘﻮر : Insert اﻳﻦ دﺳﺘﻮر ﻳﻚ ﻳﺎ ﭼﻨﺪ ردﻳﻒ ﺑﻪ ﺟﺪول اﺿﺎﻓﻪ ﻣﻲ ﻛﻨﺪ و داراي دو ﻗﺎﻟﺐ زﻳﺮ اﺳﺖ :
)INSERT INTO table-١ [(column-list)] VALUES (value-list
)INSERT INTO table-١ [(column-list)] (query-specification
ﻣﺜﺎل : )'INSERT INTO p (pno, color) VALUES ('P٤', 'Brown
ﺑﻌﺪ از دﺳﺘﻮر
ﻣﺜﺎل : ﻧﻤﻮﻧﻪ ي زﻳﺮ ﺻﻮرﺗﻲ دﻳﮕﺮ از اﺳﺘﻔﺎده ﻛﺮدن از اﻳﻦ دﺳﺘﻮر اﺳﺖ :
ﻗﺒﻞ از دﺳﺘﻮر
INSERT INTO sp SELECT s.sno, p.pno, ٥٠٠ FROM s, p ’WHERE p.color=’Green’ AND s.city=’London
ﺑﻌﺪ از دﺳﺘﻮر
ﻗﺒﻞ از دﺳﺘﻮر
ﻣﺘﻮﺟﻪ ﺷﺪ . ﺑﺎ ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﻣﺜﺎل ﺑﺎ ﻣﺜﺎل ﺑﺎﻻ ﺑﻪ راﺣﺘﻲ ﻣﻲ ﺗﻮان ﺗﻔﺎوت آن دو را
-3دﺳﺘﻮر : Update
اﻳﻦ دﺳﺘﻮر ﺳﺘﻮن ﻫﺎ را در ردﻳﻒ ﻫﺎي اﻧﺘﺨﺎب ﺷﺪه ي ﺟﺪول ﺗﻐﻴﻴﺮ ﻣﻴﺪﻫﺪ .ﻗﺎﻟﺐ دﺳﺘﻮر ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ :
]UPDATE table-١ SET set-list [WHERE predicate
ﻛﻪ دﺳﺘﻮر داﺧﻞ ﻛﺮوﺷﻪ اﺧﺘﻴﺎري اﺳﺖ .ﺑﺮاي روﺷﻦ ﺷﺪن ﻣﻄﻠﺐ ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻓﺮﻣﺎﻳﻴﺪ :
ﻣﺜﺎل :
ﺑﻌﺪ از دﺳﺘﻮر
UPDATE sp SET qty = qty + ٢٠
ﻗﺒﻞ از دﺳﺘﻮر
Copyright © 2008‐2009 Ali‐Mollabagher.com | All rights reserved
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﺑﻪ ﻣﻘﺪار ﻫﺮ ﻳﻚ 20ﺗﺎ اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ : UPDATE sp SET qty = qty + ٢٠ 220=200+20 1020=20+1000 220=200+20
ﻣﺜﺎل : ﻫﻤﭽﻮن دﺳﺘﻮر ﻗﺒﻞ ،ﻣﻲ ﺗﻮان از اﻳﻦ دﺳﺘﻮر ﻣﺎﻧﻨﺪ ﻣﺜﺎل زﻳﺮ ﻧﻴﺰ اﺳﺘﻔﺎده ﻧﻤﻮد : UPDATE s 'SET name = 'Tony', city = 'Milan 'WHERE sno = 'S٣
ﻗﺒﻞ از دﺳﺘﻮر
ﺑﻌﺪ از دﺳﺘﻮر
ﺑﺎ ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﻣﺜﺎل ﺑﺎ ﻣﺜﺎل ﺑﺎﻻ ﺑﻪ راﺣﺘﻲ ﻣﻲ ﺗﻮان ﺗﻔﺎوت آن دو را ﻣﺘﻮﺟﻪ ﺷﺪ .
-4دﺳﺘﻮر : Delete اﻳﻦ دﺳﺘﻮر ردﻳﻒ ﻫﺎي اﻧﺘﺨﺎب ﺷﺪه از ﻳﻚ ﺟﺪول را ﺣﺬف ﻣﻲ ﻛﻨﺪ و ﻗﺎﻟﺐ آن ﺑﻪ ﺷﻜﻞ ﺳﺎده زﻳﺮ اﺳﺖ :
]DELETE FROM table-١ [WHERE predicate
ﺑﺮاي روﺷﻦ ﺷﺪن ﻣﻄﻠﺐ ﺑﻪ ﻣﺜﺎل ﻫﺎي ذﻳﻞ ﺗﻮﺟﻪ ﻓﺮﻣﺎﻳﻴﺪ :
ﻣﺜﺎل : 'DELETE FROM sp WHERE pno = 'P١
ﺑﻌﺪ از دﺳﺘﻮر
ﻗﺒﻞ از دﺳﺘﻮر
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﺗﻤﺎﻣﻲ ﺳﻄﺮ ﻫﺎﻳﻲ ﻛﻪ در ﺳﺘﻮن pnoﺑﻮده و داراي ﻣﻘﺪار p1ﺑﻮدﻧﺪ ،ﺣﺬف ﺷﺪﻧﺪ .
ﻣﺜﺎل :
)DELETE FROM p WHERE pno NOT IN (SELECT pno FROM sp
ﺑﻌﺪ از دﺳﺘﻮر
Copyright © 2008‐2009 Ali‐Mollabagher.com | All rights reserved
ﻗﺒﻞ از دﺳﺘﻮر