Компютер, Барномасозӣ
Фармони SQL-дархостҳо
SQL - яке аз забонҳои барномасозӣ бештар маъмул барои эҷод ва идора кардани базаи, инчунин барои якчанд амали бо маълумоти худ.
Тавре ки таҷриба нишон медиҳад, он аст, хеле осон ба истифода мекунад ва бисёре аз луғат стандартии забони англисӣ. Мисли ҳар гуна забони барномасозии дигар, SQL дорад, мантиқ худ ва наҳвӣ, маҷмӯи фармонҳои асосӣ ва қоидаҳои истифодаи онҳо.
Гурӯҳбандии фармонҳои SQL
Ҳамаи фармонҳои стандартии SQL мумкин аст дар асоси таъиноти онњо ба шумор меравад. Тавре ки дар асоси барои vneglasnoy тасниф чунин маҷмӯи ҳамчун мегирад:
дархости фармонҳои.
Дастаҳо сохта-дар тартиб ва функсияҳои.
хуруљ ва мизҳои системаи амр.
Маҷмӯи таркиби барои кор бо сана ва сатри тағйирёбандаи.
Фармон барои кор бо маълумот ва курсиҳо.
Ин гурӯҳбандии беохир аст, аммо асосии забони SQL маҷмӯи амри доранд, маҳз ба хотири ин намуди сохта.
Бо назардошти таснифи забон, ба ёд надорад, ки ба он универсалӣ аст, чунон ки аз тарафи доираи истифодаи он аён мегардад. Ин забони барномасозӣ ва вариантњои он на танҳо дар муҳити стандартӣ, балки бо дигар барномаҳо, ки ин ё он тарз, ки шумо истифода кардаанд истифода мешавад.
Доираи истифодаи SQL мумкин аст, аз нуқтаи назари нармафзори мансаб, яъне MicrosoftAccess дорем. Ин забон, ё на, намудҳои он - MySQL, шумо метавонед пойгоҳи Интернет идора. Ҳатто муҳити рушди Oracle дар асоси истифодаи онҳо дар фармонҳои SQL аз дархостҳои.
Истифодаи SQL дар MicrosoftAccess
Яке аз бештар маъмул забони мебаранд, барои бастаи нармафзор барномасозии базаи ҳисоб MicrosoftOffice. Ба омӯзиши ин нармафзор таъмин курси мактаб илм компютерӣ, ва дар синфи ёздаҳум ба ҳисоб меравад системаи идоракунии пойгоҳи додаҳо MicrosoftAccess.
Ин омӯзиши ариза хонандагон шиносоӣ бо рушди забони шинос аст, пойгоҳи додаҳо ва даст фаҳмиши асосии ҳамаи он дохил карда мешавад. Дастаи SQL Access на ибтидоӣ, албатта, агар мо ба онҳо ба таври касбӣ дида мебароем. Иҷроияи якбора чунин фармонҳои хеле осон аст, ва онҳо дар муҳаррири рамз мутобиқ.
намунаи мушаххас дида мебароем:
Pe_SurName рдмрд
АЗ Pherson
КУҶО Pe_Name = 'Марям';
Дар асоси фармони наҳвӣ, шумо метавонед дарк намоянд, ки ба он бармегардад, ки номи корбар: шахсе, ки дар ин ҳолат, як зан бо номи Марям аст, ки дар ҷадвали Тамос махзани нигоњ дошта мешавад.
Гарчанде, ки дар истифодаи SQL дар Access маҳдуд аст, баъзан чунин дархостҳо оддӣ метавонад хеле татбиқи вазифаҳои ба зиммаи содда.
Бо истифода аз изҳороти SQL дар Oracle
Oracle - он шояд танҳо Microsoft SQL Server як раќобаткунанда ҷиддӣ. Ин аст, ки ин муҳити рушд ва идоракунии хазинаи маълумотҳои аст, доимо боиси ба такмили нармафзор ширкати хусусиятҳои маҳсулоти Microsoft ҳамчун озмун - муҳаррики пешрафт аст. Сарфи назар аз рақобати доимӣ, дастаи SQL Oracle такрор SQL. Бояд қайд намуд, ки гарчанде Oracle ва ба ҳисоб қариб як нусхаи пурраи SQL, мантиқи ин система, ва забони умум осон ба шумор меравад.
Системаи Oracle истифодаи маҷмӯи муайяни фармонҳои аст, ки чунин як сохтори мураккаб нест. Агар мо имкониятҳои маълумоти муҳити рушди махзани дида, Oracle тавр сохтори мураккаб аз дархостҳои лонаӣ надоранд.
Ин тафовут имкон медиҳад, чанд маротиба ба суръат бахшидан ба кор бо маълумотњо, балки дар муқоиса бо ин, боиси истифодаи бесамари хотираи, дар баъзе мавридҳо шахс. Сохтори Oracle асосан дар бораи мизҳои муваќќатї ва истифодаи онҳо сохта. Барои мисол: фармонҳои SQL дар системаи доранд, дар бораи монандӣ бо стандартҳои забони SQL асоси худи, ҳарчанд на ба таври назаррас, аз он фарқ мекунад.
SELECTCONCAT (CONCAT (CONCAT ( 'кормандон', sname), CONCAT (SUBSTR (fname, 0, 1), SUBSTR (otch, 0,) 1)), CONCAT ( 'prinyatnarabotu', acceptdate)) АЗ кормандони КУҶО acceptdate> TO_DATE ('01 .01.80 ',' dd.mm.yyyy ');
Ин дархости хоҳад маълумот дар бораи кормандоне, ки барои як давраи муайяни вақт ба кор баргардад. Ҳарчанд сохтори дархости гуногун аз аст Microsoft SQL Server, иҷрои SQL амр дар ин ҷо системаи соддатар аст, ба истиснои маълумоти ноболиғ.
Истифодаи SQL дар Интернет
Бо пайдоиши ба World Wide Web, яъне Интернет, забони SQL аст, васеъ намудани доираи истифодаи. Тавре ки маълум аст, дар шабакаи аст, захира бисёр маълумоти, балки он аст, бетартибона нест, ва Фишка оид ба сомонаҳои интернетӣ ва серверҳо аз рӯи меъёрҳои муайян.
Барои нигоьдории иттилоот дар Интернет, инчунин дар ҷойҳои дигар, ки бевосита масъул мебошанд, ки барои махзани, ва сайтҳои системаи назорати мебошанд. Одатан, сомонаҳо ва рамзи дар забони барномасозӣ гуногун ташкил карда, вале базаи аст, дар намуди SQL асоси, ва он забони таъсиси хазинаи, нигаронида дар интерфейсҳои веб MySQL аст.
Дар наҳвӣ ва маҷмӯи асосии аҳкомҳое, ки ин забон пурра нусхабардорӣ тамоми SQL шинос, ки бо баъзе аз иловаҳо худ, ки ба ӯ хилофи Microsoft tSQL Server дод.
SQL амр комилан монанд на танҳо наҳвӣ, балки ҳамчунин маҷмӯи стандартии суханони Функсияи. Ягона фарќият дар дархост зангҳо ва сохтори аст. Масалан, бо дархости ба сохтани ҷадвали нав, зан аввал аст, чӣ талабагон дар мактабҳои дар компютер таълим:
$ Link = mysqli_connect ( 'localhost', «реша", '', 'tester');
Агар (! $ пайванд) бимирад ( "Хатоги");
$ Дархости = 'эҷод истифодабарандагони мизи (
дароед VARCHAR (20)
VARCHAR гузарвожа (20)
');
Агар (mysqli_query ($ пайванд, $ дархости)) ҳамовоз «Љадвали офаридааст.»;
elseecho «Дар ҷадвал кардааст, таъсис дода нашудааст:" .mysqli_error ();
mysqli_close (пайванд ба $);
Логин ва калимаи раҳкушои: Дар натиҷаи чунин дархост, шумо метавонед як мизи нав »истифодабарандагони», ки дар он ҷо хоҳад ду майдони ба даст.
Наҳвӣ зери Web тағйир аст, аммо дар бораи дастаи MicrosoftSQLServer асос ёфтааст.
Бинои дархостњои MicrosoftSQLServer
Дар намунаи маҷмӯи ҷумла мизҳои маълумот яке аз вазифаҳои асосии SQL мебошад. Барои чунин амалиёт, ба фармони ро интихоб кунед SQL таъмин карда мешавад. Ин дар бораи он муҳокима дар поён.
Шартҳои дастаи бино хеле оддӣ ҳастанд, ва фармони хеле интихоб дар SQL ба таври зерин сохта мешавад. Барои мисол, як миз, ки дар он маълумоти барои кормандоне, ки, барои мисол, номи як шахс дастрас нест. Мо ин масъала, ки дар сари суфра ба шумо лозим аст, ки интихоби маълумот дар бораи кормандон, ки санаи таваллуд хатарнок - дар фосилаи аз аввали моҳи январ то моҳи нахустин моҳи марти соли ҷорӣ, фарогир. Барои чунин як намуна ба иҷро фармони SQL аст, ки на танҳо як тарҳи стандартӣ, балки ҳолати интихобӣ зарур аст:
Ро интихоб кунед * аз шахси
Дар куҷо P_BerthDay> = '01 / 01/2016 ва P_BerthDay <= '03 / 01/2016 '
Иҷрои ин амр тамоми маълумот дар бораи кормандон, бозгардем, ки зодрӯзи аст, ки дар даврае, ки аз ҷониби ту муқаррар карда мешавад. Баъзан шумо метавонед шубҳа, ки барои намоиши танҳо насаб, ном, ва номи падари корманд. Бо ин мақсад, як дархост ба бунёди роҳи каме фарқ, барои мисол, аз инњо иборатанд:
SelectP_Name - номи
P_SurName - насаб
P_Patronimic - насаб,
аз шахс
Дар куҷо P_BerthDay> = '01 / 01/2016 ва P_BerthDay <= '03 / 01/2016 '
Аммо, ин фақат интихоби чизе аст. Ӯ аст, ки дар моҳияти, чизе таъсир намерасонад, балки танҳо иттилоот таъмин менамояд. Аммо агар шумо қарор ҷиддӣ забони SQL, ба шумо хоҳад доранд ба ёд чӣ тавр ба тағйирот дар пойгоҳи соли сохтмон бе он аст, танҳо имконнопазир. Чӣ тавр ин амал он аст, хоҳад зер баррасӣ мешаванд.
Basic SQL амр додааст, то тағйир маълумот
Дар наҳвӣ аст, на танҳо барои querying, балки низ барои сӯистеъмоли маълумот сохта. Асосан, ба барномасоз базаи вазифаи аст, навиштани скрипт барои намуна ва ҳисоботҳо, вале баъзан ба шумо лозим аст, ки тағйирот дар сари суфра аст. SQL фармон рӯйхати чунин амали хурд аст ва иборат аст аз се даста иборат аст:
Гузоред (фаромарзӣ. Гузоред).
Навсозии (фаромарзӣ. Update).
Нобуд (фаромарзӣ. Хориҷ).
Мақсад аз ин даста осон муайян аст, ки он кофӣ ба танҳо номи худро тарҷума аст. Ин фармонҳои осон ба истифода ва ба як сохтмон мураккаб аз нақшаи надоранд, вале аз он Қобили зикр аст, ки ба баъзе аз онҳо, ки агар истифодаи ѓайримаќсадноки, метавонад зарари ҷуброннопазири ба базаи сабаб аст.
Чун қоида, пеш аз истифодаи ин аҳкоми MSSQL ба шумо лозим аст, ки баррасӣ ва ба назар гирифтани тамоми оқибатҳои эҳтимолии татбиқи онҳо.
Баъд аз омӯзиши ин аҳкоми, шумо имконияти пурра оғози кор бо маълумот мизҳои дар васила тағйир он ва баъзе тағйирёбандаҳои фаҳмондадиҳӣ нав ё хориҷ сола хоҳад шуд.
дастаи Insert
Барои ворид маълумот ба ҷадвали истифодаи бехавф даста - Ворид. маълумоти нодуруст ҷойгир аст, ҳамеша имконпазир аст, ки ба хориҷ ва илова ба махзани боз.
Гузоштани фармон аз ҷойгиркунии маълумоти нав ба миз ва ба шумо имкон медиҳад, то ҳамчун маҷмӯи комили илова кунед, ва интихобан.
Масалан, ворид кардани амри Худо дар шахси мизи қаблан тавсиф карда шудаанд. Бо мақсади ба фармони SQL бояд дар мизи маълумоте, ки имкон медиҳад, ки ба ворид кардани ҳамаи маълумоти дар як миз ё онро интихобан пур идора карда мешавад.
Ро ба шахсе,
Интихоб кунед 'Grigoriev' 'Виталий', 'Петрович', '1/1/1988'
СЕРВЕРИ фармони чунин нақшаи MS SQL аст, ба таври худкор бо ҳамаи ҳуҷайраҳои мизи бо маълумоти пешбининамудаи пур карда мешавад. вазъиятҳое ҳастанд, ки дар он корманд надорад, ибтидоии миёна, барои мисол вуҷуд дорад, ӯ омад, ба кор дар нуқтаҳои мубодилаи асъори аз Олмон. Дар ин ҳолат, идора кардани дохил фармони маълумоти зерин, ки ба мизи меорад фақат он чизеро, зарур аст. Дар наҳвӣ ин фармон чунин аст:
Insertintoperson (P_Name, P_SurName, P_BerthDay)
Арзишҳои ( 'Довуд', 'қалмоқе', '2/11/1986)
Ин даста пур танҳо ҳуҷайра муайян, ва ҳамаи дигаронро ночиз хоҳад буд.
Фармондеҳии ба тағйир додани маълумот
Барои тағйир додани маълумот як хати тамоми, ва баъзе ҳуҷайраҳои фармони Навсозии SQL истифода баред. Иҷрои ин амр танҳо ба шароити муайян зарур аст, аз ҷумла, маҳз дар он хати шумораи зарурӣ барои тағйироти он ишора мекунад.
Навсозии SQL фармони дорои синтаксиси оддӣ. Барои таъмини истифодаи дурусти, шумо муайян мекунед, ки маълумоти дар сутуни ва сабти бояд тағйир ёфт. Сипас, эҷоди як скрипт ва иҷро он. Мисолеро дида мебароем. Мо бояд ба тағйир додани санаи таваллуд Довуд қалмоқе биандоз, ки дар ҷадвали корманд дар шумораи 5 дохил карда мешавад.
навсозии шахси
Танзими P_BerthDay = '02 / 10/1986 'ҷо P_ID = 5
Аҳволи (дар скрипти) дар санаи таваллуди хамаи сабти ҷадвал тағйир намедиҳад, ва навсозӣ танҳо ба миён меорад.
Ин аст, ки ин гурӯҳи барномасозони истифода аксар, зеро он ба шумо имконияти тағир маълумоти дар ҷадвал бе расонидани зарари ҷиддӣ ба тамоми иттилоот.
Амр додааст, то истифода сохта-дар расмиёти ва функсияҳои
Бо ёрии SQL забон, шумо наметавонед танҳо ба сохтани дархостҳои, балки барои эҷоди механизмҳои сохта-дар кор бо маълумот. Чун қоида, вақтҳое мешаванд, ки истифода бурдан мехоҳед, дар бадани намунаи дархости ки пештар навишта шудааст.
Чунон ки мантиқан, пас ба шумо лозим аст, ки нусхабардорӣ ва часбонед матни намуна дар ҷои рост, вале шумо метавонед як роҳи ҳалли осон мекунад. Масалан дар он интерфейси тугмаи кор нишон дода барои чопи ин гузориш, масалан, дар Excel дида мебароем. Ин амалиёт хоҳад лозим анҷом дода мешавад. Барои ба чунин мақсадҳо, сохта-дар доранд, тартиби нигоњ дошта мешавад. Фармонҳои дархостҳои SQL, дар ин ҳолат, дар раванди мебошанд ва аз ҷониби дастаи SQLExec боиси.
Биёед ба гумонам мо, ки ба тартиби санаи хуруҷи таваллуд кормандон бо мизи шахси пештар тавсиф офарида шудааст. Дар ин ҳолат, ҳеҷ зарурате барои навиштани тамоми дархости нест. Барои ба даст овардани маълумоти зарурӣ барои иҷрои Exec фармони [номи тартиби] ва воқеъ параметрҳои зарурӣ барои интихоб кифоя аст. Масалан, мо метавонем механизми барои ташкили чунин як хусусияти тартиби дида бароем:
CREATEPROCEDUREPrintPerson
smalldatetime @DB
@DE smalldatetime
AS
МУАЙЯНШУДА NOCOUNT ОИД БА;
* Рд аз шахси
АЗ HumanResources.vEmployeeDepartmentHistory
КУҶО P_BerthDay> = @DB ва P_BerthDay <= @DE
ANDEndDateISNULL;
ГУЗАРЕД
Ин тартиб тамоми маълумот дар бораи кормандон дар зодрӯзаш дар як давраи вақт дода шавад бар мегардонад.
Созмони беайбии маълумот. хуруљ
Баъзе MS SQL-фармон, як шояд ҳатто мегӯянд, ки намунаи танҳо нест, метавонад ташкил сӯистеъмоли маълумот, балки ҳамчунин барои таъмини беайбии худ. Барои ба чунин мақсадҳо дар забони тарҳрезӣ тарҳрезӣ системаи, ки боиси як барномасоз худ кашид. Ин хуруљ ном, ки метавонад назорати маълумот таъмин мебошанд.
Дар ин ҳолат, барои ташкили шароити санҷиши истифодаи стандарти фармони SQL-дархостҳо. Дар хуруљ, шумо метавонед бисёр шароит ва маҳдудиятҳои барои маълумот, ки дастрасии на танҳо ба иттилоот идора, балки ҳамчунин манъи додан, тағйир додан, ё гузоред маълумот эҷод.
Дар намуди фармонҳои SQL, ки мумкин аст, дар як триггер истифода бурда мешавад, маҳдуд карда намешавад. Мисоли зеринро дида мебароем.
Агар мо механизми ташкили триггер тасвир, он гоҳ намуди фармонҳои SQL ҳамон тавре ки ҳангоми эҷоди тартиби мебошанд. алгоритми худ ғамхорӣ хоҳад кард, дар зер тавсиф карда шудаанд.
Қадами аввал аст, ки ба тасвир фармони хадамоти эҷод хуруљ:
Креатив триггер Person_Insert
нуқтаи Оянда ба як мизи:
ONPerson
Муайян мекунад, ки барои амалиёти маълумот (дар ин ҳолат, маълумоти тағйир амалиёт).
Қадами навбатӣ аст, ки ба муайян кардани ҷадвалҳо ва тағйирёбандаҳои:
эълон Int @ID. @Date smalldatetime @nID Int. @nDatesmalldatetime
Иловагӣ эълон Нишоннамои интихоб бартараф ҷадвалҳои маълумот ва ворид намудани маълумот:
Эълон C1 курсор барои P_ID ро интихоб кунед, P_BerthDay аз воридшуда
Эълон C2 курсор барои интихоб кунед P_ID, P_BerthDay аз нест
Муайян кардани қадамҳои интихоби маълумот. Боре дар бадан Нишоннамои њолат ва вокуниши муқаррар ба он:
Агар @ID = @nID ва @nDate = '01 / 01/2016 '
сар
амалиёти Иҷроиши sMasseges »ғайриимкон аст. Сана аст, муносиб нест "
охир
Қобили зикр аст, ки дар триггер на танҳо метавонад эҷод, балки хомӯш барои муддате аст. Чунин сӯистеъмоли фақат дар Сервери SQL ҷойгир фармони барномасоз иҷро нигоҳ доред:
altertablePERSONdisabletriggerall - барои хомӯш ҳамаи хуруљ биёфарид миз, ва, мутобиќан, altertablePERSONenabletriggerall - барои дохил намудан.
Ин SQL асосии амр маъмулан бештар истифода бурда мешавад, вале таркиби онҳо метавонад хеле гуногун. SQL - забони барномасозӣ хеле фасеҳ ва медиҳад, ки таҳиякунанда на зиёдтар аз имкониятҳои.
хулоса
Аз болои мо танҳо хулоса баровардан мумкин аст: SQL забони ҳатмист барои касоне, ки мехоҳанд ба машғул ҷиддӣ дар барномасозӣ. Ин дар дили ҳамаи амалиёт дар Интернет ва дар базаи хона анҷом вогузошта шудааст. Ин аст, ки барномасоз оянда бояд шумораи аҳкоми забони донист, зеро танҳо онҳо метавонанд, то ба сухан, ба муошират бо компютер.
Албатта, ҳастанд камбудиҳо, ки дар ҳама чиз дар ин олам, вале онҳо то хурд, ки танҳо дар пеши сазовори аҳамияти мебошанд. Дар байни ҳамаи забони барномасозии SQL аст, қариб, ки танҳо яке аз он гуна, зеро он универсалӣ, ва дониш дар бораи навиштани скриптҳо аст ва кодексњои асоси қариб дар тамоми сомонаҳо мебошанд.
Бартарии асосии SQL bezogovorchno метавон баррасӣ самимияте он, зеро баъд аз ҳама, ба он ки Ӯ буд, ки ба барномаи таълимии мактабҳо ворид карда шуд. Аз он метавонанд, ҳатто як барномасоз эскизи идора, дар ҳақиқат бо забонҳои доноро нест.
Similar articles
Trending Now