13 najvažnijih SQL naredbi koje svaki programer treba znati

  • William Charles
  • 0
  • 1166
  • 189
Oglas

Baze podataka pokreću suvremeni web. Svaka velika ili dinamična web stranica koristi bazu podataka na neki način i u kombinaciji s Strukturirani jezik upita (SQL), mogućnosti za manipuliranje podacima doista su beskrajne. Ako već znate SQL, obavezno provjerite ove vještine programiranja. 7 Vještine programiranja Svi programeri web stranica trebaju znati 7 Programiranje vještina Svi programeri web stranica trebaju znati dizajn i razvoj web stranica nudi dobru plaću i beneficije, pristojno radno vrijeme i mogućnost napredovanja. Pokazat ćemo vam koje temeljne vještine sada možete početi učiti da biste se upustili u ovo uzbudljivo polje. svi programeri web stranica trebaju znati.

Danas ću vam pokazati neke temeljne naredbe koje kao programer morate znati.

Mnogo je imena za podatke vraćene iz tablice baze podataka. Podaci se obično nazivaju redovi, ploče, ili torke. Koristit ću se ovim izrazima naizmjenično u cijelom ovom članku.

Predgovor

Svi današnji primjeri temeljit će se na četiri izmišljene tablice. kupac tablica sadrži ime i starost kupaca:

visine tablica sadrži ime i visinu bilo koje osobe:

osoblje tablica sadrži ime i starost zaposlenika - potpuno isto kao i tablica korisnika:

Završni stol nazvan narod sadrži ime i starost ljudi, baš kao i tablice kupaca i osoblja:

1. Odaberite

Odaberi Izjava je najjednostavnija i ključno je da je razumijete jer podupire gotovo sve ostale naredbe. Smatra se najboljom praksom da svoje rezervirane SQL riječi pišete velikim slovima, jer naredbu olakšava čitanje i razumijevanje.

Kao što mu ime govori, odabire se za odabir Odaberi podaci iz baze podataka. Evo najjednostavnije uporabe:

SELECT * IZ tablice;

To su dva dijela. Prvi dio (ODABERI *) određuje koje stupce želite odabrati. Zvezdica označava da želite odabrati sve stupce u tablici. Drugi dio (OD tablice) govori vašem stroju baze podataka odakle želite preuzeti ove podatke. Zamijeniti “stol” s imenom tablice vaše baze podataka.

Ovaj je odabir poznat pod nazivom “odaberite zvijezdu.” Korištenje zvjezdice dobar je način da shvatite koji se podaci nalaze u tablici, ali ne preporučujem vam upotrebu bilo kojeg proizvodnog koda. Kada koristite odabranu zvijezdu, na bazi podataka bit će vam predstaviti podatke koje želite. Nemate kontrolu nad redoslijedom vraćanja podataka, tako da ako netko doda novi stupac u tablicu, možda ćete pronaći svoje varijable u svom programskom jeziku više ne predstavljaju točne podatke. Srećom, postoji rješenje.

Možete izričito navesti koje stupce želite preuzeti, ovako:

IZABERITE starost, ime OD ljudi;

Ovaj upit dohvaća “dob” i “Ime” stupaca s “narod” stol. Ova eksplicitnost može biti malo zamorna ako imate puno podataka, ali to će umanjiti probleme u budućnosti, zajedno s olakšavanjem razumijevanja vašeg SQL-a od strane budućih programera.

Ako želite odabrati dodatni podatak, ali on nije pohranjen u nijednoj tablici, to možete učiniti ovako:

IZABERITE dob, '1234' OD ljudi;

Vratit će se svaki niz unutar pojedinih citata, umjesto da odgovara nazivu stupca.

2. Gdje

Naredba select izvrsna je za dohvaćanje podataka, ali što ako želite malo više filtrirati rezultate? Što je s pronalaženjem samo ljudi koji imaju plave oči? Što je s ljudima rođenim u siječnju koji rade kao mehaničari? Ovdje je gdje dolazi naredba. To vam omogućuje primjenu uvjeta na odabir i jednostavno ga dodate na kraju izjave:

ODABERITE starost, ime OD ljudi GDJE dob> 10;

Ovaj je upit sada ograničen na osobe starije od 10 godina. Možete kombinirati više uvjeta koristeći I operater:

ODABIR starost, ime OD ljudi GDJE dob> 10 I dob < 20;

I naredba djeluje točno onako kako se radi na engleskom jeziku: primjenjuje još jedan uvjet u izjavi. U ovom primjeru vraćeni podaci bili bi bilo kakvi zapisi s dobi između 10 i 20 godina. Kako nema rezultata koji se podudaraju, ne vraćaju se i podaci.

Još jedna naredba koja se u vezi s tim može koristiti ILI. Evo primjera:

ODABERITE starost, ime OD ljudi GDJE dob> 10 ILI ime = 'Joe';

Ovaj upit vraća zapise u dobi iznad 10 godina ili je ime jednako “Joe”. Primijetite kako postoji samo jedan znak jednake? Većina programskih jezika koristi dvostruke jednake (==) za provjeru ekvivalencije. Ovo nije potrebno za veliku većinu motora baza podataka (ali može vrlo u okruženju, stoga prvo provjerite dvaput).

3. Narudžba

narudžba naredba se koristi za sortiranje vraćenih rezultata. To je još jedan jednostavan za upotrebu. Jednostavno ga dodajte na kraju izjave:

ODABERITE ime, starost OD ljudi NARUČITE PO dobi DESC;

Trebate navesti stupac i redoslijed, koji može biti ASC za uzlazni ili DESC za silazak. Možete naručiti u više stupaca kao što je ovaj:

ODABERITE ime, starost OD ljudi NARUČITE PO imenu ASC, dob DESC

NARUČITE PO je možda najkorisnija u kombinaciji s drugim naredbama. Nisu svi upiti vratili podatke na logičan ili uređen način - ova naredba omogućuje vam da to promijenite.

4. Pridružite se

pridružiti naredba se koristi za pridružiti povezani podaci pohranjeni u jednoj ili više tablica. Vas pridružiti drugu tablicu prvu tablicu i odredite kako su podaci povezani. Evo osnovnog primjera:

ODABIR starost, ime, visina OD LIJEVE PRIDRUŽITE se visinama KORIŠTENJE (ime);

Ovdje se događa nekoliko stvari. Morate početi s “LEVO PRIDRUŽITE se” sintaksa, koja određuje da se želite pridružiti tablici koristeći pridruživanje vrste left. Zatim odredite tablicu kojoj se želite pridružiti (visine). UPORABA (naziv) sintaksa navodi da stupac “Ime” mogu se naći u obje tablice i to treba koristiti kao ključ za spajanje tablica.

Ne brinite ako vaši stupci imaju različita imena u svakoj tablici. Možeš koristiti “NA” umjesto “KORIŠTENJE”:

ODABRUJITE starost, ime, visinu OD ljudi LIJETO SE PRIDRUZITE visine UKLJUČENE (namea = nameb);

Izjava on navodi izričito koje stupce treba upisati. Postoji mnogo vrsta pridruživanja i trebalo bi dugo vremena da uđemo u detalje za svako od njih, pa evo kratkog sažetka njihove uporabe:

  • (UNUTARNJI) PRIDRUŽITE se - Vraća retke sa podudarnošću u obje tablice.
  • LIJEVI (vanjski) PRIDRUŽITE se - Vraća sve retke iz lijeve tablice, a bilo koje podudaranje iz desne tablice. Ako nema rezultata, zapisi s lijeve tablice i dalje se vraćaju.
  • PRAVO (VANJSKI) PRIDRUŽITE se - Ovo je suprotno spajanju s lijeve strane: vraćaju se svi redovi iz desne tablice, kao i svi podudaranja u lijevoj tablici.
  • PUNA (VANJSKA) PRIDRUŽITE se - Vraća sve zapise sa podudarnošću u bilo kojoj tablici.

“UNUTARNJA” ili “VANJSKI” sintaksa nije obvezna. Moguće je stvari lakše razumjeti, ali to ne morate precizirati većinu vremena.

5. pseudonim

Sada znate osnove, pogledajmo pseudonim naredba. To se koristi za privremeno preimenovanje tablice - više nadimak nego bilo što drugo, jer to novo ime postoji samo unutar pojedinačne transakcije koju pokrećete. Evo kako ga upotrebljavate:

ODABIR A. A. od ljudi A;

Možete koristiti bilo koje važeće ime koje volite, ali ja volim koristiti slova abecede. Prije svakog imena stupca prefiks je pseudonim. Taj je pseudonim dodijeljen tablici odmah nakon proglašenja. To je potpuno isto kao i ovo:

ODABIR ljudi.pojava OD ljudi;

Umjesto da upišete dugačak naziv tablice, možete upisati jednostavno i lako pamtljivo slovo - ali u čemu je smisao? Pa, ako birate iz više tablica, lako se zbuniti koji stupci pripadaju onoj tablici. Ako se u obje vaše tablice pojavljuju stupci s istim nazivom, vaš upit baze podataka možda se čak i ne pokreće bez izričitog pozivanja na naziv tablice ili pseudonim. Evo primjera s dvije tablice:

SELECT staff.age, staff.name, customers.age, customers.name OD osoblja, kupaca;

A evo i istog upita s pseudonimima:

ODABIR A.age, A.name, B.age, B.name OD osoblja A, kupaca B;

Stolu za osoblje dat je pseudonim od “”, a tablici kupaca dat je pseudonim od “B”. Podešavanje tablica zaista pomaže da vaš kôd bude lakše razumljiv i smanjuje količinu tipkanja koju morate učiniti.

Također možete preimenovati stupac s pseudonimom koristeći “KAO” naredba:

IZABERITE dob kao osobu od ljudi;

Kad se ovaj upit pokrene, stupac će se sada pozivati “person_age” umjesto “dob”.

6. Unija

Unija velika je zapovijed. Omogućuje vam dodavanje redaka jedni drugima. Za razliku od pridruživanja koja dodaju odgovarajuće stupce, unija može dodavati nepovezane retke pod uvjetom da imaju isti broj i naziv stupaca. Evo kako ga upotrebljavate:

ODABIR dob, ime OD kupaca UNION SELECT starost, ime OD osoblja;

Ujedinjenje možete smatrati načinom kombiniranja rezultata dvaju upita. Sindikat će vratiti rezultate samo ako postoji jedinstveni redak između dva upita. Možete koristiti “UNIJA SVE” sintaksa za povratak svih podataka, bez obzira na duplikate:

ODABRUJITE starost, ime OD kupaca UNION SVE ODABITE dob, ime OD osoblja;

Primijetite kako se mijenja redoslijed redaka? Union djeluje na najučinkovitiji način, tako da se vraćeni podaci mogu razlikovati redoslijedom.

Mogući slučaj upotrebe za uniju je podbroj: možete unijeti upit ukupnog zbroja u upit pojedinačnih zbrojeva za određeni scenarij.

7. Umetnite

Sada znate sve o dohvaćanju podataka iz baze podataka, ali što je s umetanjem? Ovdje je umetnuti dolazi naredba. Evo primjera:

ULAZITE U ljude (ime, dob) VRIJEDNOSTI ('Joe', 102);

Morate navesti naziv tablice (osobe) i stupce koje želite koristiti (ime i starost). “VRIJEDNOSTI” sintaksa se tada koristi za unošenje vrijednosti za umetanje. Oni moraju biti istim redoslijedom kao i prethodno navedeni stupci.

Ne možete odrediti gdje klauzula za umetke i morate osigurati da slijedite sva potrebna ograničenja tablice koja su prisutna.

8. Ažurirajte

Nakon umetanja nekih podataka, jedino je prirodno potrebno mijenjati određene redove. Evo ažuriranje sintaksa naredbe:

UPDATE ljudi SET name = 'Joe', dob = 101;

Morate odrediti tablicu koju želite promijeniti i koristiti je “SET” sintaksa odrediti stupce i njihove nove vrijednosti. Ovaj je primjer dobar, ali ažurirat će svaki pojedinačni zapis - nešto što nije uvijek poželjno!

Da biste bili precizniji, možete upotrijebiti “GDJE” klauzule baš kao i pri odabiru:

UPDATE ljudi SET name = 'Joe', dob = 101 GDJE ime = 'James';

Možete čak odrediti više uvjeta pomoću “I” i “ILI”:

UPDATE ljudi SET name = 'Joe', dob = 101 GDJE (ime = 'James' I starost = 100) ILI ime = 'Ryan';

Zapazite kako se zagrade koriste za ograničavanje uvjeta.

9. Upsert

Upsert čudna je zvučna riječ, ali nevjerojatno korisna naredba. Recimo da imate ograničenje na stolu i naveli ste da uvijek želite samo zapise s jedinstvenim imenima - na primjer, ne želite pohraniti dva reda s istim nazivom. Ako biste pokušali umetnuti više vrijednosti 'Joe', stroj vaše baze podataka bacio bi pogrešku i odbio to učiniti (sasvim ispravno). UPSERT vam omogućuje ažuriranje zapisa ako takav već postoji. Ovo je nevjerojatno korisno! Bez ove naredbe, morali biste napisati puno logike da biste prvo provjerili postoji li zapis, umetnite ga ako nema, inače dohvatite ispravan primarni ključ i zatim ažurirajte.

Nažalost, pojave se različito provode u različitim motorima baza podataka. PostgreSQL je tek nedavno dobio tu sposobnost, dok je MySQL imao to već duže vrijeme. Evo MySQL sintakse za referencu:

ULAZITE U ljude (ime, dob) VRIJEDNOSTI ('Joe', 101) NA DUPLIKATU KLJUČNOG AŽURIRANJA dob = 101;

Primjetite kako je to u osnovi ažuriranje i izjava umetanja, koja se može sažeti kao “ažuriraj ako umetanje nije uspjelo.”

10. Izbriši

Izbrisati koristi se za uklanjanje zapisa u potpunosti - može biti vrlo štetno ako se zloupotrijebi! Osnovna sintaksa vrlo je jednostavna za upotrebu:

IZUZETI OD ljudi;

Kao i većina drugih naredbi, i ova će se izbrisati sve! Morate koristiti mjesto gdje ga ograničiti na malo razumniji broj redaka - u idealnom slučaju jedan:

DELETE OD ljudi GDJE name = 'Joe';

Ako razvijate sustav, često je pametno implementirati a “soft delete.” U stvari nikada ne pokrenete naredbu za brisanje, radije kreirate izbrisani stupac, a zatim provjerite taj stupac u svojim odabirima - može se izbjeći puno potencijalnih neprilika ako možete brzo i lako dohvatiti navodno izbrisane zapise. To, međutim, ne zamjenjuje ispravne sigurnosne kopije.

11. Stvorite tablicu

stvori tablicu naredba se koristi za izradu tablica. To je još jedan vrlo jednostavan:

USTVARITE TABELU (ime TEKST, dob, INTEGER, PRIMARNI KLJUČ (ime));

Primijetite kako se nazivi i ograničenja stupaca nalaze u zagradama, a stupcima se daje odgovarajuća vrsta podataka. Određuje se primarni ključ, kao što je potrebno u bilo kojem dobrom dizajnu baze podataka.

12. Alter tablica

alter tablica naredba se koristi za izmjenu strukture tablice. Ovo je malo ograničeno, jer vam baza podataka neće dopustiti da mijenjate tablicu ako postojeći podaci uzrokuju sukob - na primjer, promjenite niz u cijeli broj. U tim slučajevima najprije popravite podatke, a zatim izmijenite tablicu. Evo primjera:

ALTER TABLE ljudi dodaju cijeli broj visine;

Ovaj primjer dodaje stupac zvan “visina” vrste broja cijeli broj u tablici s ljudima. Zapravo ne postoji ograničenje u onome što možete promijeniti.

13. Ispusti tablicu

Konačna naredba je stol za ispuštanje. Mislite na to kao na brisanje, ali umjesto na brisanje jednog zapisa, uklanja se svaki zapis zajedno sa tablicom! Evo kako ga upotrebljavate:

DROP TABLE ljudi;

To je prilično drastična naredba, i nema razloga da je trebate programirati u svoj sustav. To bi trebalo izvesti samo ručno u ogromnoj većini slučajeva, a može biti vrlo destruktivno.

To je sve za danas. Nadam se da ste naučili neke korisne trikove! Možete naučiti kako napraviti web stranicu Kako napraviti web stranicu: za početnike Kako napraviti web stranicu: za početnike Danas ću vas voditi kroz postupak izrade kompletne web stranice. Ne brinite ako ovo zvuči teško. Vodit ću vas kroz to na svakom koraku. , a zatim upotrijebite svoje novonastale vještine kako biste je učinili dinamičnom - samo pripazite da ne napravite ove pogreške. 9 Pogreške koje ne biste trebali napraviti prilikom izrade web stranice. 9 Pogreške koje ne biste trebali raditi pri izradi web stranice. Sljedeće HTML kodiranje pogreške je lako napraviti, ali ako ih otklonite prije nego kasnije, vaša će stranica izgledati bolje, biti lakša za održavanje i funkcionirati onako kako želite. ili je ostavite ranjivu na SQL injekciju Što je SQL ubrizgavanje? [MakeUseOf objašnjava] Što je SQL ubrizgavanje? [MakeUseOf objašnjava] Svijet internetske sigurnosti muči otvorene luke, stražnju stranu, sigurnosne rupe, Trojani, crvi, ranjivost vatrozida i mnoštvo drugih problema koji nas svakodnevno drže na nogama. Za privatne korisnike…. Ako niste sigurni da trebate naučiti SQL, jeste li razmotrili generator statičkih stranica 7 razloga za istrebljenje CMS-a i razmotriti statički generator web stranica 7 razloga za istrebljenje vašeg CMS-a i razmotriti statički generator web mjesta dugi niz godina, objavljujući web stranicu bilo je teško za mnoge korisnike. CMS-ovi poput WordPressa to su promijenili, ali još uvijek mogu biti zbunjujuće. Druga alternativa je statički generator. ?

Zašto ne ostavite komentar ispod sa svojim omiljenim SQL savjetima i trikovima?

Slikovni krediti: HYS_NP / Shutterstock




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.