SQL-perusteet

Lisätietoja DDL, DML ja JOINs

Structured Query Language on yksi modernin tietokantaarkkitehtuurin perusrakenteista. SQL määrittelee menetelmät, joita käytetään luomaan ja muokkaamaan relaatiotietokantoja kaikilla tärkeimmillä alustoilla. Ensi silmäyksellä kieli voi tuntua uhkaavalta ja monimutkaiselta, mutta se ei ole niin vaikeaa.

Tämä johdanto SQL-periaatteisiin takaa lyhyen katsauksen joihinkin tietokantojen luomiseen ja muokkaamiseen käytetyistä tärkeimmistä komennoista.

Tietoja SQL: stä

Oikea SQL-ääntäminen on kiistanalainen asia tietokantayhteisössä. SQL-standardissaan American National Standards Institute totesi, että virallinen ääntäminen on "es queue el." Monet tietokannan ammattilaiset ovat kuitenkin ottaneet slang äänetön "jatko". Päätös on sinun.

SQL on monissa makuissa. Oracle-tietokannat käyttävät omaa PL / SQL-järjestelmää. Microsoft SQL Server käyttää Transact-SQL: ää. Kaikki muunnelmat perustuvat alan standardiin ANSI SQL. Tämä esittely käyttää ANSI-yhteensopivia SQL-komentoja, jotka toimivat millä tahansa modernilla relaatiotietokantajärjestelmällä.

DDL ja DML

SQL-komennot voidaan jakaa kahteen pääkielen osaan. Data Definition Language (DDL) sisältää käskyt, joita käytetään tietokantojen ja tietokantaobjektien luomiseen ja tuhoamiseen. Kun tietokantarakenne on määritetty DDL: llä, tietokannan ylläpitäjät ja käyttäjät voivat käyttää Data Manipulation Language (DML) -tiedostoa syöttämään, noutamaan ja muokkaamaan siihen sisältyviä tietoja.

Tietojen määritelmä Kielen komennot

Tietojen määrittelykieltä käytetään tietokantojen ja tietokantaobjektien luomiseen ja tuhoamiseen. Tietokannan ylläpitäjät käyttävät näitä komentoja pääasiassa tietokantahankkeen määritys- ja poisto-vaiheiden aikana. Seuraavassa tarkastellaan neljän perusdatan käskyn rakennetta ja käyttöä:

LUODA. Tietokannan hallintajärjestelmän asentaminen tietokoneeseen mahdollistaa monien riippumattomien tietokantojen luomisen ja hallinnan. Voit esimerkiksi ylläpitää tietokantaa asiakkaiden yhteyksistä myyntiosastolle ja henkilöstötietokannasta HR-osastolle. CREATE-komennolla määritetään jokainen näistä tietokannoista alustallasi. Esimerkiksi komento:

LUONTAA TIETOKANTAA työntekijöitä

luo DBMS: lle tyhjän tietokannan nimeltä "työntekijät". Tietokannan luomisen jälkeen seuraava vaihe on luoda taulukkoja, jotka sisältävät tietoja. Tätä varten voidaan käyttää CREATE-komennon toista versiota. Käsky:

CREATE TABLE henkilökohtainen_info (first_name char (20) ei null, last_name char (20) ei null, employee_id int ei null)

luo taulukon nimeltä "personal_info" nykyisessä tietokannassa. Esimerkissä taulukossa on kolme attribuuttia: first_name, last_name ja employee_id yhdessä muutamien lisätietojen kanssa.

KÄYTTÄÄ. USE-komennolla voit määrittää tietokannan, jonka kanssa haluat työskennellä DBMS: ssä. Jos esimerkiksi työskentelet myyntitietokannassa ja haluat antaa joitain käskyjä, jotka vaikuttavat työntekijöiden tietokantaan, esittele ne seuraavalla SQL-komennolla:

Käytä työntekijöitä

On tärkeää olla aina tietoinen tietokannasta, jota työskentelet ennen SQL-komentojen antamista, jotka muokkaavat tietoja.

MUUTTAA. Kun olet luonut taulukon tietokannassa, voit halutessasi muokata sen määritelmää. ALTER-komennon avulla voit tehdä muutoksia taulukon rakenteeseen poistamatta sitä ja luomalla sen uudelleen. Katso seuraava komento:

ALTER TABLE personal_info ADD palkankorotus null

Tämä esimerkki lisää uuden attribuutin personal_info-taulukkoon - työntekijän palkkaan. Raha-argumentti määrittää, että työntekijän palkka säilytetään dollarin ja sentin muodossa. Lopuksi nolla-avainsana kertoo tietokannalle, että tämä kenttä ei salli mitään arvoa millekään työntekijälle.

PUDOTA. DROP-tietojen lopullisen komennon avulla voimme poistaa koko tietokantaobjekteja DBMS-järjestelmästämme. Jos esimerkiksi haluamme poistaa pysyvästi luodun henkilökohtaisen_info-taulukon, käytämme seuraavaa komentoa:

DROP TABLE personal_info

Samoin alla olevaa komentoa käytetään poistamaan koko työntekijän tietokanta:

DROP DATABASE työntekijät

Käytä tätä komentoa varoen. DROP-komento poistaa koko tietorakenteet tietokannasta. Jos haluat poistaa yksittäisiä tietueita, käytä Data Manipulation Language -ohjelman DELETE-komentoa.

Tiedonhallintakielen komennot

Data Manipulation Language (DML) -tiedostoa käytetään hakemaan, lisäämään ja muokkaamaan tietokannan tietoja. Kaikki tietokannan käyttäjät käyttävät näitä komentoja tietokannan rutiinitoiminnan aikana.

INSERT. SQL-INSERT-komentoa käytetään lisäämään tietueita olemassa olevaan taulukkoon. Palatessasi edelliseen osioon liittyvään personal_info-esimerkkiin, kuvittele, että HR-osastomme tarvitsee lisätä uuden työntekijän tietokantaan. Voit käyttää samanlaista komentoa:

INSERT IN_ personal_info arvot ('bart', 'simpson', 12345, 45 000 dollaria)

Huomaa, että tietueeseen on määritetty neljä arvoa. Nämä vastaavat taulukon määritteitä määritellyssä järjestyksessä: first_name, last_name, employee_id ja salary.

VALINTA. SELECT-komento on yleisin SQL-komento. Sen avulla tietokannan käyttäjät voivat hakea haluamansa tiedot toiminnallisesta tietokannasta. Tutustu muutamiin esimerkkeihin, käytä henkilötietokannan personal_info-taulukkoa uudelleen.

Alla oleva komento hakee kaikki personal_info-taulukossa olevat tiedot. Huomaa, että tähtiä käytetään jumalakorteina SQL: ssä. Tämä tarkoittaa kirjaimellisesti "Valitse kaikki personal_info-taulukosta."

SELECT * FROM personal_info

Vaihtoehtoisesti käyttäjät voivat haluta rajoittaa attribuutteja, jotka haetaan tietokannasta. Esimerkiksi henkilöstöosasto voi vaatia luettelon kaikkien yrityksen työntekijöiden sukunimistä. Seuraava SQL-käsky noutaisi vain nämä tiedot:

VALITSE last_name FROM personal_info

WHERE-lauseketta voidaan käyttää rajoittamaan tietueet, jotka noudetaan niille, jotka täyttävät määritetyt kriteerit. Toimitusjohtaja saattaa olla kiinnostunut tarkastelemaan kaikkien hyvin palkattujen työntekijöiden henkilöstörekistereitä. Seuraava komento hakee kaikki personal_info-tietueet tiedoista, joiden palkan arvo on yli 50 000 dollaria:

SELECT * FROM personal_info WHERE palkka> 50000 dollaria

PÄIVITTÄÄ. UPDATE-komennolla voidaan muuttaa taulukossa olevia tietoja joko irtotavarana tai erikseen. Oletetaan, että yhtiö antaa kaikille työntekijöille 3 prosentin elinkustannuskorotuksen palkastaan ​​vuosittain. Seuraavaa SQL-komentoa voitaisiin käyttää nopeasti sovellettavaksi kaikkiin tietokantaan tallennettuihin työntekijöihin:

UPDATE personal_info SET palkka = palkka * 1,03

Kun uusi työntekijä Bart Simpson näyttää suorituskykyä pidemmälle ja pidemmälle, hän haluaa tunnistaa hänen tähtiensa saavutukset 5 000 dollarin korolla. WHERE-lauseketta voitaisiin käyttää pohtimaan Bart tätä korotusta varten:

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

POISTAA. Lopuksi tarkastellaan DELETE-komentoa. Huomaat, että tämän komennon syntaksi on samanlainen kuin muiden DML-komentoiden syntaksi. Valitettavasti viimeisimmän yritysraporttimme eivät vastanneet odotuksia, ja heikko Bart on lomautettu. DELETE-komennolla WHERE-lauseketta voidaan poistaa hänen rekisterinsä personal_info-taulukosta:

POISTA henkilökohtaisesta_info WHERE employee_id = 12345

Liitosten

Nyt kun olet oppinut SQL: n perusasiat, on aika siirtyä yhteen tehokkaimmista käsitteistä, joita kieltä on tarjolla - JOIN-käsky. JOIN-lausekkeen avulla voit yhdistää tietoja useissa taulukoissa, jotta voidaan käsitellä suuria määriä tietoja tehokkaasti. Nämä lausumat ovat silloin, kun tietokannan todellinen voima asuu.

Jotta voit tarkastella perusliittymän käytön yhdistelemällä tietoja kahdesta taulukosta, jatka esimerkin avulla käyttämällä PERSONAL_INFO-taulukkoa ja lisää seokseen lisätaulukko. Oletetaan, että sinulla on seuraava DISCIPLINARY_ACTION-taulukko, joka on luotu seuraavalla tavalla:

LUOTTAA TAULUKKO discipline_aktio (action_id int ei nolla, employee_id int nolla, kommentit char (500))

Tämä taulukko sisältää yrityksen työntekijöiden kurinpitotoimien tulokset. Huomaat, että siinä ei ole muuta työntekijää kuin työntekijän numeroa. On helppo kuvitella monia tilanteita, joissa haluat yhdistää tietoja DISCIPLINARY_ACTION- ja PERSONAL_INFO-taulukoista.

Oletetaan, että sinulla on velvollisuus luoda raportti, jossa luetellaan kurinpitotoimet kaikkia työntekijöitä vastaan, joiden palkka on yli 40 000 dollaria. JOIN-operaation käyttö tässä tapauksessa on suoraviivaista. Voimme hakea nämä tiedot käyttämällä seuraavaa komentoa:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action KUINI personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Koodi määrittelee kaksi taulukkoa, joihin haluamme liittyä FROM-lausekkeeseen ja johon sisältyy WHERE-lauseketta koskeva lauseke, jonka avulla tuloksia voidaan rajoittaa rekistereihin, joilla on vastaavia työntekijän tunnuksia ja täyttävät yli 40 000 dollarin palkan kriteerit.