TRAŽI

Osnovne SQL izjave

SQL jezični standard usvojen je 1992do sada. On je postao mjerilo za mnoge sustave upravljanja bazama podataka. Naravno, neki proizvođači koriste vlastitu interpretaciju standarda. No, u bilo kojem sustavu postoje i glavne komponente - SQL izjave.

uvod

Korištenje SQL izraza u bazama podatakaupravljanje vrijednostima, tablicama i njihovom prijemu za daljnju analizu i prikazivanje. To su skup ključnih riječi kojima sustav razumije što učiniti s podacima.

sql izjava

Definirajte nekoliko kategorija SQL izraza:

  • definiranje objekata baze podataka;
  • manipuliranje vrijednosti;
  • zaštita i kontrola;
  • mogućnosti sesije;
  • informacije o bazi;
  • statički SQL;
  • dinamički SQL.

SQL izjave za manipulaciju podacima

Ova kategorija uključuje ključne riječi s kojima možete kontrolirati plasman vrijednosti u bazi podataka.

 sql operatera upita

INSERT. Stavlja retke u postojeću tablicu. Može se koristiti i za jednu vrijednost i nekoliko, definiranih određenim uvjetima. Na primjer:

INSERT INTO

naziv tablice (naziv stupca 1, naziv stupca 2)

VALUES (vrijednost 1, vrijednost 2).

Da biste upotrijebili SQL INSERT sa nekoliko vrijednosti, koristi se sljedeća sintaksa:

INSERT INTO

naziv tablice 1 (naziv stupca 1, naziv stupca 2)

SELECT naziv stupca 1, naziv stupca 2

Iz naziva tablice 2

WHERE naziv tablice 2. naziv stupca 1> 2

Ovaj upit odabrat će sve podatke iz tablice 2 koji su veći od 2 u stupcu 1 i umetnite ih u prvi.

UPDATE. Kao što naziv implicira, ova izjava SQL upita ažurira podatke u postojeću tablicu za određeni atribut.

primjer:

UPDATE naziv tablice 1

Naziv stupca SET 2 = "Bazilika"

WHERE naziv tablice 1. naziv stupca 1 = 1

Ova konstrukcija popunit će značenje Vasily-a svih redaka u kojima će zadovoljiti broj 1 u prvom stupcu.

DELETE. Uklanja podatke iz tablice. Možete odrediti stanje ili ukloniti sve linije.

DELETE FROM naziv tablice

WHERE naziv tablice. Naziv stupca 1 = 1

Gornji upit uklanja sve podatke iz baze podataka s vrijednošću jednog u prvom stupcu. Evo kako možete izbrisati cijelu tablicu:

DELETE FROM naziv tablice.

Sljedeći je razgovor o operatoru SELECT. On je jedan od najvažnijih, pa će morati posvetiti posebno poglavlje.

Izjava SELECT

Glavna svrha SELECT je dohvaćanje podatakaodređenih uvjeta. Rezultat njegova rada je uvijek nova tablica s odabranim podacima. Izjava MS SQL SELECT može se koristiti u različitim upitima. Stoga, zajedno s njom možete razmotriti i druge povezane ključne riječi.

Da biste odabrali sve podatke iz određene tablice, upotrijebite znak "*".

SELECT *

Iz naziva tablice 1

Rezultat ovog upita bit će točna kopija tablice 1.

I ovdje se nalazi uzorak pod WHERE uvjetom, koji prima sve vrijednosti iz tablice 1, više od 2 u stupcu 1.

SELECT *

Iz naziva tablice 1

WHERE naziv tablice 1. naziv stupca 1> 2

U odabiru možete odrediti da su potrebni samo određeni stupci.

Naziv tablice SELECT 1. naziv stupca 1

Iz naziva tablice 1

Rezultat ovog upita bit će sva retka s vrijednostima iz stupca 1. Pomoću MS SQL izjava možete izraditi vlastitu tablicu, zamjenom, računanjem i zamjenom određenih vrijednosti u pokretu.

ms sql izjave

ODABERITE

ime tablice 1. naziv stupca

ime tablice 1. ime stupca 2

ime tablice 1. ime stupca 3

"=" AS EQ

ime tablice 1. ime stupca 2 * naziv tablice 1. ime stupca 3 AS SUMMA

Iz naziva tablice 1

Ovaj naizgled složen upit obavlja seodaberite sve vrijednosti iz tablice 1, a zatim stvorite nove stupce EQ i SUMMA. Prvi stavlja znak "+", drugi proizvod podataka iz stupaca 2 i 3. Rezultat se može prikazati kao tablica, za razumijevanje kako radi:

Stupac 1

Stupac 2

Stupac 3

EQ

SUMMA

Naziv stavke 1

10

50

+

500

Naziv stavke 2

15

100

+

1500

Kada koristite SELECT izraz, možete odmah organizirati podatke bilo kojim atributom. Za to se koristi riječ ORDER BY.

ODABERITE

ime tablice 1. naziv stupca

ime tablice 1. ime stupca 2

ime tablice 1. ime stupca 3

Iz naziva tablice 1

Naziv stupca ORDER BY 2

Rezultat tablice će izgledati ovako:

Stupac 1

Stupac 2

Stupac 3

1

1

54

3

2

12

7

3

100

2

5

1

To znači da su svi redovi postavljeni tako da u stupcu 2 vrijednosti idu uzlaznim redom.

Podaci se mogu dobiti iz nekoliko tablica. Radi jasnoće, prvo trebate zamisliti da su dva u bazi podataka, nešto poput ovoga:

Tablica zaposlenika

broj

ime

Prezime

1

Vasja

Vasin

2

Petya

Petin

Tablica "Plaća"

broj

brzina

dodijeljen

1

1

10000

2

0.5

3500

Sada morate nekako povezati ove dvije tablice kako biste dobili zajedničke vrijednosti. Pomoću osnovnih SQL izraza to možete učiniti na sljedeći način:

ODABERITE

Sotrudniki.Nomer

Sotrudniki.Imya

Plaća

Plaća

Iz zaposlenika, Plaća

WHERE Employees.Number = Salary.Number

Ovdje je prikazan izbor dviju različitih tablica vrijednosti, ujedinjenih brojem. Rezultat će biti sljedeći skup podataka:

broj

ime

brzina

dodijeljen

1

Vasja

1

10000

2

Petya

0.5

3500

Još nešto o SELECT-u. Korištenje skupnih funkcija

Jedan od glavnih SQL SELECT izraza može izvesti neke izračune tijekom odabira. Za to koristi određene funkcije i formule.

osnovni sql izjave

Na primjer, da biste dobili broj zapisa iz tablice zaposlenika, morate upotrijebiti upit:

ODABERITE BROJ (*) KAO N

Od zaposlenika

Rezultat je tablica s jednom vrijednošću i stupcem.

N

2

U upitima možete koristiti funkcije koje izračunavaju zbroj, maksimalnu i minimalnu vrijednost, kao i prosjek. Da biste to učinili, koristite ključne riječi SUM, MAX, MIN, AVG.

Na primjer, trebate uzeti uzorak iz već poznate tablice "Plaća":

broj

brzina

dodijeljen

1

1

10000

2

0.5

3500

Možete primijeniti ovaj upit i vidjeti što će se dogoditi:

ODABERITE

SUM (Plaća se obračunava) AS Summa

MAX (Plaća se obračunava) AS MAX

MIN (Plaća se obračunava) AS MIN

AVG (Plaća je obračunata) AS SRED

Iz plaće

Finalni stol će biti sljedeći:

SUMMA

MAX

MIN

SRED

13500

10000

3500

6750

Na taj način možete odabrati željene vrijednosti iz baze podataka izvođenjem izračuna različitih funkcija u hodu.

Unija, sjecište i razlike

Kombinirajte više upita u SQL-u

ODABERITE Naziv zaposlenika

Od zaposlenika

WHERE Zaposlenici Broj = 1

UNIJA

ODABERITE Naziv zaposlenika

Iz zaposlenika, Plaća

WHERE Plaća Broj = 1

Treba imati na umu da s takvom unijom tablice moraju biti kompatibilne. To jest, imaju isti broj stupaca.

SELECT sintaksa i redoslijed obrade

Prva stvar koju SELECT odredi je područje iz kojeg će uzeti podatke. Da biste to učinili, upotrijebite ključnu riječ FROM. Ako nije navedeno, što točno odabrati.

Tada može postojati klauzula SQL WHERE. Pomoću njega SELECT prolazi kroz sve retke u tablici i provjerava sukladnost podataka s tim uvjetom.

sql operatori usporedbe

Ako upit sadrži GROUP BY, vrijednosti se grupiraju prema navedenim parametrima.

Operatori za usporedbu podataka

Ima ih nekoliko vrsta. U SQL-u, operatori usporedbe mogu provjeriti različite vrste vrijednosti.

  • "=". Pokazuje, kao što možete pogoditi, jednakost dvaju izraza. Primjerice, već je korišten u gore navedenim primjerima - WHERE Salary.

  • ">". Prijavite više. Ako je vrijednost lijeve strane izraza veća, tada se vraća logički TRUE i uvjet se smatra zadovoljavajućim.

  • "<". Upišite manje. Obrnite prethodnu izjavu.

  • Znakovi "<=" i "> =". Ona se od jednostavnih operatora sve manje i više razlikuje zbog činjenice da ako su operandi jednaki, uvjet će također biti istinit.

  • "<>". Nije jednako. Uvjet će se smatrati TRUE samo ako jedan operand nije jednak drugom. On ima drugo tumačenje - "! =".

POPUT

Tu ključnu riječ možete prevesti kao„Kao”. LIKE operator u SQL-u koristi se na otprilike istom principu - izvršava upit u obrascu. To znači da vam omogućuje da proširite odabir podataka iz baze podataka pomoću regularnih izraza.

operator kao u sql

Na primjer, postavljen je sljedeći zadatak: od već poznate baze "Zaposlenici" da se dobiju svi ljudi čije ime završava s "I". Tada zahtjev može biti ovako:

SELECT *

Od zaposlenika

WHERE Ime LIKE `% I`

Znak postotka u ovom slučaju znači masku, tj. Bilo koji znak i njihov broj. I po slovu "I" SQL će odrediti da posljednji znak mora biti upravo to.

SLUČAJ

Ovaj izraz SQL Server jeprovedba višestrukog izbora. Podsjeća na konstrukt prekidača u mnogim programskim jezicima. CASE izraz u SQL izvršava radnju na nekoliko uvjeta.

Na primjer, morate odabrati iz tablice "Plaća" maksimalnu i minimalnu vrijednost.

broj

brzina

dodijeljen

1

1

10000

2

0.5

3500

Tada zahtjev može biti ovako:

SELECT *

Iz plaće

GDJE JE SLUČAJ KADA IZABRATI MAX (Naplaćeno) TAKO Maksimalno

KADA ODABIRATI MIN (nagomilano) THEN Min

KRAJ ukupno

U tom kontekstu sustav traži maksimum iMinimalna vrijednost u stupcu "Procjenjeno". Zatim, pomoću END-a, kreira se “total” polje u koje se unosi “Maximum” ili “Minimum”, ovisno o rezultatu stanja.

Usput, u SQL postoji i kompaktniji oblik CASE - COALESCE.

Izjave o definiranju podataka

Ovaj prikaz vam omogućuje da napravite različite izmjene tablica - stvaranje, brisanje, izmjena i rad s indeksima.

Prvi koji treba razmotriti je CREATETABLICA. On ne radi ništa drugo nego stvara tablicu. Ako samo upišete upit CREATE TABLE, ništa se neće dogoditi, jer trebate navesti nekoliko parametara.

Na primjer, da biste stvorili već poznatu tablicu "Zaposlenici", upotrijebite sljedeće naredbe:

STVORITE TABELU Zaposlenici

(Broj (10) NIJE NULL

Ime varchar (50) NIJE NULL

Prezime varchar (50) NIJE NULL)

U ovom upitu imena polja i njihovi tipovi se odmah određuju u zagradama, te može li biti NULL.

TABLICA DROP

Obavlja jedan jednostavan zadatak - brisanje navedene tablice. Ima dodatni parametar IF EXISTS. Ona apsorbira pogrešku prilikom brisanja ako tablica koju tražite ne postoji. Primjer uporabe:

KAP TABLICA AKO POSTOJI osoblje.

CREATE INDEX

SQL ima indeksni sustav koji omogućuje brži pristup podacima. Općenito, to je veza koja upućuje na određeni stupac. Možete izraditi indeks jednostavnim upitom:

CREATE INDEX naziv_imena

ON ime_tablice (naziv stupca)

Ovaj se operator koristi u T-SQL, Oracle, PL SQL i mnogim drugim interpretacijama tehnologija.

ALTER TABLE

Vrlo funkcionalan operator koji posjedujebrojne opcije. Općenito, mijenja strukturu, definiciju i raspored tablica. Operator se koristi u Oracle SQL, Postgres i mnogim drugim.

U nastavku se nalaze različite opcije za korištenje alter tablice.

  • ADD. Dodaje stupac u tablicu. Njegova sintaksa je: ALTER TABLE table_name ADD ime_ stupca ime_ stupca pohranjenih podataka. Može imati parametar IF NOT EXISTS, koji sprječava pogrešku ako već postoji stvoreni stupac;

  • KAP. Briše stupac. Također ima ključ IF EXISTS, bez kojeg se generira pogreška, što ukazuje da nedostaje traženi stupac;

  • PROMJENE. Preimenuje naziv polja u određeno. Primjer uporabe: ALTER TABLE tbl_name PROMIJENI old_name new_name;

  • MIJENJAJU. Ova naredba pomoći će promijeniti tip i dodatne atribute određenog stupca. I koristi se ovako: ALTER TABLE table_name MODIFY ime_ stupca ime podataka;

CREATE VIEW

U SQL-u postoji nešto kao što je prezentacija. Ukratko, ovo je neka vrsta virtualne tablice s podacima. Formira se kao rezultat odabira pomoću izraza SQL SELECT jezik. Prikazi mogu ograničiti pristup bazi podataka, sakriti ih, zamijeniti stvarne nazive stupaca.

t sql izjava

Postupak izrade odvija se pomoću jednostavnog upita:

CREATE VIEW ime prikaza AS SELECT FROM * ime tablice

Uzorkovanje se može pojaviti kao cjelokupna baza podataka i za neke uvjete.

Malo o funkcijama

SQL upiti često koriste različiteugrađene funkcije koje omogućuju interakciju s podacima i njihovo pretvaranje u letu. Vrijedi ih razmotriti, jer su sastavni dio strukturiranog jezika.

  • TOČKA. Izračunava zapise ili retke u određenoj tablici. Kao parametar možete navesti naziv stupca, a podaci će se uzeti iz njega. SELECT COUNT * FROM Zaposlenici;

  • AVG. Ova funkcija vrijedi samo za stupce s numeričkim podacima. Rezultat je određivanje aritmetičke sredine svih vrijednosti;

  • MIN i MAX. Ove su značajke već upotrijebljene u ovom članku. Oni određuju maksimalne i minimalne vrijednosti iz navedenog stupca;

  • SUM. To je jednostavno - funkcija izračunava zbroj vrijednosti stupaca. Koristi se isključivo za numeričku vrstu podataka. Dodavanjem parametra DISTINCT upitu, bit će dodane samo jedinstvene vrijednosti;

  • OKRUGLI. Funkcija zaokruživanja decimalnih djelomičnih brojeva. Sintaksa koristi naziv stupca i broj decimalnih mjesta;

  • LEN. Jednostavna funkcija koja izračunava duljinu vrijednosti stupca. Rezultat će biti nova tablica koja označava broj znakova;

  • SADA. Ova ključna riječ koristi se za izračun trenutnog datuma i vremena.

Dodatni operatori

Mnogi primjeri sa SQL izrazima imaju ključne riječi koje izvode male zadatke, ali ipak uvelike pojednostavljuju odabir ili radnje s bazama podataka.

  • AS. Koristi se kada je potrebno vizualno rasporediti rezultat dodjeljivanjem navedenog imena rezultirajućoj tablici.

  • IZMEĐU. Vrlo zgodan alat za uzorkovanje. Označava raspon vrijednosti među kojima trebate dobiti podatke. Ulaz uzima parametar od i do kojeg broja se raspon koristi;

  • NE. Operator daje suprotan izraz.

  • Skratiti. Uklanja podatke iz navedenog osnovnog dijela. Ona se razlikuje od sličnih operatora po tome što je nemoguće oporaviti podatke nakon njegove uporabe. Treba napomenuti da se implementacija ove ključne riječi može razlikovati u različitim tumačenjima SQL-a. Stoga, prije nego što pokušate koristiti TRUNCATE, bolje je upoznati se s referentnim informacijama.

  • Granica. Postavlja broj redaka za izlaz. Posebnost operatera je da se uvijek nalazi na kraju. Prihvaća jedan traženi parametar i jedan opcionalan. Prvi pokazuje koliko redaka s odabranim podacima mora biti prikazano. A ako se koristi drugi, tada operater radi kao za raspon vrijednosti.

  • Unije. Vrlo zgodan operator za kombiniranje više upita. Već se susreo s primjerima ovoga u ovom članku. Možete prikazati potrebne redove iz nekoliko tablica kombinirajući ih s UNION-om za praktičniju uporabu. Njegova sintaksa je: SELECT ime_ stupca FROM ime_ tablice UNION SELECT ime_druge_kolone FROM ime_druge tablice. Rezultat je stožerna tablica s kombiniranim upitima.

  • PRIMARNI KLJUČ. Prevedeno kao "primarni ključ". Zapravo, upravo se ta terminologija koristi u referentnim materijalima. To znači jedinstveni identifikator za niz. Koristi se, u pravilu, prilikom kreiranja tablice za određivanje polja koje će ga sadržavati.

  • DEFAULT. Kao i prethodna izjava, ona se koristi u procesu izvršavanja upita za kreiranje. On definira zadanu vrijednost koja će se koristiti za popunjavanje polja kada je stvoreno.

Neki savjeti o razvoju platforme za rad sa SQL-om

  1. NULL. Početnici, a ne samo programeri u pripremi upita, vrlo često zaboravljaju na mogućnost dobivanja vrijednosti NULL. Kao rezultat, pogreška se uvlači u kod koji je teško pronaći u procesu otklanjanja pogrešaka. Stoga, prilikom kreiranja tablica, odabira ili ponovnog izračunavanja vrijednosti, morate zaustaviti i razmisliti o tome uzima li se u obzir pojavljivanje NULL-a u ovom dijelu upita.

  2. Memorija. Ovaj je članak pokazao nekoliko funkcija koje mogu obavljati neke zadatke. Kada razvijate ljusku za rad s bazom podataka, možete "nadmašiti" izračun jednostavnih izraza u sustavu za upravljanje bazom podataka. U nekim slučajevima to značajno povećava učinkovitost.

  3. Ograničenja. Ako trebate dobiti samo dvije linije iz baze podataka s tisućama redaka, tada trebate koristiti LIMIT ili TOP operatore. Nema potrebe za izdvajanjem podataka korištenjem jezika razvoja ljuske.

  4. Connect. Nakon primanja podataka iz nekoliko tablica, mnogi programeri ih počinju spajati pomoću shell memorije. Ali zašto? Uostalom, možete napraviti jedan zahtjev u kojem će sve to biti prisutno. Ne morate napisati dodatni kod i rezervirati dodatnu memoriju u sustavu.

  5. Sortiranje. Ako je moguće primijeniti narudžbu u upitu, to jest, od strane DBMS-a, onda ga morate koristiti. To će značajno uštedjeti na resursima pri pokretanju programa ili usluge.

  6. Mnogi zahtjevi. Ako morate umetnuti više zapisa uzastopno, onda za optimizaciju razmislite o umetanju skupnih podataka s jednim upitom. To će također povećati učinkovitost cijelog sustava.

  7. Razmišljen je položaj podataka. Prije sastavljanja osnovne strukture, morate razmisliti o tome je li potreban takav broj tablica i polja. Možda postoji način da ih kombiniramo ili da se odreknemo nekih. Vrlo često, programeri koriste višak količine podataka koji se nikada neće koristiti.

  8. Vrste. Da biste uštedjeli prostor i resurse, morate biti osjetljivi na vrste korištenih podataka. Ako postoji mogućnost upotrebe manje "teškog" tipa za memoriju, onda je potrebno koristiti ga. Na primjer, ako je poznato da u ovom polju brojčana vrijednost neće premašiti 255, zašto onda koristiti 4-bajtnu INT, ako postoji TINYINT od 1 bajta.

zaključak

U zaključku, treba napomenuti da je jezikStrukturirani SQL upiti sada se koriste gotovo svugdje - web-mjesta, web-usluge, računalni softver, aplikacije za mobilne uređaje. Stoga će znanje o SQL-u pomoći svim granama razvoja.

Međutim, izmjene izvornog standardajezik se ponekad razlikuju. Na primjer, PL SQL izrazi mogu imati različitu sintaksu od SQL poslužitelja. Stoga, prije nego što počnete razvijati ovu tehnologiju, trebali biste pročitati priručnike na njoj.

U budućnosti, analozi koji bi mogli nadmašiti funkcionalnost i performanse SQL-a vjerojatno se neće pojaviti, tako da je ovo područje prilično obećavajuća niša za svakog programera.

  • Ocjenjivanje: