Bevezetés az SQL alapokba

click fraud protection

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.

instagram viewer

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

Csatlakozási típusok az SQL-ben

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.
instagram story viewer