A strukturált lekérdezési nyelv (SQL) a modern adatbázis-architektúra egyik alapvető építőköve. Az SQL meghatározza a relációs adatbázisok létrehozásának és kezelésének módszereit az összes főbb platformon. Első pillantásra a nyelv félelmetesnek és összetettnek tűnhet, de ez nem is olyan nehéz.
Az SQL-ről
Az SQL helyes kiejtése vitatott kérdés az adatbázis-közösségen belül. Az American National Standards Institute az SQL szabványában kijelentette, hogy a hivatalos kiejtés "es queue" el. "Az adatbázis sok szakembere azonban a szleng" folytatás "kiejtésébe kezdett. Hasonlóan a kiejtéshez nak,-nek GIF, nincs helyes válasz.
Az SQL sokféle ízben kapható. Az Oracle adatbázisai a saját PL / SQL-jét használják. A Microsoft SQL Server a Transact-SQL-t használja. Az összes variáció az iparági ANSI SQL-en alapul.
Ez a bevezetés ANSI-kompatibilis SQL parancsokat használ, amelyek bármely modern relációs adatbázis-rendszeren működnek.
DDL és DML
Az SQL parancsok két fő alnyelvre oszthatók. Az Adatmeghatározási nyelv az adatbázisok és adatbázis-objektumok létrehozásához és megsemmisítéséhez használt parancsokat tartalmazza. Miután az adatbázis-struktúrát meghatározták a DDL-lel, az adatbázis-adminisztrátorok és a felhasználók az adatkezelési nyelv segítségével beilleszthetik, visszakereshetik és módosíthatják a benne lévő adatokat.
Az SQL támogatja az úgynevezett szintaxis harmadik típusát Adatkezelési nyelv. A DCL szabályozza az adatbázis objektumainak biztonsági hozzáférését. Például a DCL szkript bizonyos felhasználói fiókoknak megadja vagy visszavonja a jogot az adatbázis egy vagy több meghatározott területén lévő táblákba történő olvasásra vagy írásra. A legtöbb felügyelt többfelhasználós környezetben az adatbázis-rendszergazdák általában DCL-parancsfájlokat hajtanak végre.
Adatmeghatározási nyelvparancsok
A Data Definition Language adatbázisok és adatbázis-objektumok létrehozására és megsemmisítésére szolgál. Ezeket a parancsokat elsősorban az adatbázis-rendszergazdák használják az adatbázis-projekt telepítési és eltávolítási szakaszaiban. A DDL négy elsődleges parancs körül forog -teremt, használat, változtat, és csepp.
Teremt
A teremt parancs adatbázisokat, táblázatokat vagy lekérdezéseket hoz létre a platformon. Például a következő parancs:
CREATE DATABASE alkalmazottak;
nevű üres adatbázist hoz létre alkalmazottak a DBMS-en. Az adatbázis létrehozása után a következő lépés az adatokat tartalmazó táblázatok létrehozása. A. Másik változata teremt parancs teljesíti ezt a célt. A parancs:
CREATE TABLE personal_info (first_name char (20) not null, last_name char (20) not null, worker_id int not null);
címmel táblázatot állít fel személyes adatok az aktuális adatbázisban. A példában a táblázat három attribútumot tartalmaz: keresztnév, vezetéknév, és munkavállalói azonosító néhány további információval együtt.
Használat
A használat parancs adja meg az aktív adatbázist. Például, ha éppen az értékesítési adatbázisban dolgozik, és néhány olyan parancsot szeretne kiadni, amely hatással lesz az alkalmazói adatbázisra, akkor a következő SQL paranccsal kell előtte állnia:
USE alkalmazottak;
Ellenőrizze még egyszer az adatbázist, amelyben dolgozik, mielőtt SQL-parancsokat adna ki, amelyek manipulálják az adatokat.
Változtat
Miután létrehozott egy táblázatot az adatbázisban, módosítsa annak definícióját az változtat parancs, amely törlés és újraalkotás nélkül megváltozik a tábla felépítésén. Vessen egy pillantást a következő parancsra:
ALTER TÁBLÁZAT personal_info ADD fizetési pénz null;
Ez a példa új attribútumot ad hozzá a personal_info táblához - egy alkalmazott fizetéséhez. A pénz argumentum megadja, hogy az alkalmazott fizetése dollár és cent formátumban tárolódik. Végül a nulla kulcsszó azt mondja az adatbázisnak, hogy rendben van, ha ez a mező egyetlen alkalmazott számára sem tartalmaz értéket.
Csepp
Az Data Definition Language utolsó parancsa, csepp, teljes adatbázis-objektumokat távolít el a DBMS-ből. Például az általunk létrehozott personal_info tábla végleges eltávolításához használja a következő parancsot:
DROP TABLE personal_info;
Hasonlóképpen, az alábbi parancsot a teljes alkalmazói adatbázis eltávolítására használnák:
DROP DATABASE alkalmazottak;
Óvatosan használja ezt a parancsot. A csepp a parancs teljes adatstruktúrákat távolít el az adatbázisból. Ha el akarja távolítani az egyes rekordokat, használja a töröl az adatkezelési nyelv parancsát.
Adatmanipulációs nyelvparancsok
Az adatkezelési nyelv az adatbázis-információk lekérésére, beszúrására és módosítására szolgál. Ezek a DML parancsok az adatbázis rutinszerű interakciójának tipikus kereteit kínálják.
Helyezze be
A betét parancs hozzáad egy rekordot egy meglévő táblához. Visszatérve az előző szakasz personal_info példájára, képzelje el, hogy HR osztályunknak új alkalmazottat kell hozzáadnia az adatbázisához. Használjon ehhez hasonló parancsot:
INSERT INTO personal_info
értékek ('bart', 'simpson', 12345, 45000 USD);
Vegye figyelembe, hogy négy rekord van megadva a rekordhoz. Ezek megfelelnek a táblázat attribútumainak a megadott sorrendben: keresztnév, vezetéknév, munkavállalói azonosító és fizetés.
Válassza a lehetőséget
A válassza parancs az SQL-ben a leggyakrabban használt parancs. Meghatározott információkat szerez be egy operatív adatbázisból. Vessen egy pillantást néhány példára, ismét felhasználva a munkavállalói adatbázis personal_info tábláját.
Az alább látható parancs lekérdezi a personal_info táblában található összes információt. A csillag egy helyettesítő karakter az SQL-ben.
SELECT *
FROM personal_info;
Alternatív megoldásként korlátozhatja az adatbázisból beolvasott attribútumokat megadásával mit kiválasztják. Például az Emberi Erőforrások osztályának meg kell követelnie a vállalat összes alkalmazottjának vezetéknevét. A következő SQL parancs csak ezeket az információkat szerzi be:
SELECT last_name
FROM personal_info;
A hol záradék korlátozza a beolvasott rekordokat azokra, amelyek megfelelnek a megadott feltételeknek. A vezérigazgató érdekelheti az összes magasan fizetett alkalmazott személyi nyilvántartását. A következő parancs lekéri a personal_info összes adatait olyan rekordok számára, amelyek fizetési értéke meghaladja az 50 000 dollárt:
SELECT *
A personal_info-tól
HOL fizetés> 50000 USD;
Frissítés
A frissítés A parancs módosítja a táblázatban található információkat, tömegesen vagy külön-külön. Tegyük fel, hogy a vállalat minden alkalmazottnak évente 3 százalékos megélhetési költségnövekedést ad a fizetésében. A következő SQL parancs ezt a bump alkalmazást alkalmazza az adatbázisban tárolt összes alkalmazottra:
UPDATE personal_info
SET fizetés = fizetés * 1,03;
Amikor az új alkalmazott, Bart Simpson a kötelességén túlmutató teljesítményt mutat be, a vezetés 5000 dolláros emeléssel szeretné elismerni csillagbeli teljesítményét. A WHERE záradék Bart-t emeli ki erre az emelésre:
UPDATE personal_info
SET fizetés = fizetés + 5000
WHERE alkalmazott_azonosító = 12345;
Töröl
Végül vessünk egy pillantást a töröl parancs. Meg fogja találni, hogy ennek a parancsnak a szintaxisa hasonló a többi DML parancs szintaxisához. A DELETE parancs a hol záradék, távolítson el egy rekordot a táblából:
TÖRLÉS A personal_info-ból
WHERE alkalmazott_azonosító = 12345;
A DML az összesített mezőket is támogatja. A válassza utasítás, matematikai operátorok, mint összeg és számol összesítse az adatokat egy lekérdezésen belül. Például a lekérdezés:
válassza a count (*) -ot a personal_info-ból;
megszámolja a táblázatban szereplő rekordok számát.
Adatbázis csatlakozik
A csatlakozik utasítás egyesíti az adatokat több táblázatban a nagy mennyiségű adat hatékony feldolgozása érdekében. Ezekben a kijelentésekben rejlik az adatbázis valódi ereje.
Az alap használatának feltárása csatlakozik művelet két táblázat adatainak egyesítéséhez, folytassa a példával a personal_info tábla használatával, és adjon hozzá egy további táblázatot a keverékhez. Tegyük fel, hogy van egy neve fegyelmi eljárás amely a következő állítással jött létre:
CREATE TABLE fegyelmi megosztás (action_id int nem null, worker_id int nem null, comments char (500));
Ez a táblázat a vállalati alkalmazottakra vonatkozó fegyelmi intézkedések eredményeit tartalmazza. A munkavállaló számán kívül nem tartalmaz semmilyen információt a munkavállalóról.
Tegyük fel, hogy feladata volt egy jelentés készítése, amely felsorolja a 40 000 dollárt meghaladó fizetéssel rendelkező valamennyi alkalmazottal szembeni fegyelmi intézkedéseket. A JOIN művelet használata ebben az esetben egyszerű. Szerezze be ezeket az információkat a következő paranccsal:
Válassza ki a personal_info.first_name, personal_info.last_name, disciplinary_action.comments elemeket
FROM personal_info BELSŐ CSATLAKOZÁS fegyelmi bevitel ON personal_info.employee_id = disciplinary_action.employee_id
WHERE personal_info.salary> 40000;
A csatlakozások típusai
A csatlakozások többféle ízben kaphatók. Az SQL utasításban az első tábla (általában A. táblázat vagy a Bal asztal) csatlakozik a második táblához (általában hívják B. táblázat vagy a Jobb asztal) pozíciótudatos módon. Így, ha megváltoztatja a táblák sorrendjét a join utasításban, akkor a művelet eredményei eltérnek. A főbb csatlakozási típusok a következők:
- Belső összekapcsolás: Csak azoknak a rekordoknak felel meg, ahol a tovább feltétel ugyanazoknak a rekordoknak felel meg mindkét táblázatban.
- Külső csatlakozás: Csak a két tábla rekordjaival egyezik kizárni a programban azonosított eredmények tovább feltétel.
- Jobb csatlakozás: Megegyezik a B táblázat összes rekordjával, valamint az A. táblázat rekordjaival, amelyek megfelelnek a tovább feltétel.
- Balra csatlakozott: Megegyezik az A táblázat összes rekordjával, valamint a B táblázat rekordjaival, amelyek megfelelnek a tovább feltétel.
- Keresztcsatlakozás: Minden rekordot megegyezik, mintha a táblák azonosak lennének. Ez a folyamat úgynevezett nevet generál derékszögű termék. Gyakran a keresztösszekötések nem kívánatosak, mert egyenként illeszkednek az A táblázat minden sorához, a B táblázat minden sorához. Tehát, ha az A tábla öt rekordot, a B tábla pedig 9 rekordot ajánlott, akkor a keresztkötéses lekérdezés 45 kapott sort kínál.