KompyutaProgramu

SQL-maswali amri

SQL - moja ya lugha ya kawaida ya programu kuunda na kudhibiti database, pamoja na kwa aina ya vitendo na data yenyewe.

Kama mazoezi inaonyesha, ni rahisi kabisa ya kutumia na kufanya zaidi ya msamiati hali ya lugha ya Kiingereza. Kama lugha nyingine yoyote programu, SQL ina mantiki yake mwenyewe na sentensi, seti ya amri za msingi na sheria kwa ajili ya matumizi yao.

Ainisho ya amri SQL

All amri kiwango SQL inaweza kuchukuliwa kulingana na marudio yao. Kama msingi wa uainishaji vneglasnoy inaweza kuchukua seti kama vile:

  1. swala amri.

  2. Timu kujengwa katika taratibu na kazi.

  3. kuchochea na meza mfumo amri.

  4. Sets ya mchanganyiko wa kufanya kazi na tarehe na kamba variables.

  5. Amri ya kufanya kazi na data na meza.

Uanishaji huu ni kutokuwa na mwisho, lakini kimsingi wa lugha SQL seti amri ni kujengwa kwa usahihi kwa sababu ya aina hii.

Kuzingatia uainishaji wa lugha, bila kutaja kwamba ni kwa wote, kama inavyothibitishwa na wigo wa matumizi yake. Lugha hii programu na variants yake ni itatumika si tu katika mazingira ya kiwango lakini pia katika programu nyingine, ambayo, kwa njia moja au nyingine, una kutumika.

wigo wa matumizi ya SQL inaweza kutazamwa kwa mtazamo wa programu ya ofisi, yaani MicrosoftAccess. Lugha hii, au tuseme, aina wake - MySQL, unaweza kusimamia database mtandao. Hata Oracle maendeleo ya mazingira kwa kuzingatia matumizi yao katika amri SQL ya maswali.

Kwa kutumia SQL katika MicrosoftAccess

Moja ya kawaida ya matumizi ya lugha ya programu database programu ya mfuko ni kuchukuliwa MicrosoftOffice. utafiti wa programu hii hutoa kozi shule ya sayansi ya kompyuta, na katika daraja kumi na moja ni kuchukuliwa usimamizi database mfumo MicrosoftAccess.

Ni utafiti wa maombi ya wanafunzi kujifahamisha na ukuaji wa lugha ya hifadhidata na kupata ufahamu msingi wa yote pamoja. SQL Access timu badala ya kale, bila shaka, kama tunaona nao katika hali ya kitaalamu. Mbio amri hiyo ni rahisi sana, na ni ilichukuliwa katika mhariri code.

Fikiria mfano maalum:

SELECT Pe_SurName

FROM Pherson

WAPI Pe_Name = 'Mary';

Kulingana na syntax amri, unaweza kuelewa kuwa anarudi user jina la mtu, katika kesi hii, mwanamke mmoja aitwaye Maria, ambayo ni kuhifadhiwa katika meza Mawasiliano database.

Ingawa matumizi ya SQL katika Access ni mdogo, wakati mwingine kama maswali rahisi unaweza sana kurahisisha utekelezaji wa kazi walizopewa.

Kwa kutumia kauli SQL katika Oracle

Oracle - pengine tu Microsoft SQL Server mshindani kubwa. Ni hii maendeleo ya mazingira na usimamizi wa database ni daima inaongoza kwa uboreshaji wa kampuni ya programu makala Microsoft bidhaa kama ushindani - ni injini ya maendeleo. Pamoja migogoro ya mara kwa mara, SQL Oracle timu ya mara kwa mara SQL. Ikumbukwe kwamba ingawa Oracle na anahesabiwa karibu nakala kamili ya SQL, mantiki ya mfumo huu, na lugha kwa jumla inachukuliwa kuwa rahisi.

Oracle mfumo wa kutumia seti maalum ya amri si kama muundo ngumu. Kama tunaona uwezo data ya mazingira database maendeleo, Oracle haina muundo tata wa maswali nested.

tofauti hii inaruhusu mara nyingi kuongeza kasi ya kazi na data, lakini, kwa upande mwingine, husababisha matumizi mabaya ya kumbukumbu, katika baadhi ya kesi ya mtu binafsi. Oracle muundo kwa kiasi kikubwa kujengwa kwenye meza ya muda mfupi na matumizi yao. Kama mfano: amri SQL katika mfumo ni msingi mlinganisho na viwango lugha SQL yenyewe, ingawa si kwa kiasi kikubwa tofauti na yake.

SELECTCONCAT (CONCAT (CONCAT ( 'Mfanyakazi', sname), CONCAT (SUBSTR (fname, 0, 1), SUBSTR (otch, 0, 1))), CONCAT ( 'prinyatnarabotu', acceptdate)) FROM wafanyakazi WAPI acceptdate> TO_DATE ('01 .01.80 ',' dd.mm.yyyy ');

hoja hii atarudi data kuhusu wafanyakazi, ambao wameajiriwa kwa kipindi fulani cha wakati. Ingawa umbo swala ni tofauti na Microsoft SQL Server, utekelezaji wa SQL amri katika mifumo hii ni sawa, ila kwa maelezo madogo.

Kwa kutumia SQL kwenye mtandao

Pamoja na ujio wa mtandao wa dunia nzima, yaani Internet, lugha SQL ni kupanua wigo wa matumizi. Kama inajulikana, mtandao kuhifadhiwa mengi ya habari, lakini si machafuko, na posted kwenye tovuti na seva kulingana na vigezo fulani.

Kwa ajili ya kuhifadhi taarifa juu ya mtandao, na pia katika maeneo mengine, ni wajibu moja kwa moja kwa database, na tovuti za watu kudhibiti mifumo. Kwa kawaida, tovuti na posta hupangwa katika lugha mbalimbali ya programu, lakini database ni msingi juu ya aina ya SQL, na ni lugha ya kuundwa database, oriented katika MySQL interfaces mtandao.

syntax na kuweka msingi wa amri kwamba lugha kabisa nakala SQL kila ukoo, pamoja na baadhi ya nyongeza lake, ambayo kumpa tofauti Microsoft tSQL Server.

SQL amri kama hiyo kabisa si tu syntax lakini pia kiwango seti ya maneno kazi. Tofauti tu ni katika ombi wito na jinsia. Kwa mfano, kuzingatia ombi kujenga meza mpya, yeye ni wa kwanza kile kufundisha watoto katika shule ya kompyuta:

$ Link = mysqli_connect ( 'localhost', "mzizi", '', 'wanaojaribu');

ikiwa (! $ kiungo) wanakufa ( "Kosa");

$ Query = 'kujenga watumiaji meza (

kuingia VARCHAR (20)

password VARCHAR (20)

');

ikiwa (mysqli_query ($ kiungo, $ hoja)) echo "Meza kuundwa.";

elseecho "meza haijawahi kuundwa:" .mysqli_error ();

mysqli_close ($ kiungo);

Kutokana na ombi vile, unaweza kupata meza "Watumiaji" mpya, ambapo kutakuwa na sehemu mbili: jina la mtumiaji na nenosiri.

Syntax iliyopita chini ya mtandao, lakini ni msingi MicrosoftSQLServer timu.

Vifaa Hoja MicrosoftSQLServer

sampuli ya seti fulani ya meza data ni moja ya kazi kuu ya SQL. Kwa shughuli kama hizi, mradi kuchagua amri katika SQL. Hiyo ni kuhusu hilo kujadiliwa hapa chini.

Masharti ya kujenga timu ni rahisi sana, na kuchagua sana amri katika SQL ni ujenzi kama ifuatavyo. Kwa mfano, kuna meza ambayo data ni inapatikana kwa wafanyakazi ambao, kwa mfano, jina la mtu. Sisi kusababisha tatizo ambalo meza unahitaji kuchagua data kuhusu wafanyakazi, ambayo tarehe ya kuzaliwa - katika muda kutoka ya kwanza ya Januari hadi ya kwanza ya Machi mwaka wa sasa, zikiwemo. Kwa hiyo sampuli ni muhimu kutekeleza SQL amri, ambayo si tu design ya kawaida, lakini pia hali ya uteuzi:

Kuchagua kutoka katika Mtu

Ambapo P_BerthDay> = '01 / 01/2016 'na P_BerthDay <= '03 / 01/2016'

Utekelezaji wa amri hii atarudi data kuhusu wafanyakazi, ambao siku ya kuzaliwa ni katika kipindi, ambayo imekuwa kuweka na wewe. Wakati mwingine unaweza kuwa changamoto ya kuonyesha tu jina la mwisho, jina la kwanza na patronymic ya mfanyakazi. Hadi mwisho huu, ombi kujenga njia tofauti kidogo, kwa mfano, kama ifuatavyo:

SelectP_Name - jina

P_SurName - jina

P_Patronimic - patronymic

kutoka Mtu

Ambapo P_BerthDay> = '01 / 01/2016 'na P_BerthDay <= '03 / 01/2016'

Hata hivyo, hii ni uteuzi wa kitu chochote. Yeye ni, kwa asili, haiathiri kitu chochote, lakini tu hutoa habari. Lakini kama wewe kuamua kuchukua umakini lugha SQL, utakuwa na kujifunza jinsi ya kufanya mabadiliko ya database, kwa kuwa ujenzi yao bila ni vigumu tu. Jinsi hii inafanywa itakuwa kujadiliwa hapa chini.

Basic SQL amri ya kubadilisha data

syntax ni kujengwa si tu kwa ajili ya querying, lakini pia kwa kufanya udanganyifu data. Kimsingi, kazi database programu ya kuandika script kwa sampuli na taarifa, lakini wakati mwingine unahitaji kufanya mabadiliko ya meza. SQL amri orodha kwa vitendo kama ni ndogo na ina timu kuu tatu:

  1. Weka (trans. Weka).

  2. Mwisho (trans. Mwisho).

  3. Kufuta (trans. Ondoa).

Madhumuni ya timu hizi ni rahisi kuamua, ni ya kutosha kutafsiri tu majina yao. amri hizi ni rahisi kutumia na huna ujenzi ngumu ya mpango, lakini ni kutaja thamani ya kwamba baadhi yao, kama kutumika vibaya, unaweza kusababisha madhara makubwa ya database thamani.

Kama kanuni, kabla ya kutumia amri hizi MSSQL unahitaji kufikiria na kuzingatia uwezekano wa matokeo yote ya utekelezaji wake.

Baada ya kujifunza amri hizi, utakuwa na uwezo wa kuanza kikamilifu kufanya kazi na meza database, na hivyo kurekebisha na kufanya baadhi ya mwezi vigezo maelezo juu ya au kuondoa zamani.

Insert timu

Kuingiza data katika meza kwa kutumia timu salama - Insert. Kimakosa kuingizwa data ni kila mara inawezekana kuondoa na kuongeza database tena.

Weka amri kuingiza taarifa mpya katika meza na utapata kuongeza kama seti kamili, na kwa kuchagua.

Kwa mfano, fikiria kuingiza amri katika ilivyoelezwa hapo awali Mtu meza. Ili kufanya SQL amri lazima ziendeshwe katika meza ya data, ambayo inaruhusu kuingiza data yote katika meza au kujaza kwa kuchagua.

Weka katika mtu

Chagua 'Grigoriev' 'Vitali', 'Petrovich', '1988/01/01'

MS SQL SERVER amri hiyo mpango moja kwa moja kujazwa na seli zote za meza na data maalum. Kuna hali ambapo mfanyakazi hana awali kati, kwa mfano, yeye alikuja kwa kazi ya kubadilishana kutoka Ujerumani. Katika hali hii, kukimbia kufuatia amri kuwekeza data, ambayo kuleta kwa meza tu kile ni muhimu. syntax ya amri hii ni kama ifuatavyo:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

Maadili ( 'David', 'Hook', '1986/02/11')

Timu hii hujaza tu maalum ya mkononi, na wengine wote watakuwa null.

Amri ya kubadili data

Ili kubadilisha data kama mstari nzima, na baadhi ya seli kutumia Mwisho SQL amri. Kufanya amri hii inahitaji tu na hali fulani, yaani, usahihi kuashiria ni mstari wa idadi muhimu kufanya mabadiliko.

Mwisho SQL amri ina syntax rahisi. Kuhakikisha matumizi sahihi, wewe kubainisha ni data katika safu na rekodi lazima iliyopita. Next, kujenga script na nitafanya hivyo. Fikiria mfano. Tunahitaji mabadiliko ya tarehe ya kuzaliwa ya Daudi Hook, ambayo ni pamoja na katika meza ya mfanyakazi katika namba 5.

Mwisho Mtu

Kuweka P_BerthDay = '02 / 10/1986 'ambapo P_Id = 5

Hali (katika script) haitabadilika tarehe ya kuzaliwa kwa rekodi zote meza na kusasisha tu muhimu.

Ni hii timu ya programmers kutumia mara nyingi, kwa sababu utapata mabadiliko ya data katika meza bila kusababisha uharibifu mkubwa kwa habari nzima.

Amri ya kutumia taratibu na kazi kujengwa katika

Kwa msaada wa lugha SQL, unaweza si tu kujenga hoja za, lakini pia kujenga njia kujengwa katika kufanya kazi na data. Kama kanuni, kuna nyakati ambapo unataka kutumia katika mwili wa sampuli swala imeandikwa mapema.

Hukumu kimantiki, basi unahitaji nakala na kuweka maandishi sampuli katika mahali sahihi, lakini unaweza kufanya ufumbuzi rahisi. Fikiria mfano ambapo kazi interface kuonyeshwa kifungo magazeti ripoti, kwa mfano katika Excel. Uendeshaji huu kufanyika kama inahitajika. Kwa madhumuni hayo, ni kujengwa katika taratibu za kuhifadhi. Amri SQL maswali, katika kesi hii, ni katika mchakato na husababishwa na timu SQLExec.

Hebu tuseme kwamba utaratibu wa uondoaji tarehe ya kuzaliwa kwa wafanyakazi na ilivyoelezwa hapo awali Mtu meza iliundwa. Katika hali hii, hakuna haja ya kuandika swala zima. Kupata taarifa muhimu inatosha kutekeleza amri Exec [utaratibu jina] na kupita vigezo muhimu kwa ajili ya sampuli. Kama mfano tunaweza kufikiria utaratibu wa kuundwa kwa asili kama wa utaratibu:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

AS

SET NOCOUNT ON;

SELECT * kutoka Mtu

FROM HumanResources.vEmployeeDepartmentHistory

WAPI P_BerthDay> = @DB na P_BerthDay <= @DE

ANDEndDateISNULL;

GO

Utaratibu huu anarudi taarifa zote kuhusu wafanyakazi ambao siku ya kuzaliwa itakuwa katika kipindi fulani wakati.

Shirika data uadilifu. kuchochea

Baadhi MS SQL amri, mtu anaweza hata kusema, kubuni Huwezi tu kuandaa data kudanganywa, lakini pia kuhakikisha uadilifu wao. Kwa madhumuni hayo kwa lugha ameunda mfumo kubuni, ambayo inajenga programu mwenyewe. Hizi ni kuitwa kuchochea, ambayo inaweza kutoa kudhibiti data.

Katika hali hii, kwa ajili ya shirika ya hali ya mtihani kwa kutumia kiwango SQL-maswali amri. Katika kuchochea, unaweza kuunda mengi ya masharti na mapungufu ya data ambayo kudhibiti upatikanaji si tu kwa habari lakini pia kuzuia kuondolewa, na kurekebisha au kuingiza data.

aina ya amri SQL ambayo inaweza kutumika katika trigger, si mdogo. Fikiria mfano ufuatao.

Kama sisi kuelezea utaratibu wa kujenga trigger, basi aina ya amri SQL ni sawa na wakati wa kujenga utaratibu. algorithm yenyewe itakuwa ilivyoelezwa hapa chini.

hatua ya kwanza ni kuelezea amri huduma ya kujenga kuchochea:

Kuunda kichochezi Person_Insert

uhakika Karibu na jedwali:

ONPerson

Inaonyesha ambayo shughuli data (katika kesi hii, data kubadilika operesheni).

Hatua inayofuata ni bayana meza na vigezo:

kutangaza @ID int. @date smalldatetime @nID int. @nDatesmalldatetime

Zaidi ya hayo kutangaza cursors kuchagua meza data kuondolewa na kuingizwa data:

Kutangaza kishale C1 teule P_Id, P_BerthDay kutoka Imeingiza

Kutangaza kishale C2 teule P_Id, P_BerthDay kutoka kufutwa

Kufafanua hatua data uteuzi. Kwa mara nyingine katika mwili cursors kuagiza hali na majibu ya hilo:

kama @ID = @nID na @nDate = '01 / 01/2016 '

kuanza

sMasseges 'Run operesheni haiwezekani. Tarehe si sahihi '

mwisho

Ni kutaja trigger Huwezi tu kujenga, lakini pia kuzima kwa muda thamani. kudanganywa kama huo unaweza kufanya tu programu ya kufanya SQL SERVER amri:

altertablePERSONdisabletriggerall - kuzima kuchochea vyote kwa ajili ya meza, na, kulingana, altertablePERSONenabletriggerall - kwa ajili ya kuingizwa.

Hizi SQL msingi amri ya kawaida kutumika, lakini macho yao inaweza kuwa tofauti sana. SQL - rahisi sana lugha ya programu na inatoa developer upeo wa uwezekano.

hitimisho

Kutoka juu tunaweza kuhitimisha: SQL ujuzi wa lugha lazima kwa wale ambao wanataka kushiriki kwa umakini katika programu. Ni lililoko katika kitovu cha shughuli zote kutumbuiza katika mtandao na database nyumbani. Hii ndiyo sababu programu ya baadaye lazima kujua idadi ya amri za lugha, kwa sababu tu wanaweza kuwa, hivyo kusema, kuwasiliana na kompyuta.

Bila shaka, kuna mapungufu, kama katika kila kitu katika dunia hii, lakini ni ndogo sana kwamba tu rangi kabla ya uhalali. Miongoni mwa lugha zote programu SQL ni karibu moja tu ya aina yake, kwa sababu ni wote, na maarifa juu ya kuandika maandiko na kanuni ni msingi wa karibu maeneo yote.

Faida kuu ya SQL bila usawa inaweza kuchukuliwa kuwa rahisi kwake, kwa sababu, baada ya yote, ni yeye ambaye ni pamoja na katika mtaala wa shule. Hata programu ya mtangazaji anaweza kushughulikia, sio mjuzi sana katika lugha.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sw.birmiss.com. Theme powered by WordPress.