Taarifa ya lugha ya mradi ya sql imeundwa kwa ajili ya. Taarifa za msingi za SQL. Sintaksia na mifano ya kutumia kauli CHAGUA. CHAGUA sintaksia ya kauli na utaratibu wa usindikaji

Lugha ya uulizaji iliyopangwa ya SQL inategemea calculus ya uhusiano yenye maandishi tofauti. Lugha ya SQL imeundwa kufanya shughuli kwenye majedwali, kuunda, kufuta, kubadilisha muundo, na data ya meza, kuchagua, kubadilisha, kuongeza na kufuta, pamoja na baadhi ya shughuli zinazohusiana. SQL ni lugha isiyo ya kiutaratibu na haina taarifa za udhibiti wa kupanga taratibu, ingizo, matokeo, n.k.


Shiriki kazi yako kwenye mitandao ya kijamii

Ikiwa kazi hii haikufaa, chini ya ukurasa kuna orodha ya kazi zinazofanana. Unaweza pia kutumia kitufe cha kutafuta


Lugha ya swali iliyopangwa SQL: historia, viwango,

Waendeshaji lugha za kimsingi.

Lugha ya uulizaji iliyopangwa ya SQL inategemea calculus ya uhusiano yenye maandishi tofauti. Lugha ina viwango kadhaa. Lugha ya SQL imeundwa kufanya shughuli kwenye meza (kuunda, kufuta, kubadilisha muundo) na kwenye data ya meza (kuchagua, kurekebisha, kuongeza na kufuta), pamoja na baadhi ya shughuli zinazohusiana. SQL ni lugha isiyo ya kiutaratibu na haina taarifa za udhibiti, shirika ndogo, ingizo-pato, n.k. Katika suala hili, SQL haitumiki kwa uhuru; kawaida huingizwa katika mazingira ya lugha ya programu ya DBMS iliyojengwa (kwa mfano, FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic for Applications Access DBMS).

Katika DBMS za kisasa zilizo na kiolesura shirikishi, unaweza kuunda hoja kwa kutumia zana zingine, kama vile QBE. Hata hivyo, matumizi ya SQL mara nyingi yanaweza kuboresha ufanisi wa usindikaji wa data katika hifadhidata. Kwa mfano, unapotayarisha swali katika mazingira ya Ufikiaji, unaweza kuhama kutoka kwa dirisha la Muundaji wa Hoji (kuunda sampuli ya swali katika lugha ya QBE) hadi kwenye dirisha lenye taarifa sawa ya SQL. Katika baadhi ya matukio, kuandaa swali jipya kwa kuhariri lililopo ni rahisi kufanya kwa kubadilisha taarifa ya SQL. Muundo wa taarifa za SQL unaweza kutofautiana kidogo katika DBMS tofauti. Lugha ya SQL haina kazi za lugha kamili ya maendeleo, lakini inalenga upatikanaji wa data, kwa hiyo imejumuishwa katika zana za maendeleo ya programu. Katika kesi hii inaitwa SQL iliyoingia. Kiwango cha lugha ya SQL kinaungwa mkono na utekelezaji wa kisasa wa lugha zifuatazo za programu: PL/1, Ada, C, COBOL, Fortran, MUMPS na Pascal.

Katika mifumo maalum ya ukuzaji wa programu ya aina ya seva ya mteja, mazingira ya programu, kwa kuongezea, kawaida huongezewa na zana za mawasiliano (kuanzisha na kukata unganisho na seva za hifadhidata, kugundua na kusindika makosa yanayotokea kwenye mtandao, n.k.), zana za kukuza. violesura vya mtumiaji, zana za kubuni na utatuzi Kuna njia mbili kuu za kutumia SQL iliyopachikwa: tuli na yenye nguvu. Unapotumia lugha ya kitabia (SQL tuli), maandishi ya programu huwa na simu kwa vitendaji vya lugha ya SQL, ambazo zimejumuishwa kwa uthabiti kwenye moduli inayoweza kutekelezwa baada ya kukusanywa.

Mabadiliko katika vitendaji vinavyoitwa yanaweza kuwa katika kiwango cha vigezo vya simu za kibinafsi kwa kutumia vigezo vya lugha ya programu. Wakati wa kutumia lugha dynamically (dynamic SQL), ni kudhani kuwa wito kwa kazi SQL ni kujengwa dynamically na tafsiri ya simu hizi, kwa mfano, kupata data kutoka database kijijini, wakati wa utekelezaji wa programu. Njia inayobadilika hutumiwa katika hali ambapo programu haijui aina ya simu ya SQL mapema na inaundwa kwa mazungumzo na mtumiaji. Kusudi kuu la lugha ya SQL (pamoja na lugha zingine za kufanya kazi na hifadhidata) ni kuandaa na kutekeleza maswali. Kurejesha data kutoka kwa jedwali moja au zaidi kunaweza kusababisha seti ya rekodi inayoitwa mtazamo. Mtazamo kimsingi ni jedwali ambalo hutolewa kama matokeo ya swali. Tunaweza kusema kuwa ni aina ya swala iliyohifadhiwa. Unaweza kuunda maoni mengi kwa kutumia majedwali sawa. Mtazamo wenyewe unaelezewa kwa kubainisha kitambulisho cha kutazama na ombi ambalo lazima lifanywe ili kuipata.

Kwa urahisi wa kufanya kazi na maoni, dhana ya mshale ilianzishwa katika lugha ya SQL. Mshale ni aina ya kielekezi kinachotumiwa kupitia seti za rekodi wakati wa kuzichakata. Maelezo na matumizi ya mshale katika SQL ni kama ifuatavyo. Katika sehemu ya maelezo ya programu, kielekezi cha aina tofauti (CURSOR) kinahusishwa na taarifa ya SQL (kawaida taarifa ya SELECT). Katika sehemu ya utekelezaji ya programu, mshale unafunguliwa (OPEN<имя курсора>), kusonga mshale kupitia rekodi (FETCH<имя курсора>...), ikifuatiwa na uchakataji ufaao, na hatimaye kufunga kishale (CLOSE<имя курсора>).

Waendeshaji lugha za kimsingi

Hebu tueleze sehemu ndogo ya lugha ya SQL, kulingana na utekelezaji wake katika kiolesura cha kawaida cha ODBC (Open Database Connectivity) kutoka kwa Microsoft. Waendeshaji lugha wa SQL wanaweza kugawanywa katika vijilugha vidogo viwili: Lugha ya Ufafanuzi wa Data (DDL) na Lugha ya Udhibiti wa Data (DML). Waendeshaji wakuu wa lugha za SQL wamewasilishwa kwenye jedwali.

Wacha tuchunguze muundo na uwezo wa kimsingi wa waendeshaji muhimu zaidi, isipokuwa waendeshaji maalum waliowekwa alama kwenye jedwali na ishara "*". Tutaacha utendakazi na vipengele vya sintaksia visivyo muhimu (kwa mfano, sheria iliyopitishwa katika mifumo mingi ya programu kuweka ";" mwishoni mwa opereta).

1. Opereta kuunda mezaina umbizo:

TENGENEZA JEDWALI<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Operesheni zinazohitajika za opereta ni jina la jedwali linaloundwa na jina la angalau safu wima moja (uga) inayoonyesha aina ya data iliyohifadhiwa katika safu wima hii.

Wakati wa kuunda meza, sheria zingine za ziada za kudhibiti maadili yaliyowekwa ndani yao zinaweza kubainishwa kwa uwanja wa mtu binafsi. Muundo wa NOT NULL hutumikia kusudi hili kwa usahihi na, kwa safu wima ya jedwali, inamaanisha kuwa thamani lazima ifafanuliwe katika safu wima hiyo.

Taarifa za SQL

Tazama

Jina

Kusudi

TENGENEZA JEDWALI

DONDOSHA TABLE

MEZA BADILISHA

TUNZA INDEX

DONDOSHA INDEX

TENGENEZA TAZAMA

ONDOA TAZAMA

KUBWA*

KUBATISHA*

kuunda meza

kufuta meza

kubadilisha muundo wa meza

uundaji wa index

kufuta index

kuunda mtazamo

kufuta mwonekano

kupeana mapendeleo

kuondolewa kwa marupurupu

CHAGUA

HABARI

INGIZA

FUTA

rekodi za sampuli

kubadilisha rekodi

kuingiza rekodi mpya

kufuta maingizo

Kwa ujumla, DBMS tofauti zinaweza kutumia aina tofauti za data. Kiolesura cha ODBC kinaauni aina zake za data za kawaida, kwa mfano, zile za herufi (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), n.k. Unapofanya kazi na hifadhidata ya DBMS fulani kupitia kiolesura cha ODBC, aina za data za kawaida zinazoungwa mkono na kiolesura hubadilishwa kiotomatiki. katika aina za data chanzo na kinyume chake. Ikiwa ni lazima, ubadilishanaji wa data kati ya programu na chanzo cha data unaweza kufanywa bila ubadilishaji katika umbizo la data la ndani la chanzo.

Mfano 1 . Kuunda meza.

Tuseme unataka kuunda jedwali la bidhaa zinazoelezea bidhaa ambazo zina nyanja zifuatazo: aina ya bidhaa, kitambulisho cha comp_id cha kampuni ya utengenezaji, jina la bidhaa na bei ya bidhaa. Taarifa ya ufafanuzi wa jedwali inaweza kuonekana kama hii:

UTENGENEZA bidhaa za TABLE (aina SQL_CHAR(8) SIO NULL,

comp_id SQL_CHAR(10) NOT NULL, jina SQL_VARCHAR(20),

bei SQL_DECIMAL(8,2)).

2. Opereta mabadiliko ya muundo wa mezaina umbizo:

MEZA BADILISHA<имя таблицы>

((ONGEZA, BADILISHA, ONDOA)<имя столбца> [<тип данных>]

[,(ONGEZA, REKEBISHA, ONDOA)<имя столбца> [<тип данных>]]...)

Kubadilisha muundo wa jedwali kunaweza kujumuisha kuongeza (ADD), kubadilisha (MODIFY) au kuondoa (DROP) safu wima moja au zaidi za jedwali. Kanuni za kuandika taarifa ya TABLE Alternative ni sawa na taarifa ya CREATE TABLE. Wakati wa kufuta safu, onyesha<тип данных>hakuna haja.

3. Opereta kufuta mezaina umbizo:

DONDOSHA TABLE<имя таблицы>

Opereta inakuwezesha kufuta meza iliyopo. Kwa mfano, ili kufuta meza yenye jina la vitu, inatosha kuandika taarifa kama: vitu vya DROP TABLE.

4. Opereta kuunda indexina umbizo:

TUNZA INDEX< имя индекса >

WASHA< имя таблицы >

(<имя столбца>[ASC | DESC]

[,<имя столбца>[ASC | DESC]...)

Opereta hukuruhusu kuunda faharisi kwenye safu wima moja au zaidi za jedwali fulani ili kuharakisha utekelezaji wa hoja na shughuli za utaftaji kwenye jedwali. Unaweza kuunda faharasa nyingi kwenye jedwali moja. Kwa kubainisha chaguo la hiari la UNIQUE, unaweza kuhakikisha kwamba thamani katika safu wima zote zilizobainishwa katika taarifa ni za kipekee. Kimsingi, kuunda faharisi kwa kutumia sifa ya UNIQUE inamaanisha kufafanua ufunguo kwenye jedwali lililoundwa hapo awali. Unapounda faharasa, unaweza kuweka thamani katika safu wima ili kupangwa kiotomatiki kwa mpangilio wa kupanda ASC (chaguo-msingi), au mpangilio wa kushuka wa DESC. Unaweza kuweka mpangilio tofauti wa safu wima tofauti.

5. Opereta kufuta indexina umbizo:

DONDOSHA INDEX<имя индекса>

Opereta huyu hukuruhusu kufuta faharisi iliyoundwa hapo awali na jina linalolingana. Kwa hivyo, kwa mfano, kuharibu faharisi kuu_indx kwenye jedwali la emp, inatosha kuandika taarifa ya DROP INDEX main_indx.

6. Opereta kuunda mtazamoina umbizo:

TENGENEZA TAZAMA<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

AS<оператор SELECT>

Opereta hii inakuwezesha kuunda mtazamo. Ikiwa majina ya safu wima hayajabainishwa katika mwonekano, majina ya safu wima kutoka kwa hoja iliyofafanuliwa na taarifa inayolingana ya CHAGUA yatatumika.

7. Futa operator uwakilishi una muundo ufuatao:

ONDOA TAZAMA<имя представления>

Opereta hukuruhusu kufuta mwonekano ulioundwa hapo awali. Kumbuka kwamba unapofuta mtazamo, meza zinazoshiriki katika swali hazifutwa. Kuondoa uwakilishi wa gerg hufanywa na opereta wa fomu: DROP VIEW repr.

8. Opereta wa uteuzi wa rekodi ina umbizo:

CHAGUA

< список данных >

KUTOKA<список таблиц>

... ]

...]

Hii ndiyo taarifa muhimu zaidi ya taarifa zote za SQL. Utendaji wake ni mkubwa sana. Wacha tuangalie zile kuu. Taarifa ya SELECT hukuruhusu kuchagua na kufanya mahesabu kwenye data kutoka kwa jedwali moja au zaidi. Matokeo ya taarifa ni jedwali la majibu, ambalo linaweza kuwa na au lisiwe na safu mlalo (DISTINCT) nakala. Kwa chaguo-msingi, safu mlalo zote, ikijumuisha nakala rudufu, zimejumuishwa kwenye jedwali la majibu. Uteuzi wa data unahusisha rekodi kutoka kwa jedwali moja au zaidi zilizoorodheshwa katika orodha ya operesheni ya FROM. Orodha ya data inaweza kuwa na majina ya safu wima zinazoshiriki katika hoja, pamoja na maneno juu ya safu wima. Katika hali rahisi, misemo inaweza kuwa na majina ya safuwima, alama za hesabu (+, , *, /), viunga, na mabano. Ikiwa usemi umeandikwa katika orodha ya data, basi pamoja na uteuzi wa data, mahesabu yanafanywa, matokeo ambayo huanguka kwenye safu mpya (iliyoundwa) ya meza ya majibu. Unapotumia majina ya safu wima ya jedwali kadhaa kwenye orodha za data, muundo wa fomu hutumiwa kuonyesha kuwa safu ni ya jedwali fulani:<имя таблицы>.<имя столбца>.

Operesheni ya WAPI inabainisha masharti ambayo ni lazima yatimizwe na rekodi kwenye jedwali linalotokana. Kujieleza<условие выборки>ni Boolean. Vipengele vyake vinaweza kuwa majina ya safu, shughuli za kulinganisha, shughuli za hesabu, viunganishi vya kimantiki (NA, AU, SIO), mabano, kazi maalum LIKE, NULL, IN, nk. Operesheni ya GROUP BY hukuruhusu kuchagua vikundi katika seti inayotokana ya rekodi.

9. Opereta rekodi mabadilikoina umbizo:

UPDATE<имя таблицы>

WEKA<имя столбца> = {<выражение>, NULL )

[, SET<имя столбца> = {<выражение>, NULL)... ]

Utekelezaji wa taarifa ya UPDATE inajumuisha kubadilisha maadili katika safu wima za jedwali zilizoainishwa na operesheni ya SET kwa rekodi hizo ambazo zinakidhi hali iliyoainishwa na operesheni ya WHERE. Thamani mpya za sehemu katika rekodi zinaweza kuwa tupu (NULL) au kuhesabiwa kulingana na usemi wa hesabu. Sheria za kuandika maneno ya hesabu na mantiki ni sawa na sheria zinazofanana za taarifa ya SELECT.

10. Opereta kuingiza rekodi mpyaina aina mbili za muundo:

INGIA NDANI<имя таблицы>

[(<список столбцов>)]

THAMANI (<список значений>)

INGIA NDANI<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

Katika umbizo la kwanza, taarifa ya INSERT inatumika kuingiza rekodi mpya zilizo na maadili maalum kwenye safuwima. Mpangilio wa kuorodhesha majina ya safu wima lazima ulingane na mpangilio wa thamani zilizoorodheshwa katika orodha ya operesheni ya VALUES. Kama<список столбцов>imeachwa, kisha ndani<списке значений>Thamani zote lazima ziorodheshwe kwa mpangilio wa safu wima za muundo wa jedwali.Katika umbizo la pili, taarifa ya INSERT imekusudiwa kuingiajedwali fulani la safu mlalo mpya zilizochaguliwa kutoka kwa jedwali linginekwa kutumia kifungu cha CHAGUA.

UKURASA WA 1

Kazi zingine zinazofanana ambazo zinaweza kukuvutia.vshm>

16. Jifunze misingi ya lugha ya swali iliyopangwa T-SQL 34.15 KB
Ili kufikia lengo hili, ni muhimu kutatua kazi zifuatazo: kuunda maswali ya uteuzi kutoka kwa meza kadhaa katika lugha ya SQL kwa kutumia vigezo maalum vya uteuzi; unda swali la uteuzi katika SQL iliyo na kazi za jumla za tuli; tengeneza swali ambalo linachanganya matokeo ya hoja mbili au zaidi katika seti moja ya matokeo kwa kutumia amri ya UNION. Kama matokeo ya kukamilisha kazi, wanafunzi wanapaswa kujua: kategoria za amri za SQL; amri za msingi za SQL zinazotumiwa kujenga hoja; kanuni za kuunda maswali ya SQL ...
6030. LUGHA IKIWA NI JAMBO LINALOENDELEA. MAMBO YA NJE NA YA NDANI YA MAENDELEO YA LUGHA KB 17.38
Tatizo la asili ya lugha linahusisha maswali mawili. Swali la kwanza linahusiana na tatizo la asili ya lugha kwa ujumla, jinsi lugha ya binadamu ilivyokua, jinsi mtu alivyojifunza kuzungumza lugha ya pili yenye asili ya kila lugha. Hakuna ushahidi wa kipindi hiki kilichohifadhiwa, kwa hivyo, wakati wa kusoma asili ya lugha kwa ujumla, wanaisimu wanapaswa kufanya kazi sio tu na ukweli wa lugha bali pia na data kutoka kwa sayansi zinazohusiana. Kuvutiwa na shida ya asili ya lugha kulitokea muda mrefu uliopita.
10870. Viunganisho vya kitabia vya kozi "Lugha ya Kitaalam ya Kirusi". Mabadiliko na utofautishaji wa lugha ya kitaalam ya Kirusi KB 10.57
Mabadiliko na tofauti ya lugha ya kitaaluma ya Kirusi 1. Mabadiliko na tofauti ya lugha ya kitaaluma ya Kirusi. Kanuni za kisintaksia zimedhamiriwa na muundo wa lugha na, kama kanuni zingine za orthoepic, lexical na morphological, hupitia mabadiliko katika mchakato wa ukuzaji wa lugha. Wakati wa kusimamia syntax ya lugha isiyo ya asili, kuna shida kadhaa zinazotokea wakati wa kuchagua aina za udhibiti na kuratibu ujenzi wa sentensi, kwa kutumia vihusishi, kuchagua kihusishi sahihi, na kadhalika.
6929. Historia ya lugha ya Delphi KB 13.01
Delphi ni mji wa Kigiriki ambapo eneo la Delphic liliishi. Delphi ni muunganiko wa teknolojia kadhaa muhimu: Kikusanyaji cha utendaji wa juu kwa msimbo wa mashine Kielelezo chenye mwelekeo wa kitu cha vipengele Visual na hivyo basi ujenzi wa kasi ya juu wa utumaji programu kutoka kwa prototypes za programu Zana zinazoweza kupanuka za kuunda hifadhidata Mkusanyaji hadi msimbo wa mashine Mkusanyaji uliojengwa ndani ya Delphi hutoa utendaji wa juu muhimu kwa ajili ya maombi ya ujenzi katika usanifu ...
10869. Dhana za "lugha ya kitaalam", "lugha ya utaalam", utofautishaji wao. Lugha ya kitaalam ya Kirusi: asili yake, kazi, wigo wa kufanya kazi (kwa kuzingatia maalum ya utaalam) KB 9.5
Utofautishaji wa lugha. Kila taaluma ya kiuchumi, pamoja na lugha ya kawaida kwa wanauchumi wote, pia ina lugha yake maalum na maalum. Wataalamu wanawasiliana kwa lugha hizi za kitaalam kwa mdomo na kwa maandishi; lugha hizi za kitaalam hufundishwa kwa wanafunzi; lugha kama hizo za kitaalam zinaelezea mifumo ya maarifa na ustadi katika kumbukumbu ya kisayansi ya kielimu na fasihi zingine. Katika mfumo wa lugha ya kiuchumi, kuna matatizo ya kawaida kwa lugha zote za kitaaluma.
1335. Miundo ya msingi ya kuunda maneno katika Kiingereza cha kisasa cha Marekani KB 117.01
Tofauti kuu kati ya Kiingereza cha Amerika na Uingereza. Shida ya kuamua hali ya ulimwengu ya Kiingereza cha Amerika. Kiingereza cha Amerika katika ulimwengu wa kisasa. Vipengele vya Lexical vya Kiingereza cha Amerika.
1936. HISTORIA, MUUNDO NA DHANA ZA MSINGI ZA IKOLOJIA KB 495.77
Neno "ikolojia" limeundwa kutoka kwa mizizi ya Kigiriki "oikos" - nyumbani, mazingira ya karibu ya mtu na "nembo" - sayansi. Kwa hiyo, kwa maana halisi, ikolojia ni sayansi ya viumbe, ikiwa ni pamoja na wanadamu, wanaozingatiwa ndani ya mipaka ya nyumba zao, kwa uangalifu maalum unaolipwa kwa asili ya mahusiano kati ya viumbe na mazingira yao.
17746. Pedagogy ya sanaa nzuri: historia na mwenendo kuu wa maendeleo KB 25.96
Kazi ya mtihani ni kuzingatia dhana ya ubunifu wa kisanii wa watoto, kutambua utafiti wa walimu bora na wanasaikolojia na historia ya malezi ya ubunifu wa kisanii wa watoto. Udhihirisho wa ubunifu wa kisanii unaweza kuwa kazi za kibinafsi - zilizofanywa kwa kujitegemea au chini ya mwongozo wa mtu mzima, michoro, modeli, sanaa ya mdomo na maandishi, nyimbo, maigizo, densi, pamoja na kuimba kwaya, maonyesho ya maonyesho, sanaa na ufundi, kuchonga, ukumbi wa michezo ya vikaragosi, filamu zilizochorwa na za uongo, na...
6285. Kauli za kudhibiti KB 103.51
Waendeshaji wa Kitanzi Waendeshaji wa kitanzi hutumiwa kupanga hesabu zinazorudiwa. Ili kuandaa kitanzi, unahitaji variable inayoitwa kitanzi parameter au variable kudhibiti kitanzi. Mzunguko wowote una: mipangilio ya awali au kizuizi cha uanzishaji wa parameta ya mzunguko; miili ya kitanzi, yaani, taarifa hizo ambazo zinatekelezwa mara kadhaa; kizuizi cha marekebisho ya parameta ya mzunguko; kuangalia hali ya kutoka kwa kitanzi, ambacho kinaweza kuwekwa mbele ya kitanzi, kisha wanazungumza juu ya kitanzi kilicho na sharti au baada ya mwili ...
2784. Taarifa za masharti na uteuzi 16 KB
Opereta wa hali Ikiwa. Kwa hiyo, unaweza tayari kuandika waendeshaji kazi wafuatao: Koren:=Sqrtxy; Moduli:=bsxy. Ili kutekeleza kuruka kwa masharti kama hiyo katika lugha ya Pascal, waendeshaji wa If na Else hutumiwa, pamoja na mwendeshaji wa kuruka bila masharti wa Goto. Hebu tuangalie kauli ya If.

Taarifa za msingi za SQL. Sintaksia na mifano ya kutumia kauli CHAGUA.

Msingi wa lugha ya SQL imeundwa na waendeshaji, kwa masharti kugawanywa katika vikundi kadhaa kulingana na kazi wanazofanya.

Vikundi vifuatavyo vya waendeshaji vinaweza kutofautishwa (sio waendeshaji wote wa SQL walioorodheshwa):

Taarifa za DDL (Lugha ya Ufafanuzi wa Data) - taarifa za kufafanua vitu vya hifadhidata

· UNDA SCHEMA - tengeneza schema ya hifadhidata

· DROP SHEMA - futa schema ya hifadhidata

· UNDA TABLE - tengeneza jedwali

ALTER TABLE - kubadilisha jedwali

· DROP TABLE - futa jedwali

UNDA DOMAIN - unda kikoa

ALTER DOMAIN - badilisha kikoa

· DROP DOMAIN - futa kikoa

· UNDA MCHUNGAJI - tengeneza mlolongo

· DROP COLLATION - futa mlolongo

· UNDA TAZAMA - tengeneza mwonekano

· DROP VIEW - futa mwonekano

Waendeshaji wa DML (Lugha ya Udhibiti wa Data) - waendeshaji wa udanganyifu wa data

· CHAGUA - chagua safu mlalo kutoka kwa majedwali

· WEKA - ongeza safu kwenye jedwali

· UPDATE - badilisha safu mlalo kwenye jedwali

· FUTA - futa safu mlalo kwenye jedwali

JITOKEZE - fanya mabadiliko yaliyofanywa

· RUDISHA - rudisha nyuma mabadiliko yaliyofanywa

Waendeshaji wa ulinzi na usimamizi wa data

· TENGENEZA UHAKIKI - weka kizuizi

· DROP ASSERTION - ondoa kizuizi

· RUZUKU - toa mapendeleo kwa mtumiaji au maombi ya kudhibiti vitu

BATIlisha - batilisha upendeleo wa mtumiaji au programu

Wakati huo huo, kuna makundi ya waendeshaji kwa ajili ya kuweka vigezo vya kikao, kupata taarifa kuhusu hifadhidata, waendeshaji tuli wa SQL, na waendeshaji wa SQL wenye nguvu.

Muhimu zaidi kwa mtumiaji ni taarifa za upotoshaji wa data (DML).

Mifano ya kutumia waendeshaji ghiliba wa data

INSERT - kuingiza safu kwenye jedwali

Mfano 1. Kuingiza safu moja kwenye jedwali:

THAMANI(4, "Ivanov");

UPDATE - kusasisha safu katika jedwali

Mfano 3. Kusasisha safu mlalo nyingi kwenye jedwali:

WEKA PNAME = "Pushnikov"

WAPI P.PNUM = 1;

FUTA - kufuta safu katika jedwali

Mfano 4. Kufuta safu mlalo nyingi kwenye jedwali:

WAPI P.PNUM = 1;

Mifano ya kutumia kauli CHAGUA

Taarifa ya SELECT ndiyo taarifa muhimu zaidi ya mtumiaji na changamano zaidi ya SQL. Imeundwa kurejesha data kutoka kwa majedwali, ᴛ.ᴇ. kwa kweli, hutekeleza moja ya madhumuni ya msingi ya hifadhidata - kutoa taarifa kwa mtumiaji.

Taarifa ya SELECT inatekelezwa kila mara kwenye baadhi ya majedwali ambayo ni sehemu ya hifadhidata.

Maoni. Kwa kweli, katika hifadhidata hakuna meza tu zilizohifadhiwa kwa kudumu, lakini pia meza za muda na kinachojulikana kama maoni. Mionekano ni maneno CHAGUA yaliyohifadhiwa kwenye hifadhidata. Kutoka kwa mtazamo wa mtumiaji, mtazamo ni meza ambayo haijahifadhiwa kabisa kwenye hifadhidata, lakini "inaonekana" inapopatikana. Kwa mtazamo wa taarifa ya SELECT, majedwali na majedwali ya muda yanaonekana sawa kabisa. Kwa kweli, wakati mfumo unatoa taarifa SELECT, tofauti kati ya jedwali zilizohifadhiwa na maoni huzingatiwa, lakini tofauti hizi. siri kutoka kwa mtumiaji.

Matokeo ya kauli SELECT daima ni jedwali. Hata hivyo, kulingana na matokeo ya matendo yake, taarifa ya SELECT ni sawa na waendeshaji wa algebra ya uhusiano. Opereta yeyote wa aljebra lazima aonyeshwe kwa kauli ya KUCHAGUA yenye maneno yanayofaa. Utata wa taarifa ya SELECT imedhamiriwa na ukweli kwamba ina uwezo wote wa algebra ya uhusiano, pamoja na uwezo wa ziada ambao haupo katika algebra ya uhusiano.

CHAGUA Agizo la Utekelezaji wa Taarifa

Ili kuelewa jinsi matokeo ya kutekeleza kauli SELECT hupatikana, fikiria mchoro wa dhana ya utekelezaji wake. Mpango huu ni dhana tu, kwa sababu imehakikishiwa kuwa matokeo yatakuwa sawa na ikiwa yametekelezwa hatua kwa hatua kulingana na mpango huu. Kwa kweli, matokeo halisi yanapatikana kwa algorithms ya kisasa zaidi ambayo DBMS fulani "inamiliki".

Hatua ya 1: Utekelezaji wa Taarifa Moja CHAGUA

Ikiwa opereta ana maneno muhimu UNION, ILA na INTERSECT, hoja imegawanywa katika maswali kadhaa huru, ambayo kila moja inatekelezwa kando:

Hatua ya 1 (KUTOKA). Bidhaa ya Cartesian ya moja kwa moja ya majedwali yote yaliyoainishwa katika sehemu ya lazima ya FROM inakokotolewa. Kama matokeo ya hatua ya 1, tunapata jedwali A.

Hatua ya 2 (WAPI). Iwapo taarifa ya SELECT ina kifungu cha WHERE, basi jedwali A, lililopatikana katika hatua ya 1, linachanganuliwa. Katika kesi hii, kwa kila safu kutoka kwa jedwali A, usemi wa masharti uliotolewa katika kifungu cha WHERE huhesabiwa. Safu mlalo ambazo usemi wa masharti hurejesha TRUE pekee ndizo zimejumuishwa kwenye matokeo. Ikiwa sehemu ya WHERE imeachwa, basi endelea mara moja hadi hatua ya 3. Ikiwa subqueries zilizowekwa kwenye kiota zinahusishwa katika usemi wa masharti, basi zinahesabiwa kwa mujibu wa mpango huu wa dhana. Kama matokeo ya hatua ya 2, tunapata jedwali B.

Hatua ya 3 (KUNDI KWA). Ikiwa taarifa ya SELECT ina sehemu ya KUNDI KWA , basi safu za jedwali B zilizopatikana katika hatua ya pili zinawekwa kulingana na orodha ya vikundi iliyotolewa katika sehemu ya GROUP BY. Ikiwa sehemu ya GROUP BY imeachwa, basi endelea mara moja hadi hatua ya 4. Kama matokeo ya hatua ya 3, tunapata jedwali C.

Hatua ya 4 (KUWA). Iwapo taarifa ya SELECT ina sehemu ya HAVING, basi makundi ambayo hayaridhishi usemi wa masharti uliotolewa katika sehemu ya HAVING hayajajumuishwa. Ikiwa sehemu ya HAVING imeachwa, basi endelea mara moja hadi hatua ya 5. Kama matokeo ya hatua ya 4, tunapata jedwali D.

Hatua ya 5 (CHAGUA). Kila kikundi kilichopatikana katika hatua ya 4 hutoa safu mlalo moja ya matokeo kama ifuatavyo. Vielezi vyote vya kadiri vilivyobainishwa katika sehemu ya SELECT vinatathminiwa. Kulingana na sheria za kutumia GROUP BY kifungu, vielezi kama hivyo vya scalar lazima vifanane kwa safu mlalo zote ndani ya kila kikundi. Kwa kila kikundi, maadili ya kazi za jumla zilizopewa katika sehemu ya SELECT huhesabiwa. Ikiwa hakuna GROUP BY sehemu, lakini kuna kazi za jumla katika sehemu ya SELECT, basi inachukuliwa kuwa kuna kundi moja tu. Ikiwa hakuna sehemu ya GROUP BY wala utendakazi wa jumla, basi inachukuliwa kuwa kuna vikundi vingi kama vile kuna safu mlalo zilizochaguliwa kwa wakati huu. Kama matokeo ya hatua ya 5, tunapata jedwali E, lililo na safu wima nyingi kama idadi ya vipengee vilivyoorodheshwa katika sehemu ya SELECT na safu mlalo nyingi kama idadi ya vikundi vilivyochaguliwa.

Hatua ya 2. Kufanya shughuli za MUUNGANO, ISIPOKUWA, INTERSECT

Ikiwa taarifa ya SELECT ilikuwa na maneno muhimu UNION, EXCEPT na INTERSECT, basi majedwali yaliyopatikana kutokana na hatua ya 1 yanaunganishwa, yamepunguzwa au yamevuka.

Hatua ya 3. Kuagiza matokeo

Ikiwa taarifa ya SELECT ina sehemu ya ORDER BY, basi safu za meza zilizopatikana katika hatua za awali zimeagizwa kwa mujibu wa orodha ya kuagiza iliyotolewa katika sehemu ya ORDER BY.

Taarifa za msingi za SQL. Sintaksia na mifano ya kutumia kauli CHAGUA. - dhana na aina. Uainishaji na vipengele vya kategoria "Waendeshaji Msingi wa SQL. Sintaksia na mifano ya kutumia opereta CHAGUA." 2017, 2018.

Na juu ya data ya meza.

Lugha ya SQL inaitwa iliyojengwa ndani, kwa sababu Ina kazi za lugha kamili ya maendeleo, na inalenga upatikanaji wa data, kwa sababu hiyo ni sehemu ya zana za maendeleo ya maombi. Viwango vya lugha vya SQL vinasaidia lugha za programu Pascal, Fortran, COBOL, C, nk.

Ipo Mbinu 2 za Kutumia SQL Iliyopachikwa:

  • tuli matumizi ya lugha ( SQL tuli) - Nakala ya programu ina simu kwa kazi za SQL, ambazo zimejumuishwa kwenye moduli inayoweza kutekelezwa baada ya mkusanyiko.
  • yenye nguvu matumizi ya lugha ( SQL yenye nguvu) - ujenzi wa nguvu wa simu za kazi za SQL na tafsiri yao. Kwa mfano, unaweza kufikia data kutoka kwa hifadhidata ya mbali wakati wa utekelezaji wa programu.

Lugha ya SQL (kama lugha zingine za kufanya kazi na hifadhidata) imeundwa kwa ajili ya kuandaa na kutekeleza maswali. Kama matokeo ya kutekeleza swala la data kutoka kwa jedwali moja au zaidi, seti ya rekodi hupatikana, inayoitwa. uwasilishaji.

Ufafanuzi 1

Utendaji ni jedwali linaloundwa kama matokeo ya kutekeleza swala.

Waendeshaji Lugha ya Maswali ya Msingi ya SQL

Waendeshaji lugha za SQL wamegawanywa kwa kawaida 2 lugha ndogo:

  1. Lugha ya Ufafanuzi wa Data DDL;
  2. Lugha ya upotoshaji wa data DML.

Katika jedwali, zimewekwa alama * waendeshaji maalum lugha.

Wacha tuangalie taarifa muhimu zaidi za SQL.

    Taarifa ya kuunda jedwali:

    Jina la jedwali linaloundwa na jina la angalau safu wima moja (uwanja) inahitajika uendeshaji. Kwa jina la safu, lazima ueleze aina ya data ambayo itahifadhiwa ndani yake.

    Kwa uwanja wa kibinafsi, unaweza kutaja sheria za ziada za kudhibiti maadili ambayo yameingizwa ndani yao. Kwa mfano, SIYO BATILI inaonyesha kuwa sehemu haiwezi kuwa tupu na lazima ijazwe na thamani.

    Mfano 1

    Ili kuunda meza vitabu katalogi ya vitabu, ambayo ina sehemu:

    aina- aina ya kitabu,

    jina- kichwa cha kitabu,

    bei- bei ya kitabu

    taarifa inaweza kuonekana kama hii:

    Opereta ya kubadilisha muundo wa meza:

    Wakati wa kubadilisha muundo wa meza, unaweza kuongeza ( ONGEZA), mabadiliko ( BADILISHA) au kufuta ( DONDOSHA) safu wima moja au zaidi za jedwali. Sheria za kurekodi opereta huyu ni sawa na kwa mwendeshaji TENGENEZA JEDWALI. Ili kufuta safu huhitaji kutaja.

    Mfano 2

    Ili kuongeza kwenye meza vitabu mashamba nambari, ambayo idadi ya vitabu itahifadhiwa, unaweza kuandika operator:

    Opereta wa kudondosha jedwali:

    Mfano 3

    Kwa mfano, kuacha jedwali lililopo linaloitwa vitabu inatosha kutumia opereta:

    Opereta wa kuunda index:

    Opereta huunda faharasa kwenye safu wima moja au zaidi za jedwali fulani, ambalo linaweza kuharakisha shughuli za kuuliza na kutafuta. Faharasa nyingi zinaweza kuundwa kwa jedwali moja.

    Chaguo la hiari KIPEKEE ina jukumu la kuhakikisha kwamba thamani katika safu wima zote ambazo zimebainishwa katika taarifa ni za kipekee.

    A.S.C. huweka maadili katika safu ili kupangwa kiotomatiki kwa mpangilio wa kupanda (chaguo-msingi), na DESC- kwa utaratibu wa kushuka.

    Opereta ya kushuka kwa index:

    Angalia opereta wa uundaji:

    Unapounda mwonekano, sio lazima ubainishe majina ya safu wima. Kisha majina ya safu kutoka kwa swala, ambayo yanaelezwa na operator sambamba, yatatumika CHAGUA.

    Angalia opereta wa uondoaji:

    Rekodi opereta wa uteuzi:

    Opereta CHAGUA hufanya sampuli na hesabu kwenye data kutoka kwa jedwali moja au zaidi. Matokeo ya kutekeleza opereta ni jedwali la majibu ambalo lina ( YOTE) au haina ( DISTINCT) mistari inayorudiwa.

    Operesheni KUTOKA ina orodha ya majedwali ambayo rekodi huchukuliwa kwa uteuzi wa data.

    Opereta wa urekebishaji wa rekodi:

    Thamani mpya za uwanja katika rekodi zinaweza zisiwe na maadili ( NULL) au kukokotolewa kulingana na usemi wa hesabu.

    Opereta kwa kuingiza rekodi mpya:

    Katika rekodi ya kwanza ya waendeshaji INGIZA Rekodi mpya huingizwa na maadili maalum kwenye safuwima.

    Katika rekodi ya pili ya operator INGIZA safu mpya zimeingizwa, zimechaguliwa kutoka kwa jedwali lingine kupitia kifungu CHAGUA.

    Opereta ya kufuta rekodi:

    Kama matokeo ya kutekeleza opereta, safu mlalo zinazokidhi hali iliyoainishwa na operesheni ya hiari hufutwa kutoka kwa jedwali maalum. WAPI. Ikiwa operand WAPI haijabainishwa, rekodi zote za jedwali zinafutwa.

Swali la 1. SQL na historia yake. 1

Swali la 2. Maelezo ya taarifa za msingi za SQL.. 1

Kazi za hesabu. 4

Kazi za usindikaji wa kamba. 5

Kazi maalum. 6

Kazi za kuchakata tarehe... 7

Kutumia utendakazi wa jumla katika hoja. 7

Swali la 1. SQL na historia yake

Njia pekee ya mawasiliano kati ya wasimamizi wa hifadhidata, wabunifu, wasanidi programu na watumiaji walio na hifadhidata ya uhusiano ni lugha ya uulizaji iliyopangwa ya SQL (Lugha ya Maswali Iliyoundwa). SQL ni lugha iliyoangaziwa kamili ya kudhibiti data katika hifadhidata za uhusiano. Kwa sasa, ni kiolesura cha kawaida kinachokubalika kwa hifadhidata za uhusiano kama vile Oracle, Informix, Sybase, DB/2, Seva ya MS SQL na zingine kadhaa (viwango vya ANSI na ISO). SQL ni lugha isiyo ya kiutaratibu ambayo imeundwa kuchakata seti zinazojumuisha safu mlalo na safu wima za majedwali ya hifadhidata ya uhusiano. Ingawa kuna viendelezi vyake vinavyoruhusu usindikaji wa kiutaratibu. Wabuni wa hifadhidata hutumia SQL kuunda vitu vyote halisi vya hifadhidata ya uhusiano.

Misingi ya kinadharia ya SQL iliwekwa katika nakala maarufu ya Codd, ambayo iliweka msingi wa ukuzaji wa nadharia ya hifadhidata za uhusiano. Utekelezaji wa kwanza wa vitendo ulifanyika katika maabara za utafiti za IBM Chamberlin D.D. na Royce R.F. Matumizi ya viwandani ya SQL yalitekelezwa kwanza katika Ingres DBMS. Mojawapo ya DBMS za kwanza za uhusiano wa kiviwanda ni Oracle. Kimsingi, DBMS ya uhusiano ni programu inayosimamia utendakazi wa hifadhidata ya uhusiano.

Kiwango cha kwanza cha kimataifa cha lugha ya SQL kilipitishwa mnamo 1989 (SQL-89). Mwishoni mwa 1992, kiwango kipya cha kimataifa, SQL-92, kilipitishwa. Hivi sasa, wazalishaji wengi wa uhusiano wa DBMS wanaitumia kama msingi. Walakini, kazi ya kusawazisha lugha ya SQL haijakamilika na rasimu ya kiwango cha SQL-99 tayari imetengenezwa, ambayo inaleta dhana ya kitu katika lugha na kuiruhusu kurejelewa katika taarifa za SQL: Katika toleo asili la SQL. hakukuwa na amri za udhibiti wa mtiririko wa data, zilionekana katika ISO/IEC 9075-5: 1996 Supplementary Part SQL iliyopitishwa hivi majuzi.

Kila DBMS maalum ina utekelezaji wake wa SQL, ambayo kwa ujumla inasaidia kiwango fulani, lakini ina sifa zake. Utekelezaji huu huitwa lahaja. Kwa hivyo, kiwango cha 1SO/IEC 9075-5 hutoa vitu vinavyoitwa moduli zinazoendelea zilizohifadhiwa au moduli za PSM (Moduli Zilizohifadhiwa Zinazoendelea). Katika Oracle DBMS, kiendelezi cha PL/SQL ni analogi ya kiendelezi cha kawaida kilicho hapo juu."

Swali la 2. Maelezo ya taarifa za msingi za SQL

SQL ina seti ya maagizo ya kudhibiti data katika hifadhidata ya uhusiano, ambayo hukuruhusu kuunda vitu vya hifadhidata vya uhusiano, kurekebisha data kwenye jedwali (ingiza, futa, sahihisha), badilisha schema za uhusiano wa hifadhidata, fanya mahesabu kwenye data, fanya chaguo kutoka kwa hifadhidata, kudumisha usalama na uadilifu wa data.

Seti nzima ya amri za SQL zinaweza kugawanywa katika vikundi vifuatavyo:

· amri za ufafanuzi wa data (DDL - Lugha ya Ufafanuzi wa Data);

· amri za upotoshaji wa data (DML - Lugha ya Udanganyifu wa Data);

· amri za sampuli za data (DQL - Lugha ya Maswali ya Data);

· amri za usimamizi wa shughuli;

· amri za usimamizi wa data.

Inapotekelezwa, kila amri ya SQL inapitia awamu nne za usindikaji:

· awamu ya uchanganuzi, ambayo inajumuisha kuangalia sintaksia ya amri, kuangalia majina ya majedwali na safu wima kwenye hifadhidata, na kuandaa data ya ingizo kwa ajili ya kiboreshaji;

· awamu ya uboreshaji, ambayo inajumuisha kubadilisha majina halisi ya majedwali na safu za hifadhidata kwenye mwonekano, kubainisha chaguo zinazowezekana za kutekeleza amri, kubainisha gharama ya kutekeleza kila chaguo, na kuchagua chaguo bora zaidi kulingana na takwimu za ndani;

· awamu ya kuzalisha msimbo inayoweza kutekelezwa, ambayo inajumuisha ujenzi wa msimbo wa amri unaoweza kutekelezeka;

· awamu ya utekelezaji wa amri, ambayo inahusisha kutekeleza msimbo wa amri.

Kwa sasa kiboreshaji ni sehemu muhimu ya utekelezaji wowote wa SQL wa viwanda. Kiboreshaji hufanya kazi kwa kukusanya takwimu kuhusu amri inazozitekeleza na kufanya mabadiliko sawa ya aljebra kwenye uhusiano wa hifadhidata. Takwimu hizi zimehifadhiwa katika saraka ya hifadhidata ya mfumo. Katalogi ya mfumo ni kamusi ya data kwa kila hifadhidata na ina taarifa kuhusu majedwali, maoni, faharasa, safu wima, watumiaji na haki zao za ufikiaji. Kila hifadhidata ina katalogi yake ya mfumo, ambayo inawakilisha mkusanyiko wa majedwali ya hifadhidata yaliyofafanuliwa awali.

Jedwali 8.1 lina orodha ya amri za SQL kulingana na kiwango kinachokubalika, isipokuwa baadhi ya amri ambazo kwa kweli hazitumiki katika lahaja.

Jedwali 8.1. Orodha ya kawaida ya amri za SQL

Timu Maelezo
Amri za kufafanua data ya kitu
MEZA BADILISHA Hubadilisha maelezo ya jedwali (schema ya uhusiano)
UNDA TUKIO Huunda tukio la kipima muda katika hifadhidata
TUNZA INDEX Huunda faharasa kwenye jedwali
UTENGENEZA MFUATANO Huunda mlolongo
TENGENEZA JEDWALI Inafafanua meza
TENGENEZA MEZA Itaunda nafasi ya meza
TENGENEZA TRIGGER Inaunda kichochezi kwenye hifadhidata
TENGENEZA TAZAMA Inafafanua mwonekano kwenye jedwali
DONDOSHA INDEX Huondoa faharasa kutoka kwa hifadhidata
SHUSHA MTANDAO Hufuta mlolongo
DONDOSHA TABLE Huondoa jedwali kutoka kwa hifadhidata
DONDOSHA MEZA Inafuta nafasi ya meza
ONDOA TAZAMA Hufuta mwonekano
Amri za Udhibiti wa Data
FUTA Huondoa safu mlalo moja au zaidi kutoka kwa jedwali la hifadhidata
INGIZA Huingiza safu mlalo moja au zaidi kwenye jedwali la hifadhidata
UPDATE Inasasisha thamani za safu wima katika jedwali la hifadhidata
Amri za Urejeshaji Data
CHAGUA Hutekeleza hoja ili kupata data kutoka kwa majedwali na mionekano
MUUNGANO Inachanganya matokeo ya amri mbili au zaidi CHAGUA katika uteuzi mmoja
Amri za Udhibiti wa Shughuli
JITOE Hukamilisha muamala na kusasisha hali ya sasa ya hifadhidata
RUSHWA Humaliza muamala na kurejesha hali ya sasa ya hifadhidata wakati wa shughuli ya mwisho iliyokamilishwa na kituo cha ukaguzi.
SAVEPOINT Huweka kituo cha ukaguzi ndani ya shughuli ya malipo
Amri za Usimamizi wa Data
Alter Database Hurekebisha vikundi vya hifadhi au kumbukumbu za miamala
ALTER DBAREA Hubadilisha ukubwa wa maeneo ya hifadhi ya hifadhidata
BADILISHA NENOSIRI Hubadilisha nenosiri ili kufikia hifadhidata
ALTER STOGROUP Inabadilisha muundo wa maeneo ya kuhifadhi katika kikundi cha kuhifadhi
ANGALIA HABARI Hukagua uadilifu wa hifadhidata
ANGALIA INDEX Hukagua uadilifu wa faharasa
ANGALIA JEDWALI Hukagua jedwali na uadilifu wa faharasa
TENGENEZA HABARI Inaunda hifadhidata kimwili
TUNZA DBAREA Inaunda eneo la hifadhi ya hifadhidata
TUNZA STORI Inaunda kikundi cha kuhifadhi
TENGENEZA SINONOMI Huunda kisawe cha jedwali au mwonekano
FUTA DATABASE Hufanya hifadhidata isiweze kufikiwa na watumiaji wa mtandao
ONDOA DATABASE Hufuta hifadhidata kimwili
DONDOSHA DBAREA Hufuta kimwili eneo la hifadhi ya hifadhidata
ONDOA KIKUNDI Hufuta kikundi cha hifadhi
RUZUKU Inafafanua haki za mtumiaji na udhibiti wa ufikiaji kwenye hifadhidata
SAFISHA DATABASE Hufanya hifadhidata ipatikane kwa watumiaji wa mtandao
FUNGA HABARI Hufunga hifadhidata inayotumika kwa sasa
KUBATISHA Hubatilisha haki za mtumiaji na vikwazo vya ufikiaji wa hifadhidata
WEKA STOGROUP CHAGUO CHAGUO Inafafanua kikundi cha hifadhi chaguo-msingi
FUNGUA HABARI Hutoa hifadhidata inayotumika kwa sasa
USASISHA TAKWIMU Inasasisha takwimu za hifadhidata
Amri zingine
TOA MAONI KWENYE Huweka maoni kuhusu maelezo ya vipengee vya hifadhidata katika katalogi ya mfumo
TENGENEZA USAWA Inafafanua majina mbadala ya majedwali ya hifadhidata na mionekano katika katalogi ya mfumo
ACHILIA USAWA Huondoa majina mbadala ya majedwali ya hifadhidata na kutazamwa kutoka kwa orodha ya mfumo
LABEL Hubadilisha lebo za maelezo ya mfumo
ROWCOUNT Huhesabu idadi ya safu mlalo katika jedwali la hifadhidata

Seti ya amri za SQL zilizoorodheshwa kwenye jedwali haijakamilika. Orodha hii imetolewa ili kukupa wazo la kile SQL inaweza kufanya kwa ujumla. Kwa orodha kamili ya amri, tafadhali rejelea mwongozo unaofaa kwa DBMS yako mahususi. Ikumbukwe kwamba SQL ndiyo njia pekee ya mawasiliano kwa makundi yote ya watumiaji walio na hifadhidata za uhusiano.

Kazi za hesabu

SQL inasaidia seti kamili ya shughuli za hesabu na kazi za hisabati kwa ajili ya kuunda usemi wa hesabu juu ya safu wima za hifadhidata (+, -, *, /, ABS, LN, SQRT, nk.).

Orodha ya kazi kuu za hisabati zilizojengwa imetolewa hapa chini katika Jedwali 8.2.

Kazi ya hisabati Maelezo
ABS(X) Hurejesha thamani kamili ya nambari X
ACOS(X) Hurejesha arc kosine ya nambari X
ASIN(X) Hurejesha arcsine ya nambari X
ATAN(X) Hurejesha arctangent ya X
COS(X) Hurejesha kosini ya nambari X
EXP(X) Hurejesha kipeo cha nambari X
ISHARA(X) Hurejesha -] ikiwa X< 0, 0, если X = 0, + 1, если X > 0
LN(X) Hurejesha logariti asilia ya nambari X
MOD(X,Y) Hurejesha salio wakati X imegawanywa na Y
CEIL(X) Hurejesha nambari ndogo kabisa kubwa kuliko au sawa na X
MZUNGUKO(X,n) Huzungusha nambari X hadi nambari na mahali n baada ya nukta ya desimali
DHAMBI(X) Hurejesha sine ya X
SQRT(X) Hurejesha mzizi wa mraba wa nambari X
TAN(X) Hurejesha tanjiti ya X
Sakafu(X) Hurejesha nambari kamili chini ya au sawa na X
LOG(a,X) Hurejesha logariti ya nambari X hadi msingi A
SINH(X) Hurejesha sine hyperbolic ya X
COSH(X) Hurejesha kosini piambano ya nambari X
TANH(X) Hurejesha tanjenti piambano ya X
TRANC(X.n) Hupunguza nambari X hadi nambari iliyo na sehemu n desimali
NGUVU(A,X) Hurejesha thamani ya A iliyoinuliwa kwa nguvu ya X

Seti ya vitendaji vilivyojumuishwa inaweza kutofautiana kulingana na toleo la DBMS kutoka kwa mtengenezaji mmoja na pia katika DBMS kutoka kwa watengenezaji tofauti. . Kwa mfano, katika SQLBase DBMS, Century Inc. Kuna chaguo za kukokotoa @ATAN2(X,Y), ambacho hurejesha arctangent ya Y/X, lakini hakuna chaguo za kukokotoa SIGN(X).

Maneno ya hesabu yanahitajika ili kupata data ambayo haijahifadhiwa moja kwa moja kwenye safu wima za jedwali la hifadhidata, lakini ambazo maadili yake yanahitajika na mtumiaji. Wacha tuseme unahitaji orodha ya wafanyikazi inayoonyesha malipo ambayo kila mfanyakazi alipokea, pamoja na bonasi na adhabu.

CHAGUA ENAME, SAL, COMM. FINE, SAL + COMM - FINE

Usemi wa hesabu SAL + COMM - FINE ni towe kama safu wima mpya katika jedwali la matokeo, ambalo linakokotolewa kama tokeo la hoja. Nguzo kama hizo pia huitwa inayotokana (mahesabu) sifa au mashamba.

Kazi za usindikaji wa kamba

SQL hukupa anuwai ya vitendakazi vya kuchezea data ya mfuatano (uunganishaji wa kamba, CHR, LENGTH, INSTR na zingine). Orodha ya kazi kuu za usindikaji wa data ya kamba imetolewa katika Jedwali 8.3.

Jedwali 8.3. Kazi za SQL za Usindikaji wa Kamba

Kazi Maelezo
CHR(N) Hurejesha herufi ya msimbo wa ASCII ya msimbo wa decimal N
ASCII(S) Hurejesha nambari ya decimal ya ASCII ya herufi ya kwanza ya mfuatano
INSTR(S2,SI,pos|,N|) Hurejesha nafasi ya mfuatano wa SI katika mfuatano wa S2 mkubwa kuliko au sawa na pos. N - idadi ya matukio
UREFU (S) Hurejesha urefu wa mfuatano
CHINI(V) Hubadilisha herufi zote kwenye mfuatano na herufi kubwa
INITCAP(S) Huweka herufi ya kwanza ya kila neno katika mfuatano hadi herufi kubwa na herufi zilizobaki za kila neno kuwa herufi kubwa.
SUBSTR(S,pos,[,len|) Huteua mfuatano mdogo wa urefu wa kumi katika mfuatano wa S, kuanzia kwenye nafasi pos
JUU(S) Hubadili herufi kubwa katika mfuatano hadi herufi kubwa
LPAD(S,N |,A|) Hurejesha mfuatano wa S ulioshonwa na A hadi usiozidi herufi N. Kibambo chaguo-msingi cha padding ni nafasi.
RPAD(S,N |,A]) Hurejesha mfuatano wa S, uliowekwa pamoja na A upande wa kulia hadi upeo wa herufi N. Herufi chaguo-msingi ni nafasi.
LTRIM(S,|,Sll) Hurejesha mfuatano uliokatwa kushoto S. Herufi huondolewa mradi tu herufi itakayoondolewa iko kwenye mfuatano - mchoro SI (chaguo-msingi ni nafasi)
RTRIM(S,|,SI |) Hurejesha mfuatano uliokatwa kulia S. Herufi huondolewa mradi tu herufi itakayoondolewa iko kwenye mfuatano - mchoro S1 (chaguo-msingi ni nafasi)
TAFSIRI,(SI,S2) Hurejesha mfuatano S pamoja na matukio yote ya mfuatano wa SI na kubadilishwa na mfuatano S2. Ikiwa S.I.<>S2, basi herufi ambazo hazilingani hazijumuishwi kwenye mfuatano unaotokana
IMEBADILISHWA(SI,|,S2|) Hurejesha mfuatano wa S ambao matukio yote ya mfuatano mdogo wa SI hubadilishwa na kamba ndogo S2. Ikiwa S2 haijabainishwa, basi matukio yote ya mfuatano mdogo wa SI huondolewa kutoka kwa mfuatano unaosababisha S
NVL(X,Y) Ikiwa X ni NULL, basi inarudisha Y ama kamba, nambari, au tarehe, kulingana na aina asili ya Y.

Majina ya vitendakazi sawa yanaweza kutofautiana katika DBMS tofauti. Kwa mfano, chaguo za kukokotoa za Oracle DBMS SUBSTR(S, pos, |, len|) katika DBMS ya SQLBase inaitwa @SUBSTRING(S, pos, Ien). DBMS ya SQLBase ina vitendaji ambavyo havipatikani katika Oracle DBMS (tazama jedwali hapa chini kwa orodha ya vitendaji kama hivyo).

Jedwali 8.4. Vitendaji vya kamba vya SQLBase DBMS ambavyo vinatofautiana na vitendaji vya kamba vya Oracle DBMS

Kazi Maelezo
@EXACT(SI,S2) Hurejesha matokeo ya kulinganisha mifuatano miwili
@KUSHOTO(S,lcn) Hurejesha mfuatano mdogo wa kushoto wa lensi ya urefu
@UREFU(S) Hurejesha urefu wa mfuatano
@MID(S, pos, len) Hurejesha mfuatano mdogo wa urefu uliobainishwa, kuanzia kwenye nafasi pos
@RUDIA(S,n) Hurudia kamba S n mara
@REPLACE(SI,pos,len,S2) Badilisha nafasi za herufi za pos len kwenye kamba S2 na herufi kwenye mfuatano wa SI
@kulia(S,len) Hurejesha mfuatano mdogo wa kulia wa S wa urefu wa len
@SCAN(S,pat) Hurejesha mkao wa kupapasa kwa kamba ndogo katika mfuatano wa S
@STRING(X, mizani) Hurejesha uwakilishi wa kiishara wa nambari iliyo na kipimo kilichobainishwa
@TRIM(V) Huondoa nafasi kutoka kulia na kushoto kwa mfuatano
@VALUE(S) Hubadilisha uwakilishi wa kiishara wa nambari kuwa thamani ya nambari

Unaweza kutumia kazi ya INITCAP ili kuhakikisha kwamba, wakati wa kurejesha orodha ya majina ya wafanyakazi, majina ya mwisho daima huanza na herufi kubwa na majina mengine yote yana herufi kubwa.

CHAGUA INITCAP(ENAME)

Sifa maalum

SQL hutoa seti ya kazi maalum za kubadilisha maadili ya safu. Orodha ya kazi hizo imetolewa katika Jedwali 8.5.

Jedwali 8.5. Sifa maalum

Katika jedwali la MFANYAKAZI, unaweza kuweka sifa ya kijinsia kwa kila mfanyakazi - ongeza safu wima ya SEX ya aina ya CHAR(l) (0 - kiume, 1 - mwanamke). Wacha tuseme kwamba unahitaji orodha ya wafanyikazi, ambayo inawahitaji kugawanywa na jinsia na kuonyeshwa kwa muundo wa nambari; basi unaweza kutoa amri ifuatayo:

CHAGUA ENAME, LNAME, AGE, " Sakafu:", TO_NUMBER(NGONO)

Kama mfano wa kutumia chaguo za kukokotoa za DECODE, tunawasilisha hoja inayokokotoa orodha ya wafanyakazi inayoonyesha msimamizi wao. Ikiwa meneja haijulikani, basi "hana" inaonyeshwa kwa default.

CHAGUA ENAME, DEC0DE(DEPN0, 10, " Dryagin", 20,"Zhilyaeva". 30,"

Korotkov", "hana")

Wacha tufikirie kuwa mkuu wa shirika ana thamani isiyofafanuliwa ya safu wima ya DEPNO na, kwa hivyo, chaguo-msingi iliyotolewa katika DECODE itamfanyia kazi. .


©2015-2019 tovuti
Haki zote ni za waandishi wao. Tovuti hii haidai uandishi, lakini hutoa matumizi bila malipo.
Tarehe ya kuundwa kwa ukurasa: 2016-08-07

Lugha ya Maswali ya Muundo (SQL) iliundwa kutokana na ukuzaji wa modeli ya data ya uhusiano na kwa sasa ndiyo lugha sanifu ya DBMS za uhusiano. Lugha ya SQL leo inasaidiwa na idadi kubwa ya DBMS ya aina mbalimbali.

Jina la lugha ya SQL kawaida hutamkwa "es-qu-el". Wakati mwingine jina la mnemonic "See-Quel" hutumiwa.

Lugha ya SQL humpa mtumiaji (kwa juhudi kidogo kwa upande wake) uwezo ufuatao:

Unda hifadhidata na meza na maelezo kamili ya muundo wao

Fanya shughuli za msingi za upotoshaji wa data: kuingiza, kubadilisha, kufuta data

Endesha maswali rahisi na magumu.

Lugha ya SQL imekamilika kimahusiano.

Muundo na syntax ya amri zake ni rahisi sana, na lugha yenyewe ni ya ulimwengu wote, i.e. sintaksia na muundo wa amri zake hazibadilika wakati wa kusonga kutoka DBMS moja hadi nyingine.

Lugha ya SQL ina sehemu kuu mbili:

DDL (Lugha ya Ufafanuzi wa Data) kwa ajili ya kufafanua miundo ya hifadhidata na kudhibiti ufikiaji wa data

Lugha ya DML (Lugha ya Udhibiti wa Data) iliyoundwa kwa ajili ya kurejesha na kusasisha data.

SQL ni lugha isiyo ya kitaratibu, ikimaanisha kwamba unapoitumia, lazima ueleze ni habari gani inapaswa kupatikana, sio jinsi inaweza kupatikana. Amri za SQL ni maneno ya kawaida ya Kiingereza (CHAGUA, INGIA, n.k.). Wacha tuangalie taarifa za SQL DML kwanza:

CHAGUA - kuchagua data kutoka kwa hifadhidata

INSERT - kuingiza data kwenye meza

UPDATE - kusasisha data kwenye jedwali

FUTA - kufuta data kutoka kwa jedwali

CHAGUA kauli

Opereta SELECT hufanya vitendo sawa na shughuli zifuatazo za aljebra za uhusiano: uteuzi, makadirio, na kujiunga.

Swala rahisi zaidi ya SQL kuitumia inaonekana kama hii:

CHAGUA col_name KUTOKA tbl

Nenomsingi lililochaguliwa linafuatwa na orodha iliyotenganishwa kwa koma ya safu wima ambazo data yake itarejeshwa na hoja. Neno kuu kutoka kwa neno kuu linabainisha kutoka kwa jedwali lipi (au mtazamo) data hutolewa.

Matokeo ya swali lililochaguliwa daima ni jedwali linaloitwa jedwali la matokeo. Zaidi ya hayo, matokeo ya hoja iliyotekelezwa kwa kutumia taarifa iliyochaguliwa inaweza kutumika kuunda jedwali mpya. Ikiwa matokeo ya maswali mawili kwenye jedwali tofauti yana muundo sawa, unaweza kuchanganya kwenye jedwali moja. Pia, jedwali lililopatikana kama matokeo ya swala linaweza kuwa somo la maswali zaidi.

Ili kuchagua safu wima zote na safu mlalo zote za jedwali, toa tu CHAGUA * KUTOKA tbl;

Fikiria jedwali la Bidhaa, ambalo lina habari ya bei kwa aina anuwai za bidhaa:

Omba matokeo

CHAGUA * KUTOKA kwa Bidhaa;

itakuwa meza nzima ya Bidhaa.

Unaweza kuchagua safu wima maalum za jedwali kwa kutumia hoja

CHAGUA col1, col2, ... , coln KUTOKA tbl;

Kwa hivyo, matokeo ya ombi

CHAGUA Aina, Bei KUTOKA kwa Bidhaa;

kutakuwa na meza

Orodha ya safu wima katika taarifa iliyochaguliwa pia hutumiwa ikiwa inahitajika kubadilisha mpangilio wa safu kwenye jedwali linalosababisha:

Ili kuchagua safu hizo za meza tu zinazokidhi vikwazo fulani, neno la msingi maalum ambalo hutumiwa, ikifuatiwa na hali ya mantiki. Ikiwa rekodi inakidhi hali hii, itajumuishwa katika matokeo. Vinginevyo, kiingilio kinatupwa.

Kwa mfano, kuchagua bidhaa hizo kutoka kwa jedwali la Bidhaa ambazo bei yake inakidhi masharti ya Bei<3200, можно осуществить, используя запрос

CHAGUA * KUTOKA kwa Bidhaa ambapo Bei<3200;

Matokeo yake:

Hali inaweza kuunganishwa na kuunganishwa kwa kutumia viendeshaji kimantiki NOT , AND, OR, XOR, kwa mfano: ambapo id_ Price>500 NA Bei.<3500. Допускается также использование выражений в условии: where Price>(1+1) na viunga vya kamba: ambapo jina = "vizito otomatiki".

Kutumia muundo wa KATI ya var1 NA var2 hukuruhusu kuangalia ikiwa maadili ya usemi wowote upo ndani ya masafa kutoka var1 hadi var2 (pamoja na maadili haya):

CHAGUA * KUTOKA KWA Bidhaa ambapo Bei KATI YA 3000 NA 3500;

Sawa na opereta SIO KATI, kuna mwendeshaji wa NOT IN.

Majina ya safu wima yaliyotajwa katika kifungu cha SELECT yanaweza kubadilishwa jina. Kwa hili, neno kuu la AS linatumiwa, ambalo, hata hivyo, linaweza kuachwa, kwa kuwa linaonyeshwa kwa uwazi. Kwa mfano, ombi

CHAGUA Aina ya muundo wa AS, Type_id AS nambari FROM Bidhaa ambapo Type_id =3

itarudi (majina mengine yanapaswa kuandikwa bila nukuu):

Opereta ya LIKE imeundwa kulinganisha kamba na muundo:

CHAGUA * KUTOKA tbl ambapo col_name KAMA "abc"

Hoja hii hurejesha tu rekodi zilizo na mfuatano wa thamani abc katika safu wima ya col_name.

Sampuli inaruhusiwa kutumia vibambo viwili vya kadi-mwitu: "_" na "%". Wa kwanza wao huchukua nafasi ya herufi moja ya kiholela kwenye kiolezo, na ya pili inachukua nafasi ya mlolongo wa herufi za kiholela. Kwa hivyo, "abc%" inalingana na mfuatano wowote unaoanza na abc, "abc_" inalingana na mfuatano wa herufi 4 unaoanza na abc, "%z" inalingana na mfuatano wowote unaoishia na z, na hatimaye, "%z%" - mfuatano wa herufi zilizo na z.

Unaweza kupata rekodi zote za jedwali la Bidhaa ambamo thamani ya Aina huanza na herufi "a" kama hii:

CHAGUA * KUTOKA KWA Bidhaa ambapo Andika KAMA "a%";

mizani ya lori

Ikiwa mfuatano wa utafutaji una herufi ya kadi-mwitu, basi lazima ubainishe herufi ya kutoroka katika kifungu cha ESCAPE. Herufi hii ya udhibiti lazima itumike katika mchoro kabla ya herufi pori, ikionyesha kwamba herufi ya kadi-mwitu inapaswa kuzingatiwa kama mhusika wa kawaida. Kwa mfano, ikiwa ungetafuta thamani zote katika sehemu iliyo na herufi "_", basi muundo "%_%" ungesababisha rekodi zote kutoka kwa jedwali kurejeshwa. Katika kesi hii, template inapaswa kuandikwa kama ifuatavyo:

"%|_%" ESCAPE "|"

Kuangalia thamani ya kufuata kamba "20%" unaweza kutumia opereta ifuatayo:

KAMA "20#%" ESCAPE "#"

Opereta ya IS NULL hukuruhusu kuangalia kutokuwepo (kuwepo) kwa thamani NULL katika sehemu za jedwali. Kutumia waendeshaji ulinganishaji wa kawaida katika visa hivi kunaweza kutoa matokeo yasiyo sahihi kwa sababu kulinganisha na matokeo NULL katika UNKNOWN. Kwa hivyo, hali ya uteuzi inapaswa kuonekana kama hii:

ambapo col_name IS NULL, badala ya where col_name=NULL.

Tokeo la chaguo-msingi la uteuzi hurejesha rekodi kwa mpangilio sawa na ambazo zimehifadhiwa kwenye hifadhidata. Iwapo ungependa kupanga rekodi kwa mojawapo ya safu wima, lazima utumie kipengele cha ORDER BY, ikifuatiwa na jina la safu wima hiyo:

CHAGUA * KUTOKA tbl AGIZA KWA col_name;

Hoja hii itarejesha rekodi kwa mpangilio wa kupanda wa thamani ya sifa ya col_name.

Unaweza pia kupanga rekodi kwa safu wima nyingi. Ili kufanya hivyo, majina yao lazima yabainishwe baada ya ORDER BY kutenganishwa na koma:

CHAGUA * KUTOKA tbl AGIZA KWA col_name1, col_name2.

Rekodi zitapangwa kwa uga wa col_name1; ikiwa kuna rekodi kadhaa zilizo na thamani inayolingana katika safu wima ya col_name1, zitapangwa kwa uga wa col_name2.

Ikiwa ungependa kupanga rekodi kwa mpangilio wa nyuma (kwa mfano, kushuka kulingana na tarehe), lazima ubainishe ORDER BY col_name DESC.

Kwa upangaji wa moja kwa moja, kuna neno kuu la ASC, ambalo linakubaliwa kama dhamana ya chaguo-msingi.

Ikiwa matokeo ya sampuli yana mamia au maelfu ya rekodi, matokeo na usindikaji wao huchukua muda mwingi.

Kwa hiyo, habari mara nyingi hugawanywa katika kurasa na kuwasilishwa kwa mtumiaji kwa sehemu. Pagination hutumiwa kwa kutumia neno kuu la kikomo likifuatiwa na idadi ya maingizo ya kuonyesha. Hoja ifuatayo inarejesha rekodi 10 za kwanza huku ikipanga kwa wakati mmoja kwenye sehemu ya col_name1:

CHAGUA * KUTOKA tbl AGIZA KWA col_name1 DESC LIMIT 10

Ili kupata rekodi 10 zinazofuata, tumia neno kuu la kikomo na maadili mawili: ya kwanza inabainisha nafasi ambayo matokeo yanapaswa kuchapishwa, na ya pili inabainisha idadi ya rekodi za kurejesha:

CHAGUA * KUTOKA tbl AGIZA KWA col_name1 DESC LIMIT 10,10

Ili kupata rekodi 10 zinazofuata, lazima utumie LIMIT 20, 10 ujenzi.