SQL grundvallaratriði

Lærðu um DDL, DML og JOINs

The Structured Query Language er einn af grundvallarbyggingarstuðlum nútíma gagnasafn arkitektúr. SQL skilgreinir aðferðirnar sem notaðar eru til að búa til og vinna með gagnrýni gagnagrunna á öllum helstu kerfum. Við fyrstu sýn kann tungumálið að virðast ógnvekjandi og flókið, en það er ekki allt svo erfitt.

Þessi kynning á grundvallaratriðum á bak við SQL tekur stutta líta á nokkrar helstu skipanir sem notaðar eru til að búa til og breyta gagnagrunni.

Um SQL

Rétt framburður SQL er umdeild mál í gagnasamfélaginu. Í SQL staðlinum lýsti American National Standards Institute að opinbera framburðurinn er "ES Queue El." Hins vegar hafa margir sérfræðingar í gagnagrunni tekið á slang framburðinn "framhald." Valið er þitt.

SQL kemur í mörgum bragði. Oracle gagnagrunna nota sér PL / SQL. Microsoft SQL Server notar Transact-SQL. Allar afbrigði eru byggðar á iðnaðarstaðal ANSI SQL. Þessi kynning notar ANSI-samhæft SQL skipanir sem vinna á öllum nútíma Venslagagnagrunnskerfi.

DDL og DML

SQL skipanir geta verið skipt í tvö helstu undir-tungumál. The Data Definition Language (DDL) inniheldur skipanir sem notaðar eru til að búa til og eyða gagnagrunni og gagnagrunni hlutum. Eftir að uppbygging gagnagrunnsins er skilgreind með DDL, geta gagnagrunnsstjórarnir og notendur notið DML (Data Manipulation Language) til að setja inn, sækja og breyta gögnum sem eru í henni.

Gögn Skilgreining Tungumál skipanir

Gögn skilgreiningar tungumál er notað til að búa til og eyða gagnagrunni og gagnagrunni hlutum. Þessar skipanir eru fyrst og fremst notaðar af stjórnendum gagnagrunns meðan á skipulagi og flutningi stendur í gagnagrunni. Hér er fjallað um uppbyggingu og notkun fjórum undirstöðu DDL skipana:

Búðu til. Að setja upp gagnastjórnunarkerfi á tölvu gerir þér kleift að búa til og stjórna mörgum sjálfstæðum gagnagrunni. Til dæmis gætir þú viljað halda gagnagrunni um tengiliði viðskiptavina fyrir söludeildina þína og starfsfólks gagnagrunn fyrir HR deildina þína. SKAPA skipunin er notuð til að stofna hvert af þessum gagnagrunni á vettvangi þínu. Til dæmis, stjórn:

Búðu til starfsmenn DATABASE

býr til tómt gagnasafn sem heitir "starfsmenn" á DBMS þínum. Eftir að búa til gagnagrunninn er næsta skref að búa til töflur sem innihalda gögn. Annar afbrigði af CREATE stjórninni er hægt að nota í þessu skyni. Stjórnin:

CREATE TABLE personal_info (first_name char (20) ekki núll, síðasta nafnið bleikju (20) ekki núll, starfsmaður_id int ekki núll)

setur borð sem heitir "personal_info" í núverandi gagnagrunni. Í dæminu inniheldur töflunni þrjá eiginleika: fornafn, síðasta nafn og starfsmaður_id ásamt viðbótarupplýsingum.

NOTKUN. USE stjórnin gerir þér kleift að tilgreina gagnagrunninn sem þú vilt vinna með innan DBMS. Til dæmis, ef þú ert núna að vinna í sölu gagnagrunni og vill gefa út nokkrar skipanir sem munu hafa áhrif á starfsmannagrunninn, forsýningu þá með eftirfarandi SQL skipun:

NOTA starfsmenn

Það er mikilvægt að alltaf vera meðvitaður um gagnagrunninn sem þú ert að vinna í áður en þú gefur út SQL skipanir sem vinna úr gögnum.

BREYTA. Þegar þú hefur búið til borð í gagnagrunni gætirðu viljað breyta skilgreiningunni. ALTER stjórnin gerir þér kleift að breyta uppbyggingu borðar án þess að eyða og endurskapa hana. Kíktu á eftirfarandi skipun:

ALTER TABLE personal_info ADD laun peninga null

Þetta dæmi bætir við nýjum eiginleiki í persónuupplýsingatöflunni - laun starfsmanns. The "peninga" rök tilgreinir að laun starfsmanns er geymt með því að nota dollara og sent snið. Að lokum segir "null" leitarorðið gagnagrunninn að það sé í lagi að þessi reitur innihaldi engin gildi fyrir tiltekinn starfsmann.

DROPI. Endanleg stjórn á Data Definition Language, DROP, gerir okkur kleift að fjarlægja allt gagnasafnsmyndir úr DBMS okkar. Til dæmis, ef við viljum fjarlægja persónulega töfluna persónulega sem við búum til, munum við nota eftirfarandi skipun:

DROP TABLE personal_info

Á sama hátt myndi stjórnin fyrir neðan vera notuð til að fjarlægja alla starfsmannagagnagrunninn:

DROP DATABASE starfsmenn

Notaðu þessa stjórn með varúð. DROP skipunin fjarlægir alla gagnasöfnanir úr gagnagrunninum. Ef þú vilt fjarlægja einstaka skrár skaltu nota DELETE stjórnin á gagnavinnslu tungumáli.

Gögn Handtaka Tungumál skipanir

The Data Manipulation Language (DML) er notað til að sækja, setja inn og breyta gagnagrunni upplýsingar. Þessar skipanir eru notaðar af öllum gagnagrunni notendum meðan reglubundin rekstur gagnagrunnsins stendur.

INSERT. INSERT skipunin í SQL er notuð til að bæta við færslum í núverandi töflu. Fara aftur á persónulega upplýsingar frá fyrri hluta, ímyndaðu þér að HR deild okkar þurfi að bæta við nýjum starfsmanni í gagnagrunninn. Þú getur notað stjórn sem líkist þessu:

Innfærðu í persónulegar upplýsingar gildi ('bart', 'simpson', 12345, $ 45000)

Athugaðu að fjórir gildi eru tilgreindar fyrir skrána. Þetta samsvarar borði eiginleiki í þeirri röð sem þeir voru skilgreindir: First_name, Last_name, employee_id og laun.

VELJA. SELECT stjórnin er algengasta skipunin í SQL. Það gerir notendum gagnagrunns kleift að sækja sérstakar upplýsingar sem þeir óska ​​eftir í rekstrar gagnagrunni. Kíktu á nokkur dæmi, aftur með því að nota persónulega_info töfluna úr gagnagrunni starfsmannsins.

Stjórnin sem sýnd er hér að neðan sækir allar upplýsingar sem eru að finna í persónuupplýsingatöflunni. Athugaðu að stjörnurnar eru notaðir sem villt nafnspjald í SQL. Þetta þýðir bókstaflega "Velja allt úr personal_info töflunni."

SELECT * FROM personal_info

Að öðrum kosti gætu notendur viljað takmarka eiginleika sem eru sóttar úr gagnagrunninum. Til dæmis getur starfsmannasviðið krafist lista yfir síðustu nöfn allra starfsmanna í félaginu. Eftirfarandi SQL skipun myndi sækja aðeins þessar upplýsingar:

SELECT last_name FROM personal_info

WHERE-ákvæðið er hægt að nota til að takmarka skrár sem eru sóttar til þeirra sem uppfylla tilgreind skilyrði. Forstjóri gæti haft áhuga á að endurskoða starfsskýrslur allra mjög launaðra starfsmanna. Eftirfarandi skipun sækir öll gögnin sem eru að finna í personal_info fyrir færslur sem hafa launagildi hærri en $ 50.000:

SELECT * FROM personal_info HVAR laun> $ 50000

UPDATE. UPDATE stjórnin er hægt að nota til að breyta upplýsingum sem eru í töflu, annaðhvort í einu eða einu sinni. Gerum ráð fyrir að félagið muni gefa öllum starfsmönnum 3 prósent kostnaðarlausu aukningu á launum sínum árlega. Eftirfarandi SQL skipun gæti verið notuð til að fljótt beita þessu til allra starfsmanna sem eru geymdar í gagnagrunninum:

UPDATE personal_info SET laun = laun * 1,03

Þegar nýr starfsmaður Bart Simpson sýnir frammistöðu umfram skyldur sínar, vill stjórnendur viðurkenna að hann hafi náð hámarki með $ 5.000 hækkun. WHERE-ákvæðið gæti verið notað til að útskýra Bart fyrir þessa hækkun:

UPDATE personal_info SET laun = laun + $ 5000 WHERE employee_id = 12345

EYÐA. Loks skulum við líta á DELETE stjórnina. Þú munt komast að því að setningafræði þessa stjórnunar er svipuð og önnur DML skipanirnar. Því miður, okkar nýjasta sameiginlega tekjutilkynning uppfyllir ekki alveg væntingar og léleg Bart hefur verið lagður af stað. Skipta um DELETE skipunina með WHERE-ákvæðum er hægt að nota til að fjarlægja upptökuna sína úr personal_info töflunni:

FJÁRFESTA FROM personal_info HVAR employee_id = 12345

JOINs

Nú þegar þú hefur lært grunnatriði SQL, er kominn tími til að fara á einn af öflugustu hugtökum sem tungumálið hefur að bjóða - JOIN yfirlýsinguna. A JOIN yfirlýsingu gerir þér kleift að sameina gögn í mörgum borðum til að meðhöndla mikið magn af gögnum á skilvirkan hátt. Þessar fullyrðingar eru þar sem sannur kraftur gagnagrunns er búsettur.

Til að kanna notkun grunn aðgerða til að sameina gögn úr tveimur töflum skaltu halda áfram með dæmiið með PERSONAL_INFO töflunni og bæta við viðbótarborði við blönduna. Gerum ráð fyrir að þú hafir borð sem heitir DISCIPLINARY_ACTION sem var búið til með eftirfarandi yfirlýsingu:

CREATE TABLE disciplinary_action (action_id int ekki núll, worker_id int ekki null, athugasemdir char (500))

Þessi tafla inniheldur niðurstöður rannsóknaraðgerða á starfsmönnum fyrirtækisins. Þú munt taka eftir því að það inniheldur engar upplýsingar um starfsmanninn annan en starfsmannanúmerið. Það er auðvelt að ímynda sér margar aðstæður þar sem þú gætir viljað sameina upplýsingar úr DISCIPLINARY_ACTION og PERSONAL_INFO töflunum.

Gerum ráð fyrir að þú hafir verið falið að búa til skýrslu sem sýnir lögfræðilegar aðgerðir sem gerðar eru gegn öllum starfsmönnum með laun hærri en 40.000 $. Notkun JOIN aðgerð, í þessu tilviki, er einfalt. Við getum sótt þessar upplýsingar með eftirfarandi skipun:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action HVAR personal_info.employee_id = disciplinary_action.employee_id OG personal_info.salary> 40000

Kóðinn tilgreinir tvo töflurnar sem við viljum taka þátt í FROM-ákvæðið og inniheldur þá yfirlýsingu í WHERE-ákvæðinu til að takmarka niðurstöðurnar við skrár sem voru samsvörunarnúmer starfsmanna og uppfylltu viðmiðanir okkar um laun hærri en 40.000 $.