Získajte viac informácií o DDL, DML a JOINs
Štruktúrovaný jazyk dopytov je jedným zo základných stavebných kameňov 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 jazyk môže zdajú byť zastrašujúce a zložité, ale nie je to tak ťažké.
Tento úvod do základov SQL sa podrobne zaoberá niektorými hlavnými príkazmi, ktoré sa používajú na vytváranie a úpravu databáz.
Informácie o SQL
Správna výslovnosť jazyka SQL je sporná otázka v komunite databázy. V štandarde SQL American National Standards Institute vyhlásil, že oficiálna výslovnosť je "es queue el." Avšak, mnoho profesionálov databázy prijal slang výslovnosť "pokračovanie." Výber je na tebe.
SQL prichádza v mnohých príchutiach. Databázy Oracle používajú svoj vlastný PL / SQL. Microsoft SQL Server využíva Transact-SQL. Všetky varianty sú založené na priemyselnom štandarde ANSI SQL. Tento úvod používa príkazy SQL kompatibilné s ANSI, ktoré fungujú na ľubovoľnom modernom relačnom databázovom systéme.
DDL a DML
Príkazy SQL možno rozdeliť na dva hlavné sub-jazyky. Jazyk definovania údajov (DDL) obsahuje príkazy používané na vytváranie a zničenie databáz a objektov databázy. Po definovaní štruktúry databázy pomocou DDL môžu správcovia databázy a používatelia používať jazyk na manipuláciu s údajmi (DML) na vloženie, načítanie a úpravu údajov, ktoré sú v ňom obsiahnuté.
Príkazy jazyka pre definíciu dát
Jazyk definovania údajov sa používa na vytváranie a zničenie databáz a objektov databázy. Tieto príkazy používajú primárne administrátori databázy počas fázy inštalácie a odstraňovania databázového projektu. Tu je pohľad na štruktúru a použitie štyroch základných príkazov DDL:
CREATE. Inštalácia systému na správu databáz na počítači vám umožňuje vytvárať a spravovať mnoho nezávislých databáz. Môžete napríklad chcieť udržiavať databázu zákazníckych kontaktov pre vaše obchodné oddelenie a personálnu databázu pre personálne oddelenie. Príkaz CREATE sa používa na vytvorenie každej z týchto databáz na vašej platforme. Napríklad príkaz:
vytvára vo vašom DBMS prázdnu databázu s názvom "zamestnanci". Po vytvorení databázy je ďalším krokom vytvorenie tabuliek obsahujúcich dáta. Pre tento účel možno použiť iný variant príkazu CREATE. Príkaz:
CREATE TABLE osobné_info (first_name char (20) nie null, last_name char (20) nie null, employee_id int nie je null)vytvorí tabuľku s názvom "osobné_info" v aktuálnej databáze. V príklade tabuľka obsahuje tri atribúty: first_name, last_name a employee_id spolu s niektorými ďalšími informáciami.
USE. Príkaz USE umožňuje určiť databázu, s ktorou chcete pracovať vo vašom DBMS. Napríklad, ak práve pracujete v databáze predaja a chcete vydať niektoré príkazy, ktoré ovplyvnia databázu zamestnancov, predpovejte ich nasledujúcim príkazom SQL:
USE zamestnancovJe dôležité vždy mať vedomie databázy, v ktorej pracujete, pred vydaním príkazov SQL, ktoré manipulujú s údajmi.
ALTER. Keď vytvoríte tabuľku v databáze, možno budete chcieť zmeniť jej definíciu. Príkaz ALTER umožňuje vykonať zmeny štruktúry tabuľky bez jej odstránenia a obnovenia. Pozrite sa na nasledujúci príkaz:
ALTER TABLE osobné_info ADD mzdové peniaze nullTento príklad pridá nový atribút do tabuľky personal_info - plat zamestnanca. Argument "peniaze" špecifikuje, že plat zamestnanca je uložený vo formáte dolárov a centov. Kľúčové slovo "null" nakoniec informuje databázu o tom, že toto pole nemôže obsahovať žiadnu hodnotu pre daného zamestnanca.
POKLES. Posledný príkaz jazyka DROP (Data Definition Language) nám umožňuje odstrániť celé databázové objekty z nášho DBMS. Ak napríklad chceme natrvalo odstrániť tabuľku osobného_info, ktorú sme vytvorili, použijeme nasledujúci príkaz:
DROP TABLE osobné_infoPodobne by bol príkaz uvedený nižšie použitý na odstránenie celej databázy zamestnancov:
Zamestnanci DROP DATABASETento príkaz používajte opatrne. Príkaz DROP odstráni celé databázové štruktúry z vašej databázy. Ak chcete odstrániť jednotlivé záznamy, použite príkaz DELETE jazyka Data Manipulation.
Príkazy na manipuláciu s údajmi
Jazyk na manipuláciu s údajmi (DML) slúži na vyhľadávanie, vkladanie a úpravu databázových informácií. Tieto príkazy používajú všetci používatelia databázy počas rutinnej prevádzky databázy.
INSERT. Príkaz INSERT v SQL sa používa na pridanie záznamov do existujúcej tabuľky. Vráťte sa do príkladu osobnej informácie z predchádzajúcej časti, predstavte si, že naše oddelenie ľudských zdrojov musí pridať nového zamestnanca do svojej databázy. Môžete použiť príkaz podobný tomuto:
Upozorňujeme, že pre záznam sú špecifikované štyri hodnoty. Tieto zodpovedajú atribútom tabuľky v poradí, v akom boli definované: first_name, last_name, employee_id a pay.
SELECT. Príkaz SELECT je najčastejšie používaný príkaz v SQL. Umožňuje používateľom databázy získavať konkrétne informácie, ktoré požadujú, z operačnej databázy. Pozrite sa na niekoľko príkladov, znova pomocou tabuľky personal_info z databázy zamestnancov.
Nižšie uvedený príkaz načíta všetky informácie obsiahnuté v tabuľke personal_info. Všimnite si, že hviezdička sa používa ako zástupný znak v SQL. To doslova znamená "Vybrať všetko z tabuľky personal_info".
Alternatívne môžu užívatelia chcieť obmedziť atribúty, ktoré sú získané z databázy. Oddelenie ľudských zdrojov napríklad môže požadovať zoznam posledných mien všetkých zamestnancov spoločnosti. Nasledujúci príkaz SQL vyberie iba tieto informácie:
SELECT last_name z osobného_infoKlauzula WHERE sa môže použiť na obmedzenie záznamov, ktoré sú získané na záznamy, ktoré spĺňajú špecifikované kritériá. Generálny riaditeľ by mohol mať záujem o preskúmanie personálnych záznamov všetkých vysoko platených zamestnancov. Nasledujúci príkaz načíta všetky údaje obsiahnuté v osobnom informačnom súbore pre záznamy, ktoré majú platovú hodnotu vyššiu ako 50 000 USD:
SELECT * FROM personal_info WHERE plat> 50000 dolárovUPDATE. Príkaz UPDATE sa môže použiť na modifikáciu informácií obsiahnutých v tabuľke, a to hromadne alebo individuálne. Predpokladajme, že spoločnosť dáva všetkým zamestnancom 3-percentné zvýšenie ich životných nákladov každoročne. Nasledujúci príkaz SQL by sa mohol použiť na rýchle uplatnenie tohto pravidla pre všetkých zamestnancov uložených v databáze:
UPDATE osobné_info SET plat = plat * 1.03Keď nový zamestnanec Bart Simpson preukáže výkon nad rámec povinností, vedenie si želá uznať jeho hviezdne úspechy s nárastom o 5 000 dolárov. Klauzula WHERE by sa dala použiť na vyradenie Bartu z tohto zvýšenia:
UPDATE osobné_info SET plat = plat + $ 5000 WHERE employee_id = 12345DELETE. Nakoniec sa pozrime na príkaz DELETE. Zistíte, že syntax tohto príkazu je podobný ako v ostatných príkazoch DML. Bohužiaľ, najnovšie správy o firemných zárobkoch nepriniesli docela očakávania a chudák Bart bol prepustený. Príkaz DELETE s klauzulou WHERE možno použiť na odstránenie jeho záznamu z tabuľky personal_info:
Odstrániť z osobného_info WHERE employee_id = 12345spojí
Teraz, keď ste sa naučili základy SQL, je čas prejsť na jeden z najsilnejších konceptov, ktorý jazyk ponúka - vyhlásenie JOIN. Príkaz JOIN umožňuje kombinovať údaje vo viacerých tabuľkách a efektívne spracovávať veľké množstvá údajov. Tieto vyhlásenia sa týkajú skutočnej sily databázy.
Ak chcete skúmať použitie základnej operácie JOIN na kombináciu údajov z dvoch tabuliek, pokračujte príkladom pomocou tabuľky PERSONAL_INFO a pridajte do tabuľky ďalšiu tabuľku. Predpokladajme, že máte tabuľku s názvom DISCIPLINARY_ACTION, ktorá bola vytvorená s nasledujúcim vyhlásením:
Táto tabuľka obsahuje výsledky disciplinárnych opatrení voči zamestnancom spoločnosti. Všimnite si, že neobsahuje žiadne informácie o zamestnancov okrem čísla zamestnanca. Je ľahké si predstaviť veľa scenárov, kde by ste mohli kombinovať informácie z tabuliek DISCIPLINARY_ACTION a PERSONAL_INFO.
Predpokladajme, že ste boli poverení vytvorením správy, v ktorej sú uvedené disciplinárne opatrenia voči všetkým zamestnancom s platom vyšším ako 40 000 USD. Použitie operácie JOIN je v tomto prípade jednoduché. Tieto informácie môžeme získať pomocou nasledujúceho príkazu:
Kód špecifikuje dve tabuľky, ktoré chceme pripojiť v klauzule FROM a potom obsahuje vyhlásenie v klauzule WHERE na obmedzenie výsledkov na záznamy, ktoré mali zodpovedajúce ID zamestnancov a splnili naše kritériá platu vyššej ako 40 000 USD.