KomputilojProgramado

SQL-demandoj komando

SQL - unu el la plej komunaj programlingvoj krei kaj administri la datumbazo, kaj ankaŭ por diversaj agoj kun la datumoj mem.

Kiel praktiko montras, ĝi estas sufiĉe facile uzebla kaj faras la plej multaj el la norma vortaro de la angla lingvo. Kiel ajna alia programlingvo, la SQL havas propran logikon kaj sintakso, aro de bazaj komandoj kaj reguloj por ilia uzo.

Klasifiko de SQL komandojn

Ĉiuj normo SQL komandojn povas konsideri bazita sur ilia celloko. Kiel la bazo por klasifiko vneglasnoy povas preni tiajn arojn kiel:

  1. por konsulti komandojn.

  2. Teamoj korpigita proceduroj kaj funkcioj.

  3. ekigiloj kaj sistemo tabloj ordoni.

  4. Aroj de kombinaĵoj por labori kun la dato kaj kordo variabloj.

  5. Komandoj por labori kun datumoj kaj tabloj.

Ĉi tiu klasifiko estas senfina, sed la baza SQLa lingvo komando aroj estas konstruita ĝuste pro tiuj tipoj.

Konsiderante la klasifiko de la lingvo, ne mencii ke estas universala, kiel pruvas la medio de lia uzo. Tiu programlingvo kaj liaj variantoj estas utiligitaj ne nur en norma medio sed ankaŭ en aliaj programoj, kiu, iel, vi uzis.

La amplekso de la uzo de SQLa videblas el la perspektivo de oficejo programaro, nome MicrosoftAccess. Tiu lingvo, aŭ pli ĝuste, lia speco - MySQL, vi povas administri la Interreta datumbazo. Eĉ Orakolo disvolviĝo medio bazita sur ilia uzo en SQL komandojn de demandoj.

Uzante SQLa en MicrosoftAccess

Unu el la plej komunaj uzoj lingvo por datumbaza programado programaro pako estas konsiderata MicrosoftOffice. La studo de ĉi tiu programaro provizas lernejo kurson de komputiko, kaj en la dek-unua grado estas konsiderata datumbazo mastrumado sistemo MicrosoftAccess.

Estas la studo de la aplikaĵo al la studentoj konatiĝi kun la lingvo disvolviĝo de datumbazoj kaj akiri bazan komprenon de ĉiuj inkludis. SQLa Aliro teamo prefere primitiva, kompreneble, se ni konsideras ilin en profesia maniero. Kurado tiajn komandojn estas tre simpla, kaj estas adaptitaj en la kodo redaktoro.

Konsideru specifan ekzemplon:

ELEKTU Pe_SurName

EL Pherson

WHERE Pe_Name = 'Maria';

Bazita sur la komando sintakso, Vi povas kompreni ke ĝi revenas la salutnomo de la persono, en ĉi tiu kazo, virino nomita Mary, kiu estas stokita en la Kontaktoj datumbazo tablo.

Kvankam la uzo de SQLa en Aliro estas limigita, foje tiaj simplaj demandoj povas ege simpligi la efektivigo de la asignita taskoj.

Uzante SQL deklaroj en Oracle

Orakolo - estas probable la sola Microsoft SQLa Servilo serioza competidor. Estas ĉi disvolviĝo medio kaj mastrumado de la datumbazo estas konstante kondukas al la plibonigo de la programaro Microsoft produkto trajtoj kiel la konkurado - estas la motoro de progreso. Malgraŭ la konstanta rivaleco, SQL Orakolo teamo ripetis SQL. Estas notinde ke kvankam Oracle kaj estas konsiderata preskaŭ kompletan kopion de la SQL, la logiko de ĉi tiu sistemo, kaj la lingvo estas ĝenerale konsiderita pli facila.

Orakolo sistemo uzanta specifan aron da ordonoj ne estas tia komplika strukturo. Se ni konsideras la datumojn kapabloj de datumbazo disvolviĝo medioj, Oracle ne havas la kompleksa strukturo de nestitaj demandoj.

Tiu diferenco permesas multfoje por plirapidigi la laboron kun la datumoj, sed, kontraste, kondukas al malefika uzado de memoro, en iu individua kazoj. Orakolo strukturo plejparte konstruita sur provizora tabloj kaj ilia uzo. Kiel ekzemplo: SQL komandojn en la sistemo estas bazita sur la analogio kun la SQL lingvo mem normoj, kvankam ne signife diferencas de ĝi.

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

Ĉi serĉvorto revenos datumoj pri oficistoj, kiu estas dungita por certa periodo de tempo. Kvankam la demando strukturo estas malsama de Microsoft SQL Server, la ekzekuto de SQLa ordonas en ĉi tiuj sistemoj estas simila, krom malgrandaj detaloj.

Uzante SQLa en Interreto

Kun la alveno de la TTT, te Interreto, la SQL lingvo ekspansiiĝas la medio de uzo. Kiel estas konata, la reto estas stokita multajn informojn, sed ne kaosa, kaj eldonita en la retejo kaj serviloj laŭ iuj kriterioj.

Por stokante informojn en Interreto, kaj ankaŭ en aliaj lokoj, respondecas rekte al la datumbazo, kaj la ejoj estas kontrolo sistemoj. Tipe, lokoj kaj kodo estas organizitaj en diversaj programlingvoj, sed la datumbazo estas bazita sur tipo de la SQL, kaj ĝi estas la lingvo de datumbazo kreado, orientita en la MySQL ttt interfacoj.

La sintakso kaj la baza aro de komandojn tiu lingvo tute kopii ĉiujn familiara SQL, kun kelkaj el liaj aldonoj, kiujn al li malkiel Microsoft tSQL Servilo.

SQLa ordonas tute simila ne nur sintakson sed ankaŭ norma aro de funkcio vortojn. La sola diferenco estas en la alvoko peto kaj estructuración. Ekzemple, konsideri peton krei novan tablo, ŝi estas la unua, kion ili instruos al infanoj en lernejoj de la komputilo:

$ Link = mysqli_connect ( 'localhost', "radiko", '', 'testanto');

se ($ ligilo!) morti ( "Eraro");

$ Query = 'krei tablon uzantoj (

ensalutu VARCHAR (20)

Pasvorto VARCHAR (20)

');

se (mysqli_query ($ ligilo, $ serĉvorto)) eĥo "Tablo kreita.";

elseecho "La tablo ne estis kreita:" .mysqli_error ();

mysqli_close ($ ligilo);

Rezulte de tia peto, vi povas akiri novan tablon "uzantoj", en kiu estos du kampoj: uzantnomon kaj pasvorton.

Sintakso ŝanĝis sub la TTT, sed estas bazita sur MicrosoftSQLServer teamo.

Konstruaĵo Informmendoj MicrosoftSQLServer

La specimeno de aparta aro de datumoj tabloj estas unu el la ĉefaj taskoj de SQL. Por tiaj operacioj, kondiĉe la unuaranga komando en SQL. Tio pri ĝi diskutis sube.

Kondiĉoj de teamo konstruaĵo estas tre simpla, kaj tre elektu komando en SQL estas konstruita jene. Ekzemple, estas tabelo en kiu la datumoj estas haveblaj por dungitoj, kiuj, ekzemple, al Person nomo. Ni prezentas la problemon kiu la tablo vi devas elekti datumoj pri oficistoj, kiu dato de naskiĝo - en la intervalo de la unua de januaro al la unua de marto de la nuna jaro, inkluziva. Por tia specimeno estas necesa por ekzekuti SQL komando, kiu estas ne nur norma dezajno, sed ankaŭ la elekto kondiĉo:

Elektu * el Persono

Kie P_BerthDay> = '01 / 01/2016 'kaj P_BerthDay <= '03 / 01/2016'

Ekzekuto de la admono revenos ĉiuj datumoj pri oficistoj, kies naskiĝtago estas en la periodo, kiu estis metita de vi. Kelkfoje vi povas esti defiita por montri nur la lasta nomo, antaŭnomo kaj patronomo de la oficisto. Tiucele peton por konstrui iomete malsama maniero, ekzemple, tiel:

SelectP_Name - nomo

P_SurName - familia nomo

P_Patronimic - patronomo

el Persono

Kie P_BerthDay> = '01 / 01/2016 'kaj P_BerthDay <= '03 / 01/2016'

Tamen, ĉi tiu estas nur selektado de io. Li estas, en esenco, ne influas ion ajn, sed nur provizas informon. Sed se vi decidas preni serioze la SQL lingvo, vi devas lerni kiel fari ŝanĝojn al la datumbazo, ĉar ilia konstruo sen ĝi estas simple neebla. Kiel ĉi tiu estas farita tio estos diskutita malsupre.

Bazaj SQLa ordonas ŝanĝi datumojn

La sintakso estas konstruita ne nur por informpeti, sed ankaŭ por manipulado de datumoj. Resume, la tasko datumbazo programisto skribas la skripton por la specimenoj kaj raportoj, Sed foje vi devas fari ŝanĝojn al la tablo. SQLa ordonas listo por tiaj agoj estas malgranda kaj konsistas el tri ĉefaj teamoj:

  1. Enŝovu (trans. Enmetu).

  2. Ĝisdatigi (trans. Ĝisdatigi).

  3. Forigi (trans. Forigi).

La celo de ĉi tiuj teamoj estas facile determini, sufiĉas nur traduki ilian nomon. Ĉi tiuj comandos estas facila uzi kaj ne havas komplika konstruo de la skemo, sed ĝi havas mencii ke iuj el ili, se uzata malĝuste, povas kaŭzi neripareblan damaĝon al la datumbazo.

Kutime, antaŭ uzi ĉi tiujn komandojn MSSQL vi devas konsideri kaj konsideri ĉiujn eblajn konsekvencojn de ilia efektivigo.

Post lernado de tiuj komandojn, vi povos plene komenci labori kun datumbazo tabloj, tiel modifi ĝin kaj fari novajn klarigan variabloj sur aŭ forigi malnova.

Enmeti teamo

Por enmeti datumojn en tablo uzante la plej sekura teamo - Enmeti. Malĝuste enmetitaj datumoj estas ĉiam eblas forigi kaj aldoni al la datumbazo denove.

Enmetu komando enigi novajn datumojn sur la tablo kaj permesas vin aldoni kiel kompleta aro, kaj selekte.

Ekzemple, konsideru la insertar komando en la antaŭe priskribita tablo Persono. Por fari la SQL komando devas kuri en la datumoj tablo, kiu permesas enigi ĉiuj datumoj en tabelo aŭ plenigi ĝin selectivamente.

Enmeti en persono

Elektu 'Grigoriev' 'Vitali', 'Petroviĉ "," 1/1/1988'

MS SQL SERVER komando tia plano estas aŭtomate plena de ĉiuj ĉeloj de la tablo kun la specifita datumojn. Estas situacioj kie la oficisto ne havas mezo komencan, ekzemple, li venis por labori sur la interŝanĝo de Germanio. En ĉi tiu kazo, kuri al la sekva komando enmetas datumojn, kiu kondukos al la tablo nur kio estas necesa. La sintakso de la admono estas kiel sekvas:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

Valoroj ( 'Davido', 'Hoko', '2/11/1986')

Tiu teamo plenigas nur la specifita ĉelo, kaj ĉiuj aliaj estos nula.

Komando ŝanĝi la datumojn

Por ŝanĝi la datumojn kiel tuto linio, kaj iuj ĉeloj uzas Ĝisdatigi SQL komando. Elfari ĉi komando bezonas nur al certaj kondiĉoj, nome, precize indiki en kiu linio de la nombro necesa por fari ŝanĝojn.

Ĝisdatigi SQL komando havas simplan sintakson. Por certigi taŭgan uzon, oni indikas kiun datumoj en kolumno kaj rekorda devus esti ŝanĝita. Sekva, krei skripton kaj plenumado. Konsideru ekzemplon. Ni devas ŝanĝi la daton de naskiĝo de Davido Hook, kiu estas inkluzivita en la oficisto tablo ĉe numero 5.

Ĝisdatigi Persono

Agordu P_BerthDay = '02 / 10/1986 'kie P_ID = 5

Kondiĉo (en la skribo) ne ŝanĝos la daton de naskiĝo de la tuta tabelo diskojn kaj ĝisdatigi nur la necesa.

Estas ĉi tiu teamo de programistoj uzas plej ofte, ĉar ĝi ebligas al vi ŝanĝi la datumojn en la tablo sen kaŭzi gravajn damaĝojn al la tuta informo.

Ordonas uzi konstruita-en proceduroj kaj funkcioj

Kun la helpo de la lingvo SQL, vi povas ne nur konstrui demandojn, sed ankaŭ por krei korpigita mekanismoj por labori kun datumoj. Kutime, estas fojoj kiam vi volas uzi en la korpo de la pridemando specimeno skribita pli frue.

Juĝante logike, tiam vi devas kopii kaj alglui la specimeno teksto en la ĝusta loko, sed vi povas fari simplan solvon. Konsideru ekzemplon kie la laboranta interfaco montrata butono por presi la raporto, ekzemple en Excel. Tiu operacio estos realigita kiel necesas. Por tiaj celoj, estas korpigita stokita proceduroj. Komandoj SQL pridemandojn, en ĉi tiu kazo, estas en la procezo kaj estas kaŭzita de SQLExec teamo.

Ni supozu, ke la procedo por retiro datoj de naskiĝo de dungitoj kun la antaŭe priskribitaj Persono tablo estis kreita. En ĉi tiu kazo, ne necesas skribi la tuta demando. Akiri la necesa informo sufiĉa por ekzekuti la ordonon Exec [procedo nomo] kaj pasi la necesaj parametroj por muestreo. Kiel ekzemplon oni povas konsideri la mekanismo por la kreo de tia naturo de la procedo:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

KIEL

SET NoCount SUR;

ELEKTU * el Persono

EL HumanResources.vEmployeeDepartmentHistory

WHERE P_BerthDay> = @DB kaj P_BerthDay <= @DE

ANDEndDateISNULL;

GO

Tiu procedo revenas ĉiuj informoj pri dungitoj kies naskiĝtago estos en tempo donita periodo.

Organizo datumoj integrecon. ekigiloj

Kelkaj MS SQL-komando, oni povus eĉ diri, la dezajno ne nur organizi manipulado de datumoj, sed ankaŭ certigi ilian integrecon. Por tiaj celoj en la lingvo desegnita sistemo dezajno, kiu kreas programisto mem. Ĉi tiuj estas nomitaj ellasiloj, kiu povas provizi datumojn kontrolo.

En ĉi tiu kazo, por la organizo de testo kondiĉoj uzante normo SQL-demandojn ordonon. En ekigiloj, vi povas krei multajn kondiĉojn kaj limigojn por datumoj kiu kontrolos ne nur aliro al informoj, sed ankaŭ por malpermesi la forigo, modifo, aŭ enmeti datumojn.

La tipoj de SQL ordonoj por uzi en ellasilon, ne limigita. Konsideru la sekvan ekzemplon.

Se ni priskribas la mekanismon por krei la ellasilon, tiam la tipoj de SQL komandoj estas la sama kiel kiam kreante procedo. algoritmo mem estos priskribita sube.

La unua paŝo estas priskribi la servo komando krei ekigiloj:

CREATE ellasilon Person_Insert

Sekva punkto al tablo:

ONPerson

Indikas por kiu datumoj operacioj (en ĉi tiu kazo, la datumoj ŝanĝas operacio).

La sekva paŝo estas specifi la tabloj kaj variabloj:

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

Plue deklari kursoroj elekti datumoj tabloj forigo kaj inserción de datumoj:

Deklari kursoron C1 por elektu P_ID, P_BerthDay de enmetitaj

Deklari kursoron C2 por elektu P_ID, P_BerthDay el forviŝita

Difinante la datumoj elekto paŝoj. Unufoje en la korpo kursoroj preskribi kondiĉo kaj reago al ĝi:

se @ID = @nID kaj @nDate = '01 / 01/2016 '

komenci

sMasseges Kuru operacio neebla. Dato ne taŭgas '

fino

Ĝi havas mencii ke la ellasilon ne nur kreas, sed ankaŭ elŝalti dum momento. Tia manipulado povas teni nur programisto elfaranta SQL SERVER komando:

altertablePERSONdisabletriggerall - malfunkciigi ĉiuj ekigiloj kreita por la tablo, kaj, laŭe, altertablePERSONenabletriggerall - por inkludo.

Ĉi tiuj bazaj SQLa ordonas plej kutime uzita, sed ilia kombino povas esti tre diversaj. SQL - tre fleksebla programlingvo kaj donas la ellaboranto maksimume ebloj.

konkludo

El la supre ni povas nur konkludi: SQLa lingvokapabloj mosto por tiuj kiuj volas okupiĝi serioze en programado. Ĝi kuŝas ĉe la koro de ĉiuj operacioj realigitaj en Interreto kaj en la hejmo datumbazo. Tial la estonteco programisto devas scii la nombron de komandoj de la lingvo, ĉar nur ili povas esti, tiel diri, por komuniki kun la komputilo.

Kompreneble, ekzistas mankoj, kiel ĉio en ĉi tiu mondo, sed ili estas tiel malgranda, ke simple pala antaŭ la meritoj. De inter ĉiuj SQL programlingvo estas preskaŭ la sola de sia speco, ĉar ĝi estas universala, scion sur skribante skriptoj kaj kodoj estas la bazo de preskaŭ ĉiuj lokoj.

La ĉefa avantaĝo de SQLa bezogovorchno eblas konsiderita lia simpleco, ĉar, efektive, estis li, kiu enkondukis en la lerneja kursaro. Ekde ĝi povas pritrakti eĉ novulo programisto, ne vere sperta en lingvoj.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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