MySQL - zahtjev u zahtjevu. MySQL: primjeri upita. Ugrađeni MySQL upiti

računala

Trenutno, svatko može promatratibrzog rasta broja digitalnih podataka. Budući da je većina tih informacija važna, postaje potrebno spremiti ih na digitalne medije radi kasnije upotrebe. U takvoj situaciji mogu se koristiti suvremene tehnologije kao što su baze podataka. Oni pružaju pouzdanu pohranu bilo kakvih digitalnih podataka, a pristup podacima može se provoditi bilo gdje u svijetu. Jedna od razmatranih tehnologija je sustav za upravljanje bazom podataka MySQL.

DBMS MySQL - što je to?

Sustav upravljanja relacijskom bazom podatakaMySQL je jedna od najpopularnijih i najčešće korištenih tehnologija pohrane podataka. Njegova je funkcionalnost u mnogočemu superiornija prema postojećem DBMS-u. Konkretno, jedna od glavnih značajki je sposobnost korištenja ugniježđenih MySQL upita.

MySQL upiti

Stoga, mnogi projekti u kojima je vrijeme važnobrzinu, a potrebno je osigurati pohranu podataka, kao i provoditi složene uzorke podataka, razvijeni su na temelju MySQL baze podataka. Većina tih zbivanja su internetske stranice. Istodobno, MySQL aktivno se provodi prilikom implementacije malih (blogova, posjetnica, itd.) I prilično velikih zadataka (online trgovina, pohrana podataka itd.). U oba slučaja koristi se upit MySQL za prikaz informacija na stranici web mjesta. U zahtjevu, programeri pokušavaju iskoristiti sve dostupne mogućnosti koje pruža sustav upravljanja bazom podataka.

Kako treba organizirati pohranu podataka

Za prikladnu pohranu i naknadnu obradupodaci su nužno poredani. Struktura podataka omogućuje vam da odredite kako će izgledati tablice za pohranu informacija. Tablice baza podataka skup su polja (stupci) odgovorni za svaki pojedini entitet podatkovnog objekta.

MySQL upita primjere

Na primjer, ako je tablica zaposlenikaodređena tvrtka, njegova najjednostavnija struktura imat će sljedeći oblik. Svakom zaposleniku dodjeljuje se jedinstveni broj koji se, u pravilu, koristi kao primarni ključ za stol. Tada se osobni podaci zaposlenika upisuju u tablicu. To može biti bilo što: naziv, broj odjela, za koji je fiksan, telefonski broj, adresa i tako dalje. Prema zahtjevima normalizacije (6 normalnih oblika baze podataka), a također i za MySQL upite strukturirano, polja tablice moraju biti atomski, to jest, nemaju popisne ili popise. Zato, u pravilu, u tablici postoje zasebna polja za prezime, ime itd.

Employee_id

prezime

ime

patronimik

Department_id

pozicija

telefon

Employer_id

1

Ivanov

Ivan

Ivanović

Administracija.

direktor

495 ****

nula

2

Petrov

nestajati

Petrovich

Administracija.

Zamjenik. direktor

495 ***

1

3

Grishin

Gregory

G.

prodaja

glava

1

...

...

...

...

...

...

...

...

59

Sergeev

Sergej

S.

prodaja

Prodajni asistent

495 ***

32

Gore je trivijalna struktura.tablice baze podataka. Međutim, još uvijek u potpunosti ne ispunjava osnovne zahtjeve normalizacije. U stvarnim sustavima stvara se dodatna tablica odjela. Dakle, gornja tablica umjesto riječi u stupcu "Odjel" trebala bi sadržavati brojeve odjela.

Kako se uzimaju podaci

Za dobivanje podataka iz tablica u DBMS-u koristi se posebna naredba. MySQL - zahtjev odabrati. Da bi poslužitelj baze podataka ispravnoodgovorio na žalbu, zahtjev mora biti pravilno formiran. Struktura zahtjeva formirana je kako slijedi. Svaki pristup poslužitelju baze podataka započinje ključnom riječi. odabrati, To je od njega svi su ugrađeni MySQL upiti. Primjeri mogu imati različitu složenost, ali princip izgradnje je vrlo sličan.

Tada morate odrediti koja polja želite odabrati informacije od interesa. Brojčana polja se pojavljuju zarezom nakon rečenice odabrati, Nakon što su navedena sva potrebna polja, upit navodi objekt tablice iz kojeg će se odabir izvršiti pomoću rečenice od i navodeći naziv tablice.

Da bi ograničili odabir, posebni operatori koje pruža DBMS dodaju se u MySQL upite. Za uzorkovanje ne ponavljajućih (jedinstvenih) podataka koristi se rečenica. izrazit, i postaviti uvjete - operator gdje, Kao primjer, odnosi se na gore navedenotablicu, možete razmotriti upit koji zahtijeva informacije o punom imenu. zaposlenici koji rade u prodajnom odjelu. Struktura zahtjeva bit će kao u donjoj tablici.

MySQL odaberite upit

Koncept subquerya

Ali glavna značajka DBMS, kao što je navedenoiznad, mogućnost obrade ugniježđenih MySQL upita. Kako bi izgledalo? Iz naziva logično je jasno da se radi o upitu formiranom u određenoj hijerarhiji dvaju ili više upita. U teoriji proučavanja značajki DBMS-a navodi se da MySQL ne nameće ograničenja na broj upita MySQL-a koji se mogu ugniježiti u glavnom upitu. Međutim, možete eksperimentirati u praksi i pobrinuti se da nakon drugog desetljeća ugrađenih zahtjeva, vrijeme odaziva ozbiljno će se povećati. U svakom slučaju, u praksi, nema zadataka koji zahtijevaju korištenje iznimno složenih MySQL upit. Upit može zahtijevati do 3-5 ugniježđenih hijerarhija.

MySQL upit u upitu

Izgradite podupirače

Prilikom analize informacija o čitanju, brojpitanja o tome gdje se ugniježđeni upiti mogu koristiti i je li moguće riješiti problem dijeljenjem ih u jednostavne bez kompliciranja strukture. U praksi se subqueries koriste za rješavanje složenih problema. Te vrste zadataka uključuju situacije u kojima je uvjet pod kojim će daljnji izbor vrijednosti biti ograničen unaprijed nepoznat. Nemoguće je riješiti takve probleme ako jednostavno koristite redoviti MySQL upit. U upitu koji se sastoji od hijerarhija, bit će traženje ograničenja koja se mogu promijeniti tijekom vremena ili možda neće biti unaprijed poznata.

Ako pogledamo gornju tablicu, ondaSljedeći primjer može se dati kao složen zadatak. Pretpostavimo da moramo saznati osnovne podatke o zaposlenicima podređenim Grishin Grigoriy Grigorievich, koji je voditelj prodajnog odjela. Pri izradi zahtjeva ne znamo njegov identifikacijski broj. Stoga, moramo ga najprije upoznati. Da biste to učinili, upotrijebite jednostavan upit koji će vam omogućiti da pronađete rješenje glavnog stanja i nadopunite glavni MySQL upit. Upit jasno pokazuje da poduprt prima identifikacioni broj zaposlenika koji dodatno određuje ograničenje glavnog upita:

MySQL ugniježđene upite

U ovom slučaju, rečenica bilo koji Koristi se za sprečavanje grešaka ako postoji nekoliko zaposlenika s takvim inicijalima.

rezultati

Ukratko, treba napomenuti da postojiPostoje mnoge druge dodatne značajke koje uvelike olakšavaju izgradnju upita, jer je MySQL moćan alat s bogatim arsenalom alata za pohranu i obradu podataka.