KompjutersIpprogrammar

SQL-mistoqsijiet kmand

SQL - waħda mill-lingwi ta 'programmar aktar komuni biex joħolqu u jamministraw database, kif ukoll għal varjetà ta' azzjonijiet ma 'id-data nnifisha.

Kif turi l-prattika, huwa pjuttost faċli biex jintużaw u jagħmel l-aktar ta 'l-vokabularju standard tal-lingwa Ingliża. Bħal kull lingwa ta 'programmar oħra, il-SQL għandha loġika tagħha stess u sintassi, sett ta' kmandi bażiċi u r-regoli għall-użu tagħhom.

Klassifikazzjoni ta 'kmandi SQL

jikkmanda SQL standard kollha jista 'jitqies bbażati fuq id-destinazzjoni tagħhom. Bħala bażi għall vneglasnoy klassifikazzjoni tista 'tieħu tali settijiet bħala:

  1. għall-mistoqsija jikkmanda.

  2. Timijiet mibnija fil-proċeduri u l-funzjonijiet.

  3. kawżi u tabelli sistema kmand.

  4. Settijiet ta 'kombinazzjonijiet biex jaħdmu ma' l-data u string varjabbli.

  5. Jikkmanda għall-ħidma ma 'dejta u tabelli.

Din il-klassifikazzjoni hija bla tmiem, iżda l-SQL lingwa settijiet bażiċi kmand huma mibnija preċiżament minħabba dawn it-tipi.

Meta wieħed iqis il-klassifikazzjoni tal-lingwa, biex ma nsemmux li huwa universali, kif muri mill-ambitu ta 'l-użu tiegħu. Din il-lingwa ta 'programmar u l-varjanti tagħha huma utilizzati mhux biss fl-ambjent standard iżda wkoll fi programmi oħra, li, b'xi mod jew ieħor, inti użajt.

L-ambitu tal-użu ta 'SQL jistgħu jitqiesu mill-perspettiva ta' softwer uffiċċju, jiġifieri MicrosoftAccess. Din il-lingwa, jew minflok, l-ispeċi tiegħu - MySQL, inti tista 'tamministra d-database Internet. Anke ambjent għall-iżvilupp Oracle bbażata fuq l-użu tagħhom fl kmandi SQL ta 'mistoqsijiet.

Bl-użu SQL fil MicrosoftAccess

Wieħed mill-lingwa użi l-aktar komuni għall-ipprogrammar database pakkett tas-software hija kkunsidrata MicrosoftOffice. L-istudju ta 'dan is-software jipprovdi kors skola tax-xjenza tal-kompjuter, u fil-grad ħdax hija kkunsidrata sistema ġestjoni ta' database MicrosoftAccess.

Huwa l-istudju ta 'l-applikazzjoni l-istudenti jiffamiljarizzaw irwieħhom mal-iżvilupp tal-lingwa ta' databases u jiksbu fehim bażiku ta 'kulħadd dan inklużi. tim SQL Aċċess pjuttost primittiv, naturalment, jekk aħna jikkunsidraw lilhom b'mod professjonali. Running dawn jikkmanda hija sempliċi ħafna, u huma adattati fid-editur kodiċi.

Ikkunsidra eżempju speċifiku:

Pe_SurName TAGĦŻEL

MILL PHERSON

FEJN Pe_Name = "Mary";

Ibbażat fuq il-sintassi kmand, inti tista 'tifhem li jmur lura l-isem tal-utent tal-persuna, f'dan il-każ, mara jisimha Marija, li hija maħżuna fit-tabella Kuntatti database.

Għalkemm l-użu ta 'SQL fl-aċċess huwa limitat, xi kultant dawn il-mistoqsijiet sempliċi jistgħu jissimplifikaw l-implimentazzjoni tal-kompiti assenjati.

Jintużaw id-dikjarazzjonijiet SQL fil Oracle

Oracle - huwa probabbilment l-unika Microsoft SQL Server kompetitur serju. Huwa dan l-ambjent iżvilupp u ġestjoni ta ' database huwa kostanti twassal għat-titjib tas-kumpanija softwer karatteristiċi tal-prodott Microsoft bħala l-kompetizzjoni - hija l-magna tal-progress. Minkejja l-rivalità kostanti, tim SQL Oracle ripetut SQL. Għandu jiġi nnutat li għalkemm Oracle u huwa meqjus kważi Kopja kompluta tad-SQL, il-loġika ta 'din is-sistema, u l-lingwa hija ġeneralment meqjusa aktar faċli.

sistema Oracle użu ta 'sett speċifiku ta' kmandi mhuwiex tali struttura kkumplikata. Jekk inqisu li l-kapaċitajiet tad-data ta 'ambjenti ta' żvilupp database, Oracle ma jkollux l-istruttura kumplessa tal-mistoqsijiet nested.

Din id-differenza jippermetti ħafna drabi biex tħaffef il-ħidma ma 'l-informazzjoni, iżda, b'kuntrast, iwassal għal użu ineffiċjenti tal-memorja, f'xi każijiet individwali. istruttura Oracle ssejset prinċipalment fuq it-tabelli temporanji u l-użu tagħhom. Bħala eżempju: jikkmanda SQL fis-sistema huma bbażati fuq l-analoġija mal-istandards tal-lingwa SQL innifsu, għalkemm mhux differenti b'mod sinifikanti minnha.

SELECTCONCAT (CONCAT (CONCAT ( "Impjegat", sname), CONCAT (Substr (fname, 0, 1), Substr (otch, 0, 1))), CONCAT ( "prinyatnarabotu", acceptdate)) MINN impjegati FEJN acceptdate> TO_DATE ('01 .01.80 "," jj.xx.ssss ");

Din il-mistoqsija se terġa 'lura d-data dwar l-impjegati, li huma impjegati għal ċertu perjodu ta' żmien. Għalkemm l-istruttura mistoqsija hija differenti minn Microsoft SQL Server, l-eżekuzzjoni ta 'SQL jikkmanda f'dawn is-sistemi huwa simili, ħlief għad-dettalji minuri.

Bl-użu SQL fuq l-Internet

Bil-miġja tal-World Wide Web, jiġifieri l-Internet, il-lingwa SQL qed tespandi l-ambitu ta 'użu. Kif inhu magħruf, in-netwerk hija maħżuna ħafna ta 'informazzjoni, iżda mhuwiex kaotika, u stazzjonati fuq il-websajts u s-servers skont ċerti kriterji.

Għall-ħażna informazzjoni fuq l-Internet, kif ukoll f'postijiet oħra, huma responsabbli direttament għad-database, u s-siti huma sistemi ta 'kontroll. Tipikament, siti u kodiċi huma organizzati fil-lingwi differenti ta 'programmazzjoni, iżda d-database hija bbażata fuq tip ta' l-SQL, u huwa l-lingwa tal-ħolqien tad-database, orjentati lejn l-interfaces web MySQL.

Is-sintassi u s-sett bażiku ta 'kmandi li lingwa kompletament kopja l-SQL familjari, ma' wħud mill żidiet tiegħu, li jagħtih b'differenza Microsoft tSQL Server.

SQL jikkmanda kompletament simili mhux biss sintassi iżda wkoll sett standard ta 'kliem funzjoni. L-unika differenza hija fit-talba sejħa u l-istrutturar. Per eżempju, jikkunsidraw talba li tinħoloq tabella l-ġdida, hija l-ewwel dak li jgħallmu lit-tfal fl-iskejjel fuq il-kompjuter:

$ Link = mysqli_connect ( "localhost", "root", "", "tester");

jekk (! $ rabta) die ( "Żball");

$ Mistoqsija = "joħolqu l-utenti mejda (

login varchar (20)

Varchar password (20)

");

jekk (mysqli_query ($ rabta, $ mistoqsija)) eku "Tabella maħluqa.";

elseecho "It-tabella ma tkunx inħolqot:" .mysqli_error ();

mysqli_close ($ rabta);

Bħala riżultat ta 'tali talba, tista' tikseb xi mejda "utenti" ġodda, fejn ikun hemm żewġ oqsma: username u password.

Sintassi jitbiddlu taħt il-Web, iżda hija bbażata fuq tim MicrosoftSQLServer.

Mistoqsijiet bini MicrosoftSQLServer

Il-kampjun ta 'sett partikolari ta' tabelli tad-data huwa wieħed mill-kompiti ewlenin tal SQL. Għal dawn l-operazzjonijiet, sakemm il-kmand tagħżel SQL. Li dwar dan diskussi hawn taħt.

Termini ta 'team building huma sempliċi ħafna, u ħafna tagħżel kmand SQL hija mibnija kif ġej. Per eżempju, hemm tabella li fiha d-dejta disponibbli għall-impjegati li, per eżempju, isem Persuna s. Aħna joħolqu l-problema li t-tabella għandek bżonn biex tagħżel data dwar impjegat, li data tat-twelid - fl-intervall mill-ewwel ta 'Jannar sa l-ewwel ta' Marzu tas-sena kurrenti, inkluża. Għal dan il-kampjun huwa meħtieġ biex tesegwixxi kmand SQL, li mhux biss disinn standard, iżda wkoll il-kundizzjoni għażla:

Agħżel * minn Persuna

Fejn P_BerthDay> = '01 / 01/2016 "u P_BerthDay <= '03 / 01/2016"

Eżekuzzjoni ta 'dan il-kmand se terġa' lura d-data kollha dwar l-impjegati, birthday tiegħu huwa fil-perjodu, li ġiet stabbilita minnek. Kultant inti tista 'tkun ikkontestata li juru biss l-isem aħħar, l-ewwel isem u kunjom tal-impjegat. Għal dan il-għan, talba biex jibnu b'mod kemmxejn differenti, per eżempju, kif ġej:

SelectP_Name - isem

P_SurName - kunjom

P_Patronimic - patronimiku

minn persuna

Fejn P_BerthDay> = '01 / 01/2016 "u P_BerthDay <= '03 / 01/2016"

Madankollu, din hija biss għażla ta 'xejn. Huwa, essenzjalment, ma jaffettwax xejn, iżda tipprovdi biss informazzjoni. Imma jekk inti tiddeċiedi li tieħu bis-serjetà l-lingwa SQL, ser ikollok biex jitgħallmu kif jagħmlu bidliet lill-database, peress kostruzzjoni tagħhom mingħajr ma huwa sempliċement impossibbli. Kif dan isir se jiġu diskussi hawn taħt.

Bażiku SQL jikkmanda biex jibdlu d-data

Is-sintassi hija mibnija mhux biss għall mistoqsi, iżda wkoll għall-manipulazzjoni tad-data. Bażikament, l-programmer database kompitu huwa miktub l-iskrittura għall-kampjuni u rapporti, imma xi kultant inti għandek bżonn tagħmel bidliet għall-tabella. SQL jikkmanda lista għal tali azzjonijiet huwa żgħir u jikkonsisti minn tliet timijiet ewlenin:

  1. Daħħal (trans. Daħħal).

  2. Aġġornament (trans. Aġġornament).

  3. Ħassar (trans. Neħħi).

L-għan ta 'dawn it-timijiet huwa faċli li jiġi ddeterminat, huwa biżżejjed li biss jittraduċu l-isem tagħhom. Dawn il-kmandijiet huma faċli biex jintużaw u ma jkollhomx kostruzzjoni kkumplikata tal-iskema, iżda huwa ta 'min isemmi li xi wħud minnhom, jekk użati ħażin, jista' jikkawża danni irreparabbli lid-database.

Bħala regola, qabel ma tuża dawn il-kmandijiet MSSQL għandek bżonn biex tikkunsidra u tqis il-konsegwenzi kollha possibbli ta 'implimentazzjoni tagħhom.

Wara t-tagħlim dawn il-kmandijiet, inti se tkun tista 'tibda b'mod sħiħ taħdem ma' tabelli database, u b'hekk timmodifika dan u tagħmel xi varjabbli ta 'spjegazzjoni ġodda fuq jew ineħħu qodma.

daħħal tim

Li daħħal id-data fis-tabella tuża l-tim sikur - Daħħal. data żbaljat mdaħħla dejjem possibbli li jitneħħew u żid għad-database mill-ġdid.

Daħħal kmand li daħħal data ġdida fit-tabella u jippermettilek li żżid bħala sett komplut, u selettiv.

Per eżempju, jikkunsidraw ddaħħal kmand fl-Persuna tabella deskritt qabel. Sabiex jagħmlu l-SQL kmand għandu jitmexxew fit-tabella tad-data, li tippermetti li daħħal id-data kollha fit-tabella jew imla selettivament.

Daħħal fit persuna

Agħżel "Grigoriev '' Vitali", "Petrovich", "1988/01/01"

MS SQL kmand Server tali pjan huwa awtomatikament mimli bl-ċelluli kollha tat-tabella mad-data speċifikata. Hemm sitwazzjonijiet fejn l-impjegat ma jkollux inizjali tan-nofs, per eżempju, huwa wasal biex jaħdmu fuq l-iskambju mill-Ġermanja. F'dan il-każ, imexxu l-informazzjoni inserts kmand li ġejjin, li se jġib għall-tabella biss dak li huwa meħtieġ. Is-sintassi ta 'dan il-kmand huwa kif ġej:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

Valuri ( "David", "Hook", "1986/02/11")

Dan it-tim timla biss il-phone speċifikat, u l-oħrajn kollha se tkun nulla.

Kmand li jibdlu l-informazzjoni

Biex jinbidlu l-informazzjoni bħala linja kollha, u xi ċelloli jużaw Aġġornament kmand SQL. Wettaq din il-kmand irid biss ċerti kundizzjonijiet, jiġifieri, preċiżament indika f'liema linja tan-numru meħtieġ li jsiru bidliet.

Aġġornament SQL kmand għandu sintassi sempliċi. Biex ikun żgurat użu xieraq, inti tispeċifika liema data fil kolonna u rekord għandu jinbidel. Sussegwentement, joħolqu b'kitba u esegwit. Ikkunsidra eżempju. Għandna bżonn li tinbidel id-data tat-twelid ta 'David Hook, li hija inkluża fit-tabella impjegat fil-numru 5.

aġġornament Persuna

Set P_BerthDay = '02 / 10/1986 "fejn P_Id = 5

Kundizzjoni (fil-iskrittura) mhux se jibdlu l-data tat-twelid ta 'rekords kollha mejda, u jaġġorna biss l neċessarju.

Huwa dan it-tim ta 'programmaturi jużaw ħafna drabi, minħabba li jippermettilek li jibdlu l-informazzjoni fit-tabella mingħajr ma jikkawżaw ħsara sinifikanti lis-informazzjoni kollha.

Jikkmanda biex jużaw mibnija fil-proċeduri u l-funzjonijiet

Bl-għajnuna ta 'l-SQL lingwa, inti ma tistax biss jibnu mistoqsijiet, imma wkoll sabiex joħolqu built-in mekkanniżmi sabiex taħdem ma' data. Bħala regola, hemm żminijiet meta inti tixtieq li tuża fil-ġisem tal-kampjun mistoqsija miktuba qabel.

Ġudizzju loġikament, imbagħad inti għandek bżonn li kopja u paste-test kampjun fil-post it-tajjeb, imma int tista 'tagħmel soluzzjoni sempliċi. Ikkunsidra eżempju fejn l-interface buttuna taħdem murija li jistampaw ir-rapport, per eżempju fl-Excel. Din l-operazzjoni se titwettaq kif meħtieġ. Għal tali finijiet, huma mibnija fil-proċeduri maħżuna. Jikkmanda SQL mistoqsijiet, f'dan il-każ, huma fil-proċess u huma kkawżati minn tim SQLExec.

Ejja nassumu li l-proċedura għall-dati irtirar tat-twelid ta 'impjegati bil-tabella persuna deskritta preċedentement ġiet maħluqa. F'dan il-każ, m'hemmx bżonn li tikteb il-mistoqsija kollu. Biex tikseb l-informazzjoni meħtieġa hija biżżejjed biex tesegwixxi l-Exec kmand [isem proċedura] u jgħaddu l-parametri meħtieġa għall-kampjunar. Bħala eżempju nistgħu nikkunsidraw l-mekkaniżmu għall-ħolqien ta 'tali natura tal-proċedura:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

KIF

SET NOCOUNT FUQ;

* TAGĦŻEL minn Persuna

MILL HumanResources.vEmployeeDepartmentHistory

FEJN P_BerthDay> = @DB u P_BerthDay <= @DE

ANDEndDateISNULL;

GO

Din il-proċedura prospetti informazzjoni kollha dwar l-impjegati birthday tiegħu se jkun fil-perjodu ta 'żmien partikolari.

Organizzazzjoni integrità tad-data. jqajjem

Xi SM SQL tal-kmand, wieħed jista 'anki ngħid, id-disinn tista' mhux biss jorganizzaw manipulazzjoni tad-data, iżda wkoll biex tiġi żgurata l-integrità tagħhom. Għal tali finijiet fil-lingwa mfassla disinn tas-sistema, li joħloq programmer innifsu. Dawn huma msejħa jqajjem, li jistgħu jipprovdu kontroll tad-data.

F'dan il-każ, għall-organizzazzjoni ta 'kondizzjonijiet tat-test bl-użu SQL-mistoqsijiet standard kmand. Fil jqajjem, inti tista 'toħloq ħafna ta' kondizzjonijiet u limitazzjonijiet għad-dejta li se jikkontrollaw l-aċċess mhux biss għall-informazzjoni imma wkoll biex jipprojbixxu t-tneħħija, il-modifika, jew daħħal id-data.

It-tipi ta 'kmandi SQL li jistgħu jintużaw fil-grillu, mhux limitati. Ikkunsidra l-eżempju li ġej.

Jekk aħna jiddeskrivu l-mekkaniżmu għall-ħolqien l-grillu, allura it-tipi ta 'kmandi SQL huma l-istess bħal meta tinħoloq proċedura. algoriżmu fih innifsu se jiġi deskritt hawn taħt.

L-ewwel pass huwa li jiddeskrivi l-kmand servizz biex joħolqu jqajjem:

JINħOLOQ Trigger Person_Insert

punt li jmiss għal tabella:

ONPerson

Jindika għal liema operazzjonijiet dejta (f'dan il-każ, id-data tibdel operazzjoni).

Il-pass li jmiss huwa li jispeċifika l-imwejjed u varjabbli:

tiddikjara int @ID. @Date smalldatetime @nID int. @nDatesmalldatetime

tiddikjara Aktar prekursuri li jagħżlu tabelli tad-data tneħħija u l-inserzjoni ta 'data:

JIDDIKJARAW cursor C1 għall tagħżel P_Id, P_BerthDay minn Imdaħħla

JIDDIKJARAW C2 cursor għall tagħżel P_Id, P_BerthDay minn imħassra

Tiddefinixxi l-passi għażla tad-data. Ladarba fil-ġisem prekursuri jippreskrivu kondizzjoni u reazzjoni miegħu:

jekk @ID = @nID u @nDate = '01 / 01/2016 "

tibda

operazzjoni Run sMasseges "impossibbli. Data mhijiex xierqa "

aħħar

Ta 'min isemmi li l-grillu ma tistax biss joħolqu, iżda wkoll itfi għal waqt. Tali manipulazzjoni tista 'żżomm biss programmer jwettqu kmand SQL Server:

altertablePERSONdisabletriggerall - li jiskonnettja jqajjem kollha maħluqa għall-mejda, u, għaldaqstant, altertablePERSONenabletriggerall - għall-inklużjoni.

jikkmanda dawn SQL bażiku iktar komunement użati, iżda l-kombinazzjoni tagħhom jista 'jkun differenti ħafna. SQL - lingwa ta 'programmar flessibbli ħafna u tagħti l-iżviluppatur massimu ta' possibbiltajiet.

konklużjoni

Minn dan t'hawn fuq nistgħu biss jikkonkludi: ħiliet lingwistiċi SQL ta 'most għal dawk li jixtiequ li jidħlu serjament fil-programmazzjoni. Hija tinsab fil-qalba tal-operazzjonijiet kollha mwettqa fl-Internet u fid-database dar. Huwa għalhekk li l-programmer futur trid tkun taf l-għadd ta 'kmandi tal-lingwa, għaliex huwa biss dawn jistgħu jkunu, biex ngħidu hekk, biex jikkomunikaw mal-kompjuter.

Naturalment, hemm nuqqasijiet, kif fil kollox f'din id-dinja, iżda huma tant żgħar li sempliċiment ċar qabel il-merti. Fost l-lingwa SQL programmazzjoni hija kważi l-unika waħda tat-tip tiegħu, għaliex huwa universali, u l-għarfien dwar il-kitba skripts u l-kodiċi huma l-bażi ta 'kważi-siti kollha.

Il-vantaġġ prinċipali ta 'SQL bezogovorchno jista' jitqies sempliċità tagħha, minħabba li, wara kollox, kien hu li introdotti fil-kurrikulu skolastiku. Peress li jistgħu jimmaniġġjaw anke programmer novizzi, mhux verament kapaċi sew fil-lingwi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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