Structured Query Language (SQL) je jedným zo základných stavebných prvkov modernej databázovej architektúry. SQL definuje metódy používané na vytváranie a manipuláciu s relačnými databázami na všetkých hlavných platformách. Na prvý pohľad sa môže zdať, že jazyk je zastrašujúci a zložitý, ale nie je to všetko také ťažké.
O SQL
Správna výslovnosť jazyka SQL je sporným problémom v rámci databázovej komunity. Americký národný normalizačný inštitút vo svojom štandarde SQL vyhlásil, že oficiálna výslovnosť je „fronta“ el. "Mnoho odborníkov na databázu sa však rozhodlo pre pokračovanie v slangovej výslovnosti." Rovnako ako v prípade výslovnosti z GIF, neexistuje správna odpoveď.
SQL má mnoho príchutí. Databázy Oracle používajú svoje proprietárne PL / SQL. Microsoft SQL Server využíva Transact-SQL. Všetky variácie vychádzajú z priemyselného štandardu ANSI SQL.
Tento úvod používa príkazy SQL kompatibilné s ANSI, ktoré fungujú na akomkoľvek modernom systéme relačných databáz.
DDL a DML
Príkazy SQL možno rozdeliť do dvoch hlavných pod jazykov. Jazyk definície údajov obsahuje príkazy používané na vytváranie a ničenie databáz a databázových objektov. Po definovaní štruktúry databázy pomocou DDL môžu správcovia a používatelia databázy používať jazyk na manipuláciu s údajmi na vkladanie, načítanie a úpravu údajov v ňom obsiahnutých.
SQL podporuje tretí typ syntaxe, ktorý sa volá Jazyk kontroly údajov. DCL riadi zabezpečený prístup k objektom v databáze. Napríklad a Skript DCL udeľuje alebo odvoláva konkrétnym používateľským účtom právo čítať alebo zapisovať do tabuliek v jednej alebo viacerých definovaných oblastiach databázy. Vo väčšine spravovaných prostredí viacerých používateľov správcovia databáz zvyčajne vykonávajú skripty DCL.
Príkazy jazyka pre definíciu údajov
Jazyk definície údajov sa používa na vytváranie a ničenie databáz a databázových objektov. Tieto príkazy primárne používajú správcovia databázy počas fázy nastavenia a odstránenia databázového projektu. DDL sa točí okolo štyroch primárnych príkazov -vytvoriť, použitie, pozmeniťa pokles.
Vytvoriť
The vytvoriť príkaz vytvorí databázy, tabuľky alebo dotazy na vašej platforme. Napríklad príkaz:
VYTVORIŤ DATABÁZU zamestnancov;
vytvorí prázdnu databázu s názvom zamestnancov na vašom DBMS. Po vytvorení databázy je ďalším krokom vytvorenie tabuliek, ktoré obsahujú údaje. Ďalším variantom vytvoriť velenie plní tento účel. Príkaz:
CREATE TABLE personal_info (first_name char (20) not null, last_name char (20) not null, employee_id int not null);
ustanovuje tabuľku s názvom osobné informácie v aktuálnej databáze. V príklade obsahuje tabuľka tri atribúty: krstné meno, priezviskoa zamestnanecké ID spolu s niekoľkými ďalšími informáciami.
Použite
The použitie príkaz určuje aktívnu databázu. Napríklad ak momentálne pracujete v predajnej databáze a chcete vydať niektoré príkazy, ktoré ovplyvnia databázu zamestnancov, predveďte ich nasledujúcim príkazom SQL:
Zamestnanci USE;
Pred vydaním príkazov SQL, ktoré manipulujú s údajmi, dôkladne skontrolujte databázu, v ktorej pracujete.
Zmeniť
Po vytvorení tabuľky v databáze zmeňte jej definíciu pomocou znaku pozmeniť príkaz, ktorý zmení štruktúru tabuľky bez jej odstránenia a opätovného vytvorenia. Pozrite sa na nasledujúci príkaz:
ALTER TABLE personal_info PRIDAŤ platové peniaze null;
Tento príklad pridáva do tabuľky personal_info nový atribút - plat zamestnanca. The peniaze Argument určuje, že mzda zamestnanca sa ukladá vo formáte dolárov a centov. Nakoniec nulový kľúčové slovo povie databáze, že je v poriadku, aby toto pole neobsahovalo žiadnu hodnotu pre daného zamestnanca.
Pokles
Posledný príkaz v jazyku definície údajov, pokles, odstráni celé databázové objekty z nášho systému DBMS. Napríklad na trvalé odstránenie tabuľky personal_info, ktorú sme vytvorili, použite nasledujúci príkaz:
DROP TABUĽKA personal_info;
Podobne by sa nasledujúci príkaz použil na odstránenie celej databázy zamestnancov:
Zamestnanci DROP DATABASE;
Tento príkaz používajte opatrne. The pokles príkaz odstráni celé dátové štruktúry z vašej databázy. Ak chcete odstrániť jednotlivé záznamy, použite vymazať ovládanie jazyka manipulácie s údajmi.
Príkazy jazyka pre manipuláciu s údajmi
Jazyk manipulácie s údajmi sa používa na získanie, vloženie a úpravu informácií o databáze. Tieto príkazy DML ponúkajú typický rámec pre rutinnú interakciu s databázou.
Vložte
The vložiť príkaz pridá záznamy do existujúcej tabuľky. Keď sa vrátime k príkladu personal_info z predchádzajúcej časti, predstavte si, že naše personálne oddelenie musí do svojej databázy pridať nového zamestnanca. Použite príkaz podobný tomuto:
VLOŽTE DO personal_info
hodnoty ('bart', 'simpson', 12345, 45000 dolárov);
Upozorňujeme, že pre záznam sú určené štyri hodnoty. Zodpovedajú atribútom tabuľky v poradí, v akom boli definované: krstné meno, priezvisko, zamestnanecké ID a plat.
Vyberte
The vyberte command je najbežnejšie používaný príkaz v SQL. Získava konkrétne informácie z prevádzkovej databázy. Zoznámte sa s niekoľkými príkladmi a znova použite tabuľku personal_info z databázy zamestnancov.
Príkaz zobrazený nižšie získa všetky informácie obsiahnuté v tabuľke personal_info. Hviezdička je v SQL zástupný znak.
VYBERTE *
FROM personal_info;
Prípadne obmedzte atribúty, ktoré sa získavajú z databázy, zadaním čo sa vyberie. Napríklad oddelenie ľudských zdrojov môže vyžadovať zoznam priezvisk všetkých zamestnancov spoločnosti. Nasledujúci príkaz SQL by získal iba tieto informácie:
VYBERTE priezvisko
FROM personal_info;
The kde doložka obmedzuje záznamy, ktoré sa získavajú, na záznamy, ktoré spĺňajú určené kritériá. Generálneho riaditeľa by mohlo zaujímať preskúmanie personálnych záznamov všetkých vysoko platených zamestnancov. Nasledujúci príkaz načíta všetky údaje obsiahnuté v personal_info pre záznamy, ktoré majú platovú hodnotu vyššiu ako 50 000 dolárov:
VYBERTE *
FROM personal_info
KDE plat> 50 000 dolárov;
Aktualizácia
The aktualizovať príkaz upraví informácie obsiahnuté v tabuľke, hromadne alebo jednotlivo. Predpokladajme, že spoločnosť všetkým zamestnancom ročne zvýši ich plat o 3%. Nasledujúci príkaz SQL aplikuje tento náraz na všetkých zamestnancov uložených v databáze:
AKTUALIZÁCIA personal_info
NASTAVENÝ plat = plat * 1,03;
Keď nový zamestnanec Bart Simpson preukáže výkon nad rámec povinností, vedenie si želá oceniť jeho hviezdne úspechy zvýšením o 5 000 dolárov. Klauzula WHERE vyčleňuje Barta z tohto zvýšenia:
AKTUALIZÁCIA personal_info
NASTAVENÝ plat = plat + 5 000
KDE zamestnanec_id = 12345;
Odstrániť
Na záver sa pozrime na vymazať príkaz. Zistíte, že syntax tohto príkazu je podobná ako v prípade ostatných príkazov DML. Príkaz DELETE s a kde doložka, odstráni záznam z tabuľky:
ODSTRÁNIŤ Z personal_info
KDE zamestnanec_id = 12345;
DML podporuje aj agregované polia. V vyberte výrok, matematické operátory ako súčet a počítať sumarizovať údaje v rámci dotazu. Napríklad dopyt:
vyberte počet (*) z personal_info;
spočíta počet záznamov v tabuľke.
Pripojenie k databáze
A pripojiť sa príkaz kombinuje údaje v niekoľkých tabuľkách na efektívne spracovanie veľkého množstva údajov. Tieto vyhlásenia obsahujú skutočnú moc databázy.
Preskúmať použitie zákl pripojiť sa operácia na kombinovanie údajov z dvoch tabuliek, pokračujte príkladom pomocou tabuľky personal_info a do mixu pridajte ďalšiu tabuľku. Predpokladajme, že máte tabuľku s názvom disciplinárna_akcia ktorý bol vytvorený pomocou nasledujúceho príkazu:
CREATE TABLE disciplinary_action (action_id int nie je null, employee_id int nie je null, komentáre char (500));
Táto tabuľka obsahuje výsledky disciplinárnych opatrení voči zamestnancom spoločnosti. Neobsahuje žiadne ďalšie informácie o zamestnancovi okrem jeho čísla.
Predpokladajme, že ste dostali za úlohu vytvoriť správu, ktorá obsahuje zoznam disciplinárnych opatrení podniknutých proti všetkým zamestnancom s platom vyšším ako 40 000 dolárov. Použitie operácie JOIN je v tomto prípade priame. Tieto informácie získate pomocou nasledujúceho príkazu:
VYBERTE osobné_info.prvá_názov, osobné_info.posledné meno, disciplinárne_akcie.comments
FROM personal_info VNÚTORNÉ PRIPOJENIE disciplinárna_akcia ZAPNUTÁ personal_info.employee_id = disciplinárna_akcia.employee_id
KDE osobné_info.platy> 40000;
Typy pripojení
Spojenia majú niekoľko príchutí. V príkaze SQL je prvá tabuľka (zvyčajne sa volá Tabuľka A alebo Ľavý stôl) sa pripája k druhému stolu (zvyčajne sa volá Tabuľka B alebo Pravý stôl) spôsobom poznávajúcim polohu. Ak teda zmeníte poradie tabuliek vo výkaze join, výsledky operácie sa budú líšiť. Medzi hlavné typy spojení patria:
- Vnútorné pripojenie: Porovná iba záznamy, kde na stav sa zhoduje s rovnakými záznamami v oboch tabuľkách.
- Vonkajší spoj: Zhoduje sa iba so záznamami z oboch tabuliek vylúčiť výsledky identifikované v na stav.
- Správne sa pripojte: Zhoda všetkých záznamov z tabuľky B plus záznamov z tabuľky A, ktoré sa zhodujú s na stav.
- Vľavo Pripojiť sa: Zhoda všetkých záznamov z tabuľky A plus záznamov z tabuľky B, ktoré sa zhodujú s na stav.
- Krížový spoj: Zhoduje všetky záznamy, akoby boli tabuľky identické. Tento proces generuje niečo, čo sa volá kartézsky výrobok. Krížové spojenia sú často nevítané, pretože sa zhodujú s každým riadkom tabuľky B, individuálne, s každým riadkom tabuľky B. Ak teda tabuľka A ponúkla päť záznamov a tabuľka B 9 záznamov, krížový dotaz ponúka 45 výsledných riadkov.