13 tärkeintä SQL -komentoa, jotka ohjelmoijan pitäisi tietää

13 tärkeintä SQL -komentoa, jotka ohjelmoijan pitäisi tietää

Tietokannat ohjaavat nykyaikaista verkkoa. Jokainen suuri tai dynaaminen verkkosivusto käyttää tietokantaa jollakin tavalla ja yhdessä sen kanssa Strukturoitu kyselykieli (SQL) , mahdollisuudet tietojen käsittelyyn ovat todella rajattomat. Jos tiedät jo SQL: n, muista tarkistaa nämä ohjelmointitaidot, jotka kaikkien verkkosivustojen kehittäjien pitäisi tietää.





Tänään näytän sinulle joitain niistä ydin SQL -komennot sinun täytyy tietää ohjelmoijana.





Tietokantataulukosta palautetuille tiedoille on monia nimiä. Tietoja kutsutaan yleisesti nimellä Rivit , Ennätykset tai Tuples . Käytän näitä termejä keskenään tässä artikkelissa.





Esipuhe

Kaikki tämän päivän esimerkit perustuvat neljään kuvitteelliseen taulukkoon. The asiakas taulukko sisältää asiakkaiden nimet ja iät:

The korkeudet taulukko sisältää henkilön nimen ja pituuden:



The henkilökunta taulukko sisältää henkilöstön jäsenten nimen ja iän - täsmälleen sama kuin asiakastaulukko:

Finaalipöytä maksoi ihmiset sisältää ihmisten nimen ja iän, aivan kuten asiakas- ja henkilöstötaulukot:





1. Valitse

The valitse lause on yksinkertaisin, ja on tärkeää ymmärtää se, koska se tukee lähes kaikkia muita komentoja. Parhaana käytäntönä pidetään varatujen SQL -sanojen kirjoittamista isoilla kirjaimilla, koska se helpottaa komennon lukemista ja ymmärtämistä.

Kuten nimestä voi päätellä, select on tottunut valitse tietoja tietokannasta. Tässä on yksinkertaisin käyttö:





SELECT * FROM table;

Tässä on kaksi osaa. Ensimmäinen osa ( VALITSE * ) määrittää, mitkä sarakkeet haluat valita. Tähti osoittaa, että haluat valita kaikki taulukon sarakkeet. Toinen osa ( FROM taulukosta ) kertoo tietokantamoottorille, mistä haluat noutaa nämä tiedot. Korvaa 'table' tietokantataulukon nimellä.

Tämä valinta tunnetaan nimellä 'valitse tähti'. Asteriskin käyttäminen on hyvä tapa selvittää, mitä tietoja taulukossa on, mutta en suosittele käyttämään sitä mihinkään tuotantokoodiin. Kun käytät valittua tähteä, tietokantamoottorin tehtävänä on näyttää sinulle haluamasi tiedot. Sinulla ei ole mitään valvontaa tietojen palautusjärjestyksestä, joten jos joku lisää uuden sarakkeen taulukkoon, saatat huomata, että ohjelmointikielesi muuttujat eivät enää edusta oikeaa dataa. Onneksi ratkaisu löytyy.

Voit nimenomaisesti ilmoittaa, mitkä sarakkeet haluat noutaa, kuten tämä:

SELECT age, name FROM people;

Tämä kysely hakee ikä- ja nimi -sarakkeet ihmiset -taulukosta. Tämän selkeyttäminen voi olla hieman tylsiä, jos sinulla on paljon dataa, mutta se vähentää ongelmia tulevaisuudessa ja helpottaa tulevien ohjelmoijien ymmärtämään SQL: ääsi.

Jos haluat valita lisätiedon, mutta sitä ei ole tallennettu mihinkään taulukkoosi, voit tehdä sen seuraavasti:

SELECT age, '1234' FROM people;

Yksittäisten lainausmerkkien sisällä oleva merkkijono palautetaan sarakkeen nimen vastaavuuden sijaan.

2. Missä

Select -komento on erinomainen tietojen noutamiseen, mutta entä jos haluat suodattaa tuloksia hieman enemmän? Entä vain sinisten silmien etsiminen? Entä tammikuussa syntyneet ihmiset, jotka työskentelevät mekaanikoina? Tässä on missä komento tulee sisään. Tämän avulla voit soveltaa ehtoja valintaan ja liittää sen vain lauseen loppuun:

SELECT age, name FROM people WHERE age > 10;

Tämä kysely on nyt rajoitettu yli 10 -vuotiaille. Voit yhdistää useita ehtoja käyttämällä JA operaattori:

SELECT age, name FROM people WHERE age > 10 AND age <20;

The JA komento toimii aivan kuten englannin kielellä: se soveltaa toista ehtoa lausuntoon. Tässä esimerkissä palautettavat tiedot ovat mitä tahansa tietueita, joiden ikä on 10–20 vuotta. Koska vastaavia tuloksia ei ole, tietoja ei palauteta.

miten osx asennetaan usb: lta

Toinen komento, jota voidaan käyttää tämän kanssa, on TAI . Tässä on esimerkki:

SELECT age, name FROM people WHERE age > 10 OR name = 'Joe';

Tämä kysely palauttaa tietueet, joiden ikä on yli 10 vuotta tai jonka nimi on sama kuin Joe. Huomaatko kuinka on vain yksi yhtäläisyysmerkki? Useimmat ohjelmointikielet käyttävät kaksoisarvoa (==) vastaavuuden tarkistamiseen. Tätä ei tarvita suurimmalle osalle tietokantamoottoreita (mutta se voi olla hyvin ympäristökohtainen, joten tarkista ensin).

3. Tilaa

The Tilaus -komentoa käytetään palautettujen tulosten lajitteluun. Se on toinen helppokäyttöinen. Liitä se vain lauseesi loppuun:

SELECT name, age FROM people ORDER BY age DESC;

Sinun on määritettävä sarake ja järjestys, joka voi olla ASC nousevaksi tai DESC laskeutumista varten. Voit tilata useita sarakkeita seuraavasti:

SELECT name, age FROM people ORDER BY name ASC, age DESC

TILAA on ehkä hyödyllisin yhdistettynä muihin komentoihin. Kaikki kyselyt eivät palauta tietoja loogisella tai järjestetyllä tavalla - tämän komennon avulla voit muuttaa sitä.

4. Liity

The liittyä seuraan komento on tottunut liittyä seuraan liittyvät tiedot, jotka on tallennettu yhteen tai useampaan taulukkoon. Sinä liittyä seuraan toinen taulukko ensimmäiseen taulukkoon ja määritä, miten tiedot yhdistetään. Tässä on perusesimerkki:

samsung pay vs android pay vs apple pay
SELECT age, name, height FROM people LEFT JOIN heights USING (name);

Täällä tapahtuu muutamia asioita. Sinun on aloitettava LEFT JOIN -syntaksilla, joka määrittää, että haluat liittyä taulukkoon käyttämällä vasemmalla olevaa liitosta. Määritä seuraavaksi taulukko, johon haluat liittyä (korkeudet). The KÄYTÄ (nimi) syntaksissa todetaan, että sarake 'nimi' löytyy molemmista taulukoista ja että tätä tulee käyttää avaimena taulukoiden yhdistämiseen.

Älä huolestu, jos sarakkeillasi on eri nimet kussakin taulukossa. Voit käyttää PÄÄLLÄ -asetusta KÄYTTÄMISEN sijasta:

SELECT age, name, height FROM people LEFT JOIN heights ON (namea = nameb);

On -lausekkeessa mainitaan nimenomaisesti, mitkä sarakkeet on näppäiltävä. Liittymistyyppejä on monia, ja niiden yksityiskohtien tarkastelu kestää kauan, joten tässä on lyhyt yhteenveto niiden käytöstä:

  • (SISÄINEN) LIITY - Palauttaa rivit, joissa molemmissa taulukoissa on täsmäytys.
  • VASEN (ULKOINEN) LIITY - Palauttaa kaikki rivit vasemmasta taulukosta ja mahdolliset osumat oikeasta taulukosta. Jos osumia ei ole, vasemman pöydän tietueet palautetaan edelleen.
  • OIKEA (ULKOINEN) LIITY - Tämä on vasemman liitoksen vastakohta: kaikki oikean taulukon rivit palautetaan yhdessä vasemman taulukon vastaavuuksien kanssa.
  • TÄYSI (ULKOINEN) LIITY - Palauttaa kaikki tietueet, joissa on osuma kummassakin taulukossa.

SISÄINEN tai ULKOINEN syntaksi on valinnainen. Se voi helpottaa asioiden ymmärtämistä, mutta sinun ei tarvitse määritellä sitä suurimman osan ajasta.

5. Aliakset

Nyt tiedät perusasiat, katsotaanpa alias komento. Tätä käytetään taulukon väliaikaiseen nimeämiseen - enemmän lempinimeä kuin mitään muuta, koska tämä uusi nimi on olemassa vain suorittamasi yksittäisen tapahtuman sisällä. Käytä sitä seuraavasti:

SELECT A.age FROM people A;

Voit käyttää mitä tahansa kelvollista nimeä, mutta pidän aakkosten kirjaimista. Ennen jokaista sarakkeen nimeä alias on etuliite. Tämä alias määritetään taulukolle heti sen julistamisen jälkeen. Tämä on täsmälleen sama kuin tämän tekeminen:

SELECT people.age FROM people;

Pitkän taulukon nimen kirjoittamisen sijaan voit kirjoittaa yksinkertaisen ja helposti muistettavan kirjaimen - mutta mitä järkeä? Jos valitset useammasta kuin yhdestä taulukosta, on helppo olla hämmentynyt siitä, mitkä sarakkeet kuuluvat johonkin taulukkoon. Jos molemmissa taulukoissasi sattuu olemaan saman nimisiä sarakkeita, tietokantakyselysi voi jopa epäonnistua ilman viittausta nimenomaisesti taulukon nimeen tai aliakseen. Tässä on esimerkki kahdella taulukolla:

SELECT staff.age, staff.name, customers.age, customers.name FROM staff, customers;

Ja tässä sama kysely aliaksilla:

SELECT A.age, A.name, B.age, B.name FROM staff A, customers B;

Henkilöstötaulukolle annetaan alias 'A' ja asiakastaulukolle 'B'. Aliasointitaulukot todella helpottavat koodin ymmärtämistä ja vähentävät kirjoittamisen määrää.

Voit myös nimetä sarakkeen, jolla on alias, käyttämällä AS -komentoa:

SELECT age AS person_age FROM people;

Kun tämä kysely suoritetaan, sarakkeen nimi on nyt 'henkilö_ikä' eikä 'ikä'.

6. Unioni

liitto on hieno käsky. Sen avulla voit liittää rivejä toisiinsa. Toisin kuin liitokset, jotka lisäävät vastaavia sarakkeita, union voi liittää toisiinsa liittyviä rivejä, jos niillä on sama määrä ja sarakkeiden nimi. Käytä sitä seuraavasti:

SELECT age, name FROM customers
UNION
SELECT age, name FROM staff;

Voit ajatella unionia keinona yhdistää kahden kyselyn tulokset. Liitto palauttaa tuloksia vain, jos kahden kyselyn välillä on ainutlaatuinen rivi. UNION ALL -syntaksin avulla voit palauttaa kaikki tiedot kaksoiskappaleista riippumatta:

SELECT age, name FROM customers
UNION ALL
SELECT age, name FROM staff;

Huomaatko kuinka rivien järjestys muuttuu? Union toimii tehokkaimmin, joten palautetut tiedot voivat vaihdella järjestyksessä.

Mahdollinen yhdistämisen käyttötapa on välisumma: voit yhdistää summan kyselyn yksittäisen kokonaissumman kyselyyn tietyssä skenaariossa.

7. Lisää

Tiedät nyt kaiken tietojen hakemisesta tietokannasta, mutta entä niiden lisääminen? Tässä on lisää komento tulee sisään. Tässä on esimerkki:

INSERT INTO people(name, age) VALUES('Joe', 102);

Sinun on määritettävä taulukon nimi (ihmiset) ja käytettävät sarakkeet (nimi ja ikä). Syötettä 'ARVOT' käytetään sitten lisättävien arvojen antamiseen. Niiden on oltava samassa järjestyksessä kuin aiemmin määritetyt sarakkeet.

Et voi määrittää lisäosille missä -lauseketta, ja sinun on varmistettava, että noudatat kaikkia tarvittavia taulukon rajoituksia.

8. Päivitys

Joidenkin tietojen lisäämisen jälkeen on luonnollista muuttaa tiettyjä rivejä. Tässä on päivittää komennon syntaksi:

UPDATE people SET name = 'Joe', age = 101;

Sinun on määritettävä taulukko, jota haluat muuttaa, ja määritä sitten sarakkeet ja niiden uudet arvot käyttämällä SET -syntaksia. Tämä esimerkki on hyvä, mutta se päivittää jokaisen tietueen - mikä ei ole aina toivottavaa!

Jos haluat olla tarkempi, voit käyttää WHERE -lausekkeita aivan kuten valitessasi:

UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';

Voit jopa määrittää useita ehtoja käyttämällä AND- ja OR -vaihtoehtoja:

UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';

Huomaa, kuinka hakasia käytetään rajoittamaan olosuhteita.

suoratoista uusia elokuvia verkossa ilmaiseksi ilman rekisteröitymistä 2018

9. Upsert

Oho on oudolta kuulostava sana, mutta se on uskomattoman hyödyllinen komento. Oletetaan, että taulukossasi on rajoitus ja olet määrittänyt, että haluat aina vain tietueita, joilla on ainutlaatuinen nimi - et esimerkiksi halua tallentaa kahta riviä samalla nimellä. Jos yritit lisätä useita Joe -arvoja, tietokantamoottori antaa virheen ja kieltäytyy tekemästä sitä (aivan oikein). UPSERTin avulla voit päivittää tietueen, jos se on jo olemassa. Tämä on uskomattoman hyödyllistä! Ilman tätä komentoa sinun on kirjoitettava paljon logiikkaa ensin tarkistaaksesi, onko tietue olemassa, lisää, jos sitä ei ole, muuten hae oikea ensisijainen avain ja päivitä sitten.

Valitettavasti upserts toteutetaan eri tavalla eri tietokantamoottoreissa. PostgreSQL on vasta äskettäin saanut tämän kyvyn, kun taas MySQL on käyttänyt sitä jo jonkin aikaa. Tässä on viittaava MySQL -syntaksi:

INSERT INTO people(name, age)
VALUES('Joe', 101)
ON DUPLICATE KEY UPDATE age = 101;

Huomaa, kuinka tämä on pohjimmiltaan päivitys ja insert -lause, joka voidaan tiivistää sanomalla 'päivitys, jos lisäys epäonnistui'.

10. Poista

Poistaa käytetään tietueiden poistamiseen kokonaan - se voi olla erittäin vahingollista, jos sitä käytetään väärin! Perussyntaksia on erittäin helppo käyttää:

DELETE FROM people;

Kuten useimmat muut komennot, tämä poistetaan kaikki ! Sinun on käytettävä a -kohtaa rajoittaaksesi sen hieman järkevämpään rivimäärään - mieluiten yksi:

DELETE FROM people WHERE name = 'Joe';

Jos kehität järjestelmää, on usein viisasta ottaa käyttöön pehmeä poisto. Et koskaan suorita poistokomentoa, vaan luot poistetun sarakkeen ja tarkistat sitten sarakkeen valinnoissasi - se voi välttää paljon mahdollisia hämmennyksiä, jos voit nopeasti ja helposti hakea oletettavasti poistetut tietueet. Tämä ei kuitenkaan korvaa oikeita varmuuskopioita.

11. Luo taulukko

The luo taulukko komentoa käytetään taulukoiden luomiseen. Se on toinen hyvin yksinkertainen:

CREATE TABLE people (
name TEXT,
age, INTEGER,
PRIMARY KEY(name)
);

Huomaa, kuinka sarakkeiden nimet ja rajoitukset ovat suluissa, ja sarakkeille annetaan asianmukainen tietotyyppi. Ensisijainen avain on määritetty, kuten vaaditaan kaikissa hyvissä tietokantarakenteissa.

12. Vaihda taulukko

The muuta taulukkoa komentoa käytetään taulukon rakenteen muuttamiseen. Tämä on hieman rajoitettua, koska tietokantasi ei salli taulukon muuttamista, jos olemassa olevat tiedot aiheuttaisivat ristiriidan - esimerkiksi merkkijonon muuttaminen kokonaisluvuksi. Korjaa tällöin tiedot ensin ja muokkaa sitten taulukkoa. Tässä on esimerkki:

ALTER TABLE people ADD height integer;

Tämä esimerkki lisää ihmisten taulukkoon sarakkeen, jonka nimi on korkeus. Muuttamiselle ei ole oikeastaan ​​mitään rajaa.

13. Pudotuspöytä

Viimeinen käsky on pudotuspöytä . Ajattele tätä poistona, mutta yksittäisen tietueen poistamisen sijaan se poistaa kaikki tietueet yhdessä taulukon kanssa! Käytä sitä seuraavasti:

DROP TABLE people;

Se on melko raju komento, eikä ole mitään syytä, että se on ohjelmoitava järjestelmään. Se tulisi suorittaa vain manuaalisesti useimmissa tapauksissa, ja se voi olla erittäin tuhoisa.

Siinä kaikki tältä päivältä. Toivottavasti opit hyödyllisiä temppuja! Voisit oppia miten tehdä verkkosivusto ja käytä sitten uutta osaamistasi tehdäksesi siitä dynaamisen - varmista, ettet tee näitä virheitä tai jätä sitä alttiiksi SQL -injektiolle. Jos et ole varma, että sinun on opittava SQL, oletko harkinnut staattisen sivuston generaattoria?

Miksi et jätä kommenttia alla suosikki -SQL -vinkkeihisi?

Kuvahaku: HYS_NP/Shutterstock

Jaa Jaa Tweet Sähköposti Kannattaako päivittää Windows 11: een?

Windows on suunniteltu uudelleen. Mutta riittääkö se vakuuttamaan sinut siirtymään Windows 10: stä Windows 11: een?

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Ohjelmointi
  • SQL
Kirjailijasta Joe Coburn(136 artikkelia julkaistu)

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta Iso -Britanniasta. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä droneilla tai kirjoita musiikkia, hänet voidaan usein ottaa valokuvista tai videoista.

Lisää Joe Coburnilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi