/ / SQL užklausos komandos

SQL užklausos komandos

SQL yra viena iš labiausiai paplitusių programavimo kalbų kurti ir valdyti duomenų bazę, taip pat atlikti įvairius veiksmus su pačiais duomenimis.

SQL komandos

Kaip rodo praktika, ji yra gana paprastaįvaldyti ir maksimaliai padidinti standartinę anglų kalbos žodyną. Kaip ir bet kuri kita programavimo kalba, SQL turi savo logiką ir sintaksę, pagrindinių komandų rinkinį ir jų naudojimo taisykles.

SQL kalbos komandų klasifikavimas

Visos standartinės SQL komandos gali būti laikomos pagal jų paskirtį. Neoficialaus klasifikavimo pagrindu galima rinktis tokius rinkinius kaip:

  1. Komandos užklausoms kurti.

  2. Komandos, skirtos įmontuotoms procedūroms ir funkcijoms.

  3. Triggerio ir sistemos lentelių komandos.

  4. Kombinuotieji rinkiniai, skirti dirbti su datos ir eilutės kintamaisiais.

  5. Komandos dirbti su duomenimis ir lentelėmis.

Ši klasifikacija gali būti tęsiama neribotą laiką, tačiau pagrindiniai SQL kalbos komandos rinkiniai bus sukurti remiantis šiais tipais.

SQL užklausos komandos

Atsižvelgiant į kalbos klasifikaciją,paminėti, kad tai yra universali, kaip nurodoma jo taikymo sferoje. Ši programavimo kalba ir jos variantai yra naudojami ne tik standartinėje aplinkoje, bet ir kitose programose, kurias naudojote vienaip ar kitaip.

SQL naudojimo sritį galima peržiūrėtiOffice programinės įrangos, būtent "Microsoft Access", požiūris. Ši kalba arba, tiksliau sakant, jos versija - "MySQL", leidžia administruoti duomenų bazes internete. Net Oracle plėtros aplinka naudoja SQL komandas.

SQL naudojimas "Microsoft Access"

Vienas iš paprasčiausių naudojimosi pavyzdžiųprogramavimo duomenų bazių kalba yra "MicrosoftOffice" programinės įrangos paketas. Šio programinės įrangos tyrimą teikia mokyklos informatikos kursai, o vienuoliktojoje klasėje nagrinėjama "MicrosoftAccess" duomenų bazių valdymo sistema.

Būtent šios paraiškos studijų metu studentaisusipažinti su duomenų bazės kūrimo kalba ir suprasti viską, kas jame. Žinoma, "Access" SQL komandos yra gana primityvios, jei jas profesionaliai pažvelgiate. Tokių komandų vykdymas yra labai paprastas, ir jie yra sukurti pritaikytuose kodų redaktoriuose.

Pažiūrėkime į konkretų pavyzdį:

SELECT Pe_SurName

Iš Fersono

KODAS Pe_Name = "Marija";

Remiantis komandų sintaksė, jūs galite suprasti, kad jis grąžins vartotojui asmens vardą, šiuo atveju moterį Mariją, kuri yra saugoma "Contacts" duomenų bazės lentelėje.

Nors "SQL" naudojimas "Access" yra ribotas, kartais tokios paprastos užklausos gali žymiai supaprastinti priskirtą užduotį.

"SQL" komandų naudojimas "Oracle"

"Oracle" - tai turbūt vienintelis rimtaskonkurentas "Microsoft SQL Server". Tai yra ši duomenų bazės kūrimo ir valdymo aplinka, dėl kurios nuolat gerėja "Microsoft" programinės įrangos funkcijos, nes konkurencija yra pažangos variklis. Nepaisant nuolatinės varžybos, Oracle SQL komandos pakartoja SQL. Pažymėtina, kad nors "Oracle" laikoma beveik visiškai kopija SQL, šios sistemos ir visos kalbos logika yra laikoma paprastesnė.

pasirinkite komandą sql

"Oracle" sistema naudoja tam tikrąKomandų rinkinys neturi tokios sudėtingos struktūros. Jei apsvarstysime šių duomenų bazių kūrimo aplinkų galimybes, "Oracle" neturi sudėtingos nesusietų užklausų struktūros.

Šis skirtumas leidžia daug kartų pagreitintidirbti su duomenimis, bet, priešingai, kai kuriais atvejais atsiranda neefektyvus atminties naudojimas. "Oracle" struktūra daugiausia yra pagrįsta laikinosiomis lentelėmis ir jų naudojimu. Kaip pavyzdys: SQL komandos šioje sistemoje yra sukurtos pagal analogiją su paties SQL kalbos standartais, nors ir nereikšmingai ir skiriasi nuo jo.

SELECTCONCAT (CONCAT (CONCAT ("Darbuotojas", "sname"),CONCAT (substr (fname, 0, 1), substr (otch, 0, 1))), CONCAT ( 'prinyatnarabotu ", acceptdate)) IŠ darbuotojų KUR acceptdate> TO_DATE ('01 .01.80", "Dd.mm.gggg ');

Ši užklausa grąžins duomenis apie darbuotojus,kurie yra samdomi tam tikrą laiką. Nors užklausos struktūra skiriasi nuo "Microsoft SQL Server", šiose sistemose SQL komandų vykdymas yra panašus, išskyrus smulkius duomenis.

SQL naudojimas internete

Su World Wide Web atsiradimu, tai yraInternetu plečiama SQL kalbos naudojimo sritis. Kaip žinote, tinklas saugo daug informacijos, tačiau jis nėra chaotiškai išsidėstęs, bet paskelbtas svetainėse ir serveriuose pagal tam tikrus kriterijus.

Norėdami saugoti informaciją internete, kaipkitos vietos yra tiesiogiai atsakingos už duomenų bazę, o svetainės yra valdymo sistemos. Paprastai svetainės ir jų kodas yra organizuojami skirtingomis programavimo kalbomis, tačiau duomenų bazė yra pagrįsta viena iš SQL veislių, būtent duomenų bazės kūrimo kalba, orientuota į MySQL žiniatinklio sąsajas.

Sintaksė ir pagrindinis šios kalbos komandų rinkinys visiškai nukopijuos įprastą SQL, tačiau su kai kuriais papildymais, kurie skiriasi nuo "Microsoft tSQL Server".

SQL komandos yra visiškai panašios ne tiksintaksė, bet ir standartinis paslaugų žodžių rinkinys. Skirtumas yra tik skambutis ir prašymo struktūrizavimas. Pavyzdžiui, galite apsvarstyti užklausą sukurti naują lentelę, tai yra pirmasis, kurį vaikai mokosi kompiuterių mokslo mokyklose:

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

jei (! $ link) die ("Klaida");

$ query = "sukurti naudotojų lentelę (

prisijungti VARCHAR (20),

slaptažodis VARCHAR (20)

) ";

if (mysqli_query ($ link, $ query)) echo "Sukurta lentelė.";

elseecho "Lentelė nebuvo sukurta:" .mysqli_error ();

mysqli_close ($ link);

Dėl šio prašymo galite gauti naują lentelę "Vartotojai", kurioje bus du laukai: prisijungimo vardas ir slaptažodis.

Sintaksė pakeista į žiniatinklį, tačiau remiantis komandomis MicrosoftSQLServer.

"Microsoft SQL Server" užklausų kūrimas

Pasirinkimas iš tam tikrų duomenų rinkinių lentelių yra vienas pagrindinių SQL užduočių. Tokiems veiksmams pateikiama SQL parinkimo komanda. Tai bus aptarta toliau.

atnaujinti sql komandą

Komandos kūrimo taisyklės yra labai paprastos ir patikomandą SQL pasirinkite tokia tvarka. Pavyzdžiui, yra lentelė, kurioje yra duomenys apie darbuotoją, kuris, pavyzdžiui, turi vardą "Asmuo". Nustatykime užduotį, kad iš lentelės reikia pasirinkti duomenis apie darbuotojus, kurių gimimo data yra nuo sausio 1 d. Iki einamųjų metų kovo pradžios imtinai. Norėdami atlikti šį pavyzdį, turite atlikti SQL komandą, kuri ne tik turi standartinę konstrukciją, bet ir atrankos sąlygą:

Pasirinkite * iš asmens

Kur P_BerthDay> = '01 / 01/2016 'ir P_BerthDay <= '03 / 01/2016'

Vykdant tokią komandą bus grąžinti visi duomenys apiedarbuotojai, kurių gimtadienis yra jūsų nustatytu laikotarpiu. Kartais užduotis gali būti tik darbuotojo pavardė, vardas ir tėvas. Dėl to užklausą reikia sugrupuoti kitaip, pavyzdžiui, tokiu būdu:

SelectP_Name - vardas

P_SurName - pavardė

P_Patronimic - tėvo vardas

iš asmens

Kur P_BerthDay> = '01 / 01/2016 'ir P_BerthDay <= '03 / 01/2016'

sql oracle komanda

Tačiau tai tik kažko pasirinkimas. Jis iš tikrųjų nieko nedaro, bet tik teikia informaciją. Bet jei nuspręsite rimtai "" paimti SQL, turėsite sužinoti, kaip keisti duomenų bazes, nes kurti juos be tiesiog neįmanoma. Kaip tai bus padaryta, bus aptarta toliau.

Pagrindinės SQL komandos, skirtos duomenims keisti

Kalbos sintaksė yra sukurta ne tik vykdymuiužklausas, bet ir manipuliuoti duomenimis. Iš esmės duomenų bazės programuotojo užduotys yra scenarijų rašymas mėginiams ir ataskaitoms, tačiau kartais reikia keisti lenteles. Tokių veiksmų SQL komandų sąrašas yra mažas ir susideda iš trijų pagrindinių komandų:

  1. Įterpti.

  2. Atnaujinti

  3. Ištrinti

Šių komandų tikslą lengva nustatyti, užUžtenka tiesiog išversti savo vardą. Šios komandos yra lengvai naudojamos ir neturi sudėtingos konstrukcijos schemos, tačiau verta paminėti, kad kai kurie iš jų, netinkamai naudojami, gali padaryti nepataisomą žalą duomenų bazei.

Paprastai, prieš naudojantis tokiomis MSSQL komandomis reikia apsvarstyti ir atsižvelgti į visas galimas jų įgyvendinimo pasekmes.

Sužinoję apie šias komandas, galėsite visiškai pradėti dirbti su duomenų bazių lenteles, taip pakeisdami ir įvardydami keletą naujų kintamųjų arba ištrindami senus.

Įterpti komandą

sql komandų prieiga

Norėdami įterpti duomenis į lentelę, naudokite saugiausią komandą - Įterpti. Neteisingai įterpti duomenys visada gali būti ištrinti ir vėl įrašyti į duomenų bazę.

Įterpimo komanda naudojama naujiems duomenims įterpti į lentelę ir leidžia jums pridėti ir visą rinkinį, ir pasirinktinai.

Pavyzdžiui, apsvarstykite įterpimo komandą anksčiauapibūdino "Person" lentelę. Norėdami įvesti duomenis į lentelę, turite atlikti SQL komandą, kuri leis jums visus duomenis įtraukti į lentelę arba pasirinktinai užpildyti.

Įterpti į asmenį

Pasirinkite "Grigorijevas", "Vitalijus", "Petrovičius", '01 / 01/1988 '

MS SQL SERVER komandos šio plano automatiškaiužpildykite visas lentelės langelius nurodytais duomenimis. Yra situacijų, kai darbuotojas neturi viduriniojo vardo, pavyzdžiui, jis atvyko dirbti iš Vokietijos keistis. Tokiu atveju reikia atlikti duomenų įterpimo komandą, kurioje bus nurodyta tik tai, ko reikia lentelėje. Šios komandos sintaksė yra:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

Vertybės ("David", "Guk", '02 / 11/1986 ')

Tokia komanda užpildys tik nurodytas ląsteles, o visi kiti bus nuliniai.

Duomenų keitimo komanda

SQL komandų sąrašas

Pakeisti tiek visos eilutės duomenis, tiek irkai kurios ląstelės naudoja atnaujinimo SQL komandą. Norint atlikti tokią komandą būtina tik su tam tikra sąlyga, būtent tiksliai nurodyti, kokia eilute pagal skaičių reikia keisti.

SQL atnaujinimo komanda turi paprastą sintaksę. Norint tinkamai naudoti, turite nurodyti, kuriuos duomenis, kurį stulpelį ir kurį įrašą reikia keisti. Kitas, surinkti scenarijų ir jį vykdyti. Paimkime pavyzdį. Būtina pakeisti David Hooke gimimo datą, kuris yra įtrauktas į darbuotojų lentelę Nr. 5.

Atnaujinti asmenį

Nustatykite P_BerthDay = '02 / 10/1986 ', kur P_ID = 5

Sąlyga (šiame scenarijuje) neleidžia keisti gimimo datos visuose lentelės įrašuose, bet atnaujina tik tuos, kurių reikia.

Tai yra ta komanda, kurią programuotojai dažniausiai naudoja, nes ji leidžia keisti duomenis lentelėje, nesukeliant reikšmingos žalos visai informacijai.

Komandos, skirtos naudoti integruotas procedūras ir funkcijas

Naudodami SQL galite ne tik kurtiužklausas, bet ir sukurti integruotus darbo su duomenimis mechanizmus. Paprastai yra kartų, kai jums reikia naudoti vieno užklausos kūne anksčiau parinktą pavyzdį.

Jei teisingai spręsite, turite nukopijuoti tekstąpaimkite ir įklijuokite į reikiamą vietą, bet galite padaryti paprastesnį sprendimą. Pažvelkime į pavyzdį, kai ataskaitoje spausdinti rodomas darbo sąsaja, sakykite "Excel". Ši operacija bus vykdoma, jei reikia. Tokiais tikslais naudojamos įmontuotos saugomos procedūros. SQL užklausos komandos šiuo atveju yra procedūra ir vadinamos naudojant komandą SQLExec.

Tarkime, kad sukurta procedūraišvesties data, kai gimė darbuotojai iš anksčiau aprašyto "Person" stalo. Šiuo atveju nereikia parašyti visos užklausos. Norėdami gauti reikiamą informaciją, užtenka paleisti komandą Exec [procedūros pavadinimas] ir perkelti reikiamus parinkties parametrus. Pavyzdžiui, galite apsvarstyti tokio pobūdžio procedūros kūrimo mechanizmą:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

AS

SET NOCOUNT ON;

SELECT * iš asmens

FROM HumanResources.vEmployeeDeartmentHistory

KUR P_BerthDay> = @DB ir P_BerthDay <= @ DE

ANDEndDateISNULL;

GO

Ši procedūra grąžins visą informaciją apie darbuotojus, kurių gimtadienis bus nurodytu laikotarpiu.

Duomenų vientisumo organizavimas. Trigeriai

Kai kurios MS SQL komandos, galite net pasakytikonstrukcijas, leidžia ne tik organizuoti manipuliavimą duomenimis, bet ir užtikrinti jų vientisumą. Tokiais tikslais kalba yra suprojektuota sistemos konstrukcija, kuri sukuria programuotoją. Tai yra vadinamieji trigeriai, galintys užtikrinti duomenų valdymą.

Šiuo atveju organizuoti sąlygų patikrinimąstandartinės SQL užklausų komandos yra naudojamos. Naudodami trigerius galite kurti daugybę sąlygų ir apribojimų dirbdami su duomenimis, kurie padės valdyti ne tik prieigą prie informacijos, bet ir užkirsti kelią duomenų ištrynimui, keitimui ar įterpimui.

SQL komandų, kurios gali būti naudojamos trigeryje, tipai neribojami. Apsvarstykite pavyzdį.

Jei apibūdinate trigerio kūrimo mechanizmą, tada SQL komandų tipai yra tokie patys, kaip kurdami procedūrą. Žemiau aprašomas pats algoritmas.

Pirmasis žingsnis yra aprašyti paslaugų komandą, kad būtų galima kurti aktyvatorius:

CREATE TRIGGER Person_Insert

Tada nurodykite, kuri lentelė:

ONPerson

Nurodykite, kuri operacija su duomenimis (mūsų atveju tai duomenų keitimo operacija).

Kitas žingsnis yra nurodyti lenteles ir kintamuosius:

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

Tada mes deklaruojame žymeklius, kad pasirinktume duomenis iš duomenų ištrynimo ir įterpimo lentelių:

DEclare žymeklis C1, jei norite pasirinkti P_ID, P_BerthDay iš įterpto

DEclare žymeklį C2 pasirinkite P_ID, P_BerthDay iš ištrintos

Mes nustatome duomenų pasirinkimo veiksmus. Vėliau kursorių korpuse mes nustatome būklę ir reakciją į ją:

jei @ID = @ nID ir @nDate = "2011/01/01"

prasideda

sMasseges "Operacija negali būti atlikta, data neatitinka"

pabaiga

Verta paminėti, kad trigeris gali būti sukurtas ne tik tam tikrą laiką, bet ir išjungtas. Šią manipuliaciją gali atlikti tik programuotojas vykdydamas SQL SERVER komandas:

altertablePERSONdisabletriggerall - išjungti visus šioje lentelėje sukurtus aktyviklius ir, atitinkamai, keistiPERSONenabletriggerall - juos įjungti.

Šios pagrindinės SQL komandos yra dažniausiai naudojamos, tačiau jų kombinacijos gali būti labai įvairios. SQL yra labai lanksti programavimo kalba ir suteikia kūrėjams maksimalias galimybes.

Išvada

Iš visų anksčiau minėtų dalykų galite padarytivienintelė išvada: SQL kalbos žinojimas yra tiesiog reikalingas tiems, kurie rimtai įsitraukia į programavimą. Tai yra visų operacijų, vykdomų internete ir namų duomenų bazėse, pagrindas. Štai kodėl ateityje programuotojas turi žinoti daug šios kalbos komandų, nes tik su jų pagalba jūs galite, taip sakant, bendrauti su kompiuteriu.

Žinoma, yra trūkumų, kaip ir visurpasaulis, bet jie yra tokie nereikšmingi, kad jie tiesiog išnyks priešais nuopelnus. Tarp visų programavimo kalbų SQL yra beveik vienintelis tokio pobūdžio, nes jis yra universalus, o žinios apie scenarijų rašymą ir kodus yra beveik visose svetainėse.

Pagrindinis SQL pranašumas yra besąlygiškasapsvarstykite jo paprastumą, nes juk jis buvo įtrauktas į mokyklos ugdymo programą. Netgi pradedantiesiems programuotojas gali jį tvarkyti, o ne išmano kalbų.

Skaityti daugiau: