PočítačeProgramovanie

Príkaz SQL dotazov

SQL je jeden z najbežnejších programovacích jazykov pre vytváranie a správu databázy, ako aj pre vykonávanie rôznych činností s údajmi samotnými.

Ako ukazuje prax, je veľmi jednoduché učiť sa a najviac využívať štandardnú slovnú zásobu anglického jazyka. Ako každý iný programovací jazyk má SQL vlastnú logiku a syntax, súbor základných príkazov a pravidlá ich používania.

Klasifikácia príkazov jazyka SQL

Všetky štandardné príkazy SQL môžu byť zvážené na základe ich účelu. Ako základ pre súkromnú klasifikáciu možno vziať takéto súbory ako:

  1. Príkazy na vytváranie dopytov.

  2. Príkazy pre vstavané postupy a funkcie.

  3. Spúšťacie a systémové príkazy tabuľky.

  4. Kombinované súbory pre prácu s premennými dátumu a reťazca.

  5. Príkazy na prácu s údajmi a tabuľkami.

Táto klasifikácia môže pokračovať neurčito, ale základné súbory príkazu jazyka SQL budú zostavené na základe týchto typov.

Ak vezmeme do úvahy klasifikáciu jazyka, nedá sa povedať, že je univerzálny, čo naznačuje rozsah jeho používania. Tento programovací jazyk a jeho varianty sa používajú nielen v štandardnom prostredí, ale aj v iných programoch, ktoré ste používali tak či onak.

Rozsah použitia SQL je možné prezerať z pohľadu kancelárskeho softvéru, menovite Microsoft Access. Tento jazyk, alebo skôr jeho verzia - MySQL, vám umožňuje spravovať databázy na internete. Dokonca vývojové prostredie Oracle používa príkazy SQL ako základ.

Používanie SQL v programe Microsoft Access

Jedným z najjednoduchších príkladov používania jazyka pre programovanie databázy je balík MicrosoftOffice. Štúdium tohto softvérového produktu je poskytované školským kurzom informatiky a v jedenástej triede sa berie do úvahy systém správy databáz MicrosoftAccess.

Počas štúdia tejto aplikácie sa študenti oboznámia s jazykom vývoja databázy a získajú základné pochopenie všetkého, čo je v ňom. Prístupové príkazy SQL sú úplne primitívne, samozrejme, ak sa na ne pozeráte profesionálne. Vykonávanie takýchto príkazov je veľmi jednoduché a sú vytvorené v prispôsobenom kódovom editore.

Pozrime sa na konkrétny príklad:

ZOZNAM Pe_SurName

Z Phersonu

WHERE Pe_Name = 'Mary';

Na základe syntaxe príkazu môžete pochopiť, že sa vráti priezvisko používateľa, v tomto prípade žena s názvom Mary, ktorá je uložená v tabuľke databázy kontaktov.

Aj keď je použitie SQL v aplikácii Access obmedzené, niekedy takéto jednoduché dopyty môžu výrazne zjednodušiť vykonanie priradenej úlohy.

Použitie príkazov SQL v Oracle

Oracle je pravdepodobne jediný vážny konkurent spoločnosti Microsoft SQL Server. Toto prostredie pre vývoj a správu databázy neustále vedie k zlepšeniu funkcií softvérového produktu spoločnosti Microsoft, pretože konkurencia je motorom pokroku. Napriek neustálej rivalite príkazy SQL Oracle SQL opakujú SQL. Stojí za zmienku, že aj keď sa Oracle považuje za takmer úplnú kópiu SQL, logika tohto systému a jazyk ako celok sa považuje za jednoduchšiu.

Systém Oracle nemá takú zložitú štruktúru pri používaní špecifickej sady príkazov. Ak vezmeme do úvahy schopnosti týchto databázových vývojových prostredí, Oracle nemá zložitú štruktúru vnorených dopytov.

Tento rozdiel umožňuje mnohokrát zrýchliť prácu s údajmi, ale naopak, v niektorých prípadoch vedie k neefektívnemu využitiu pamäte. Štruktúra Oracle je postavená predovšetkým na dočasných stoloch a ich používaní. Ako príklad: príkazy SQL v tomto systéme sú postavené analogicky s normami samotného jazyka SQL, hoci z neho sú zanedbateľné a odlišné.

SELECTCONCAT (CONCAT (CONCAT (CONSTANT), CONCAT (SUBSTR (fname, 0, 1), SUBSTR (otch, 0, 1))), CONCAT ("01 .01.80", "dd.mm.rrr");

Tento dopyt vráti údaje o zamestnancoch, ktorí sú najatí počas určitého časového obdobia. Hoci štruktúra požiadavky sa líši od Microsoft SQL Server, vykonávanie príkazov SQL v týchto systémoch je podobné, s výnimkou malých detailov.

Používanie SQL na internete

S príchodom World Wide Web, to znamená internetu, rozsah používania jazyka SQL sa rozširuje. Ako viete, sieť ukladá veľa informácií, ale nie je chaoticky umiestnená, ale je zverejnená na stránkach a na serveroch podľa určitých kritérií.

Ukladanie informácií na internete, ako aj inde, je priamo v zodpovednosti databáz a stránky sú systémy riadenia. Stránky a ich kód sú zvyčajne organizované v rôznych programovacích jazykoch, ale databáza je založená na jednej z odrôd jazyka SQL, konkrétne v jazyku tvorby databáz, orientovanom na webové rozhranie MySQL.

Syntax a základná sada príkazov tohto jazyka úplne kopírujú obvyklý SQL, ale s niektorými jeho dodatkami, ktoré mu dávajú rozdiel od servera Microsoft tSQL.

Príkazy SQL sú úplne podobné nielen v syntaxe, ale aj v štandardnej sade servisných slov. Rozdiel je iba vo výzve a štruktúrovaní žiadosti. Môžete napríklad zvážiť dotaz na vytvorenie novej tabuľky, je to prvá, ktorú deti učia v školách v informatike:

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

Ak (! $ Link) zomrie ("Chyba");

$ Query = 'vytvoriť užívateľov tabuliek (

Prihlásiť sa VARCHAR (20),

Heslo VARCHAR (20)

) ";

Ak (mysqli_query ($ link, $ query)) echo "Tabuľka je vytvorená.";

Elseecho "Tabuľka nebola vytvorená:" .mysqli_error ();

Mysqli_close ($ odkaz);

V dôsledku tejto žiadosti môžete získať novú tabuľku "Používatelia", ktorá bude mať dve polia: prihlasovacie meno a heslo.

Syntax sa zmení na web, ale na základe príkazov MicrosoftSQLServer.

Vytváranie dopytov pre Microsoft SQL Server

Výber z tabuliek konkrétnej množiny údajov je jednou z hlavných úloh SQL. Pre takéto operácie je poskytnutý príkaz select v SQL. Bude to popísané nižšie.

Pravidlá pre vytváranie príkazu sú veľmi jednoduché a príkaz select v SQL je konštruovaný nasledovne. Existuje napríklad tabuľka, v ktorej sú údaje o zamestnancovi, ktoré napríklad majú meno Osoba. Nastavíme si úlohu, ktorá je zo stola nevyhnutná na výber údajov o zamestnancoch, ktorých dátum narodenia je v intervale od 1. januára do 1. marca bežného roka vrátane. Pri takejto vzorke musíte vykonať príkaz SQL, ktorý bude mať nielen štandardnú konštrukciu, ale aj podmienku výberu:

Zvoľte * z osoby

Kde P_BerthDay> = '01 / 01/2016 'a P_BerthDay <= '03 / 01/2016'

Vykonanie takéhoto príkazu vráti všetky údaje o zamestnancoch, ktorých narodeniny sú v období, ktoré ste nastavili. Niekedy môže byť úlohou odvodiť iba meno, meno a priezvisko zamestnanca. Ak chcete tak urobiť, musí byť dotaz vytvorený trochu inak, napríklad takto:

SelectP_Name je meno

P_SurName - priezvisko

P_Patronimic - patronymic

Od osoby

Kde P_BerthDay> = '01 / 01/2016 'a P_BerthDay <= '03 / 01/2016'

Je to však len niečo z čoho. V podstate nič neovplyvňuje, ale iba poskytuje informácie. Ale ak sa rozhodnete brať SQL vážne, budete sa musieť naučiť, ako robiť zmeny v databázach, pretože ich budovanie bez toho je jednoducho nemožné. Ako sa to robí, bude diskutované nižšie.

Základné príkazy SQL na zmenu údajov

Syntax jazyka je postavený nielen na dotazovanie, ale aj na manipuláciu s údajmi. V podstate úloha databázového programátora píše skripty pre vzorky a prehľady, ale niekedy je potrebné upravovať tabuľky. Zoznam príkazov SQL pre takéto akcie je malý a pozostáva z troch hlavných príkazov:

  1. Vložka (trans. Vložka).

  2. Update (trans. Update).

  3. Delete (trans. Odstrániť).

Účel týchto príkazov je ľahko určiť, na to stačí len preložiť ich meno. Tieto príkazy sú ľahko použiteľné a nemajú komplexnú konštrukčnú schému, ale stojí za zmienku, že niektoré z nich, ak sú nesprávne použité, môžu spôsobiť nenapraviteľné poškodenie databázy.

Spravidla je potrebné pred použitím použiť také príkazy MSSQL a brať do úvahy všetky možné dôsledky ich implementácie.

Po naučení týchto príkazov budete môcť úplne začať pracovať s databázovými tabuľkami, čím ich upravíte a zavediete niektoré nové premenné alebo odstránite staré.

Príkaz Vložiť

Ak chcete vložiť údaje do tabuľky, použite najbezpečnejší príkaz - Vložiť. Nesprávne vložené údaje môžu byť vždy vymazané a znova vložené do databázy.

Príkaz Vložiť slúži na vloženie nových údajov do tabuľky a umožňuje vám pridať kompletnú aj selektívnu súpravu.

Napríklad, zvážte príkaz vložiť v predtým popísanej osobnej tabuľke. Na zadanie údajov do tabuľky musíte vykonať príkaz SQL, ktorý vám umožní vložiť všetky údaje do tabuľky alebo ich vyplniť selektívne.

Vložte do osoby

Vyberte "Grigoriev", "Vitaliy", "Petrovich", "01/01/1988"

Príkazy MS SQL SERVER tohto plánu automaticky vyplnia všetky bunky v tabuľke so špecifikovanými údajmi. Existujú situácie, keď zamestnanec nemá stredné meno, napríklad prišiel pracovať z Nemecka na výmenu. V tomto prípade musíte spustiť príkaz na vkladanie údajov, ktorý bude obsahovať len to, čo je potrebné v tabuľke. Syntax pre tento príkaz je:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

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

Takýto príkaz vyplní len určené bunky a všetky ostatné budú nulové.

Príkaz na zmenu údajov

Ak chcete aktualizovať údaje pre celý riadok alebo pre niektoré bunky, použite príkaz Aktualizovať SQL. Ak chcete vykonať takýto príkaz, je to nevyhnutné len s určitou podmienkou, a to presne špecifikovať v akom čísle je potrebné vykonať zmeny.

Príkaz Aktualizácia SQL má jednoduchú syntax. Pre správne použitie je potrebné určiť, ktoré údaje, ktorý stĺpec a ktorý záznam by sa mal zmeniť. Ďalej skompilujte skript a spustite ho. Pozrime sa na príklad. Je potrebné zmeniť dátum narodenia Davida Hookeho, ktorý je uvedený v tabuľke zamestnancov pod číslom 5.

Aktualizovať osobu

Nastavte P_BerthDay = '02 / 10/1986 'kde P_ID = 5

Podmienka (v tomto skripte) neumožní zmenu dátumu narodenia vo všetkých záznamoch tabuľky, ale aktualizuje iba požadované.

Tento príkaz používajú programátori najčastejšie, pretože vám umožňuje meniť údaje v tabuľke bez toho, aby ste značne poškodili všetky informácie.

Príkazy na použitie vstavaných procedúr a funkcií

Pomocou SQL môžete nielen vytvárať dopyty, ale aj vytvárať vstavané mechanizmy na prácu s údajmi. Spravidla existujú chvíle, kedy je potrebné použiť v tele jedného dotazu vzorku napísanú skôr.

Ak posudzujete logicky, musíte skopírovať text vzorky a vložiť ju na správne miesto, ale môžete to urobiť jednoduchším riešením. Pozrime sa na príklad, kde sa na pracovnom rozhraní zobrazuje tlačidlo na tlač správy, povedzme v programe Excel. Táto operácia sa vykoná podľa potreby. Na tieto účely sa používajú vstavané uložené procedúry. Príkazy SQL dotazu sú v tomto prípade postupom a sú nazývané pomocou príkazu SQLExec.

Predpokladajme, že bol vytvorený postup na uvedenie dátumu narodenia zamestnancov z predtým popísanej Osobnej tabuľky. V tomto prípade nie je potrebné písať celý dopyt. Na získanie potrebných informácií stačí vykonať príkaz Exec [name procedure] a preniesť potrebné parametre pre výber. Ako príklad môžete zvážiť mechanizmus na vytvorenie takejto procedúry:

CREATEPROCEDUREPrintPerson

@ DD smalldatetime

@DE smalldatetime

AS

NASTAVIŤ NOCOUNT;

SELECT * z osoby

Z HumanResources.vEmployeeDepartmentHistory

KDE P_BerthDay> = @DB a P_BerthDay <= @DE

ANDEndDateISNULL;

GO

Týmto postupom sa vrátia všetky informácie o zamestnancoch, ktorých narodeniny budú v danom časovom období.

Organizácia integrity údajov. spúšťače

Niektoré príkazy MS SQL, dokonca môžete povedať návrhy, umožňujú nielen organizáciu manipulácie s údajmi, ale aj zabezpečenie ich integrity. Na tieto účely je navrhnutý systém navrhovania jazyka, ktorý vytvára programátora. Jedná sa o takzvané spúšťače, ktoré môžu poskytnúť kontrolu údajov.

V tomto prípade sa štandardné príkazy SQL dotazu používajú na organizáciu kontroly stavu. V spúšťačov môžete vytvoriť veľa podmienok a obmedzení pre prácu s údajmi, ktoré pomôžu spravovať nielen prístup k informáciám, ale tiež zabraňovať vymazaniu, modifikácii alebo vkladaniu údajov.

Typy príkazov SQL, ktoré je možné použiť v spúšťačoch, sú neobmedzené. Zoberme si príklad.

Ak opíšeme mechanizmus vytvorenia spúšťača, potom sú typy príkazov SQL rovnaké ako pri vytváraní postupu. Algoritmus sám bude opísaný nižšie.

Prvým krokom je popísať príkaz služby na vytvorenie spúšťačov:

CREATE TRIGGER Person_Insert

Ďalej uveďte, pre ktorú tabuľku:

ONPerson

Určte, pre ktorú operáciu s údajmi (v našom prípade ide o operáciu modifikácie údajov).

Ďalším krokom je špecifikácia tabuliek a premenných:

Vyhlásiť @ ID int. @Date smalldatetime @ nID int. @nDatesmalldatetime

Ďalej deklarujeme kurzorom výber údajov z tabuľky na vymazanie a vkladanie údajov:

Deklarujte kurzor C1 pre výber P_ID, P_BerthDay z vloženého

Deklarujte kurzor C2 pre výber P_ID, P_BerthDay z vymazaného

Definujte kroky na výber údajov. Následne v tele kurzorov predpíšeme stav a reakciu na neho:

Ak @ID = @nID a @nDate = '01 / 01/2016 '

začať

SMasseges "Operáciu nemožno vykonať. Dátum nesúhlasí "

koniec

Stojí za zmienku, že spúšť nie je možné len vytvoriť, ale aj na chvíľu zablokovať. Túto manipuláciu môže robiť iba programátor vykonaním príkazov SQL SERVER:

AltertablePERSONdisabletriggerall - ak chcete zakázať všetky spúšťače vytvorené pre túto tabuľku a podľa toho altertablePERSONenabletriggerall - aby ste ich povolili.

Tieto základné príkazy SQL sa používajú najčastejšie, ale ich kombinácie môžu byť veľmi rôznorodé. SQL je veľmi flexibilný programovací jazyk a poskytuje vývojárom maximálne príležitosti.

záver

Zo všetkého, čo je uvedené vyššie, môžete nakresliť jediný záver: znalosť jazyka SQL je jednoducho potrebná pre tých, ktorí sa vážne zapájajú do programovania. Nachádza sa v centre všetkých činností vykonávaných na internete av domácich databázach. To je dôvod, prečo budúci programátor musí vedieť veľa príkazov tohto jazyka, pretože len s ich pomocou môžete takpovediac komunikovať s počítačom.

Samozrejme, existujú nedostatky, rovnako ako vo všetkom na tomto svete, ale sú tak bezvýznamné, že len upadajú pred zásluhy. Medzi všetkými programovacími jazykmi je SQL takmer jediný svojho druhu, pretože je univerzálny a znalosť písania skriptov a kódov je v centre takmer všetkých stránok.

Hlavnou výhodou SQL bezogovorchno možno považovať za jeho jednoduchosť, pretože koniec koncov, bol to on, kto zaviedol do školských osnov. Vzhľadom k tomu, že zvládne aj začiatočník programátor, nie tak celkom zbehlý v jazykoch.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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