MySQL SELECT izjava s primjerima

U čemu je SELECT upit MySQL?

SELECT QUERY koristi se za dohvaćanje podataka iz MySQL baza podataka. Baze podataka pohranjuju podatke za kasnije dohvaćanje. Svrha od MySQL Odaberite vraćanje iz tablica baze podataka jednog ili više redaka koji odgovaraju zadanom kriteriju. Upit odabira može se koristiti u skriptnom jeziku kao što su PHP, Ruby ili ga možete izvršiti putem naredbenog retka.

SELECT upit u MySQL

Sintaksa SQL naredbe SELECT

To je najčešće korištena SQL naredba i ima sljedeću opću sintaksu

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)]  [HAVING condition] ORDER BY fieldName(s)

OVDJE

  • SELECT je SQL ključna riječ koja bazi podataka daje do znanja da želite dohvatiti podatke.
  • [DISTINKTNO | SVI] su neobavezne ključne riječi koje se mogu koristiti za fino podešavanje rezultata vraćenih iz SQL SELECT naredbe. Ako ništa nije specificirano, ALL se pretpostavlja kao zadano.
  • {*| [fieldExpression [AS newName]} barem jedan dio mora biti naveden, “*” je odabrao sva polja iz navedenog naziva tablice, fieldExpression izvodi neke izračune na navedenim poljima kao što je zbrajanje brojeva ili spajanje dva polja niza u jedno.
  • IZ tableName je obavezan i mora sadržavati najmanje jednu tablicu, više tablica mora biti odvojeno zarezima ili spojeno pomoću ključne riječi JOIN.
  • GDJE uvjet nije obavezan, može se koristiti za specificiranje kriterija u skupu rezultata vraćenom iz upita.
  • GROUP BY koristi se za sastavljanje zapisa koji imaju iste vrijednosti polja.
  • IMAJUĆI uvjet se koristi za određivanje kriterija kada se radi pomoću ključne riječi GROUP BY.
  • NARUČITE PO koristi se za određivanje redoslijeda sortiranja skupa rezultata.

*

Simbol zvjezdice koristi se za odabir svih stupaca u tablici. Primjer jednostavne naredbe SELECT izgleda kao dolje prikazan.

SELECT * FROM `members`;

Gornja izjava odabire sva polja iz tablice članova. Točka-zarez je iskaz koji završava. Nije obavezno, ali se smatra dobrom praksom tako završiti svoje izjave.

Primjeri iz prakse

Kliknite za preuzimanje myflix DB korišten za praktične primjere.

Možete naučiti uvesti .sql datoteku u MySQL radni stol

Primjeri su izvedeni na sljedeće dvije tablice

Tablica 1: Članovi stol

članski broj puna_imena rod Datum rođenja fizička adresa poštanska adresa kontakt_ broj e-mail
1 Janet Jones ženski 21-07-1980 Prva ulica Parcela broj 4 Privatna torba 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones ženski 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Muški 12-07-1989 3. ulica 34 NULL 12345 rm@tstreet.com
4 Gloria Williams ženski 14-02-1984 2. ulica 23 NULL NULL NULL

Tablica 2: filmovi stol

film_id naslov direktor godina_izdana kategorija_id
1 Pirati s Kariba 4 Rob Marshall 2011 1
2 Zaboravljam Saru Marshal Nicholas stoller 2008 2
3 X-Men NULL 2008 NULL
4 Kodno ime Black Edgar Jimz 2010 NULL
5 Tatine djevojčice NULL 2007 8
6 Anđeli i demoni NULL 2007 6
7 Davincijev kod NULL 2007 6
9 Honey mjesečari John Schultz 2005 8
16 67% kriv NULL 2012 NULL

Dobivanje popisa članova

Pretpostavimo da želimo dobiti popis svih registriranih članova knjižnice iz naše baze podataka, za to bismo upotrijebili dolje prikazanu skriptu.

SELECT * FROM `members`;

Izvršavanje gornje skripte u MySQL radni stol daje sljedeće rezultate.

članski broj puna_imena rod Datum rođenja fizička adresa poštanska adresa kontakt_ broj e-mail
1 Janet Jones ženski 21-07-1980 Prva ulica Parcela broj 4 Privatna torba 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones ženski 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Muški 12-07-1989 3. ulica 34 NULL 12345 rm@tstreet.com
4 Gloria Williams ženski 14-02-1984 2. ulica 23 NULL NULL NULL

Naš gornji upit vratio je sve retke i stupce iz tablice članova.

Recimo da smo zainteresirani samo za dobivanje samo polja full_names, gender, physical_address i email. Sljedeća skripta bi nam pomogla da to postignemo.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

Izvršavanje gornje skripte u MySQL radni stol daje sljedeće rezultate.

puna_imena rod fizička adresa e-mail
Janet Jones ženski Prva ulica Parcela broj 4 janetjones@yagoo.cm
Janet Smith Jones ženski Melrose 123 jj@fstreet.com
Robert Phil Muški 3. ulica 34 rm@tstreet.com
Gloria Williams ženski 2. ulica 23 NULL

Dobivanje popisa filmova

Zapamtite da smo u našoj gornjoj raspravi spomenuli izraze koji su korišteni u SELECT naredbama. Recimo da želimo dobiti popis filmova iz naše baze podataka. Želimo imati naslov filma i ime redatelja filma u jednom polju. Ime redatelja treba biti u zagradama. Također želimo dobiti godinu kada je film objavljen. U tome nam pomaže sljedeća skripta.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

OVDJE

  • Concat () MySQL koristi se funkcija spajanja vrijednosti stupaca.
  • Redak “Concat (`title`, ' (', `director`, ')') dobiva naslov, dodaje početnu zagradu iza koje slijedi ime redatelja, a zatim dodaje završnu zagradu.

Dijelovi niza odvajaju se zarezima u funkciji Concat ().

Izvršavanje gornje skripte u MySQL Workbench proizvodi sljedeći skup rezultata.

Concat(`naslov`, ' (', `redatelj`, ')') godina_izdana
Pirati s Kariba 4 (Rob Marshall) 2011
Forgetting Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodno ime Black (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mjesečari (John Schultz) 2005
NULL 2012

Nazivi polja alijasa

Gornji primjer vratio je kod spajanja kao naziv polja za naše rezultate. Pretpostavimo da želimo upotrijebiti opisniji naziv polja u našem skupu rezultata. Koristili bismo zamjensko ime stupca da bismo to postigli. Slijedi osnovna sintaksa za ime pseudonima stupca

SELECT `column_name|value|expression` [AS] `alias_name`;

OVDJE

  • “SELECT ` naziv_stupca|vrijednost|izraz `” je regularna izjava SELECT koja može biti naziv stupca, vrijednost ili izraz.
  • "[KAO]" je izborna ključna riječ prije aliasa koji označava izraz, vrijednost ili naziv polja koji će se vratiti kao.
  • “`alias_name`” je alias ime koje želimo vratiti u naš skup rezultata kao naziv polja.

Gore navedeni upit sa smislenijim nazivom stupca

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Dobivamo sljedeći rezultat

Konkat godina_izdana
Pirati s Kariba 4 (Rob Marshall) 2011
Forgetting Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Kodno ime Black (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mjesečari (John Schultz) 2005
NULL 2012

Dobivanje popisa članova s ​​godinom rođenja

Pretpostavimo da želimo dobiti popis svih članova koji prikazuje članski broj, puna imena i godinu rođenja, možemo upotrijebiti funkciju niza LIJEVO da izdvojimo godinu rođenja iz polja datuma rođenja. Skripta prikazana u nastavku pomaže nam u tome.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

OVDJE

  • “LEFT(`datum_rođenja`,4)” o LIJEVA funkcija niza prihvaća datum rođenja kao parametar i vraća samo 4 znaka slijeva.
  • “KAO `godina_rođenja`” je ime stupca alias koji će biti vraćen u našim rezultatima. Obratite pažnju na Ključna riječ AS nije obavezna, možete ga izostaviti i upit će i dalje funkcionirati.

Izvršavanje gornjeg upita u MySQL workbench u odnosu na myflixdb daje nam rezultate prikazane u nastavku.

članski broj puna_imena godina rođenja
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

korištenje SQL-a MySQL Radna tezga

Sada ćemo koristiti MySQL workbench za generiranje skripte koja će prikazati sva imena polja iz naše tablice kategorija.

1. Kliknite desnom tipkom miša na tablicu s kategorijama. Kliknite na "Odaberi retke - Ograniči 1000"

2. MySQL workbench će automatski stvoriti SQL upit i zalijepiti ga u editor.

3. Prikazat će se rezultati upita

korištenje SQL-a MySQL Radna tezga

Primijetite da nismo sami napisali naredbu SELECT. MySQL workbench ga je generirao za nas.

Zašto koristiti SELECT SQL naredbu kada imamo MySQL Radni stol?

Sada možda razmišljate zašto naučiti SQL SELECT naredbu za upit podataka iz baze podataka kada jednostavno možete koristiti alat kao što je MySQL radnih stolova za dobivanje istih rezultata bez poznavanja SQL jezika. Naravno da je to moguće, ali učenje kako koristiti naredbu SELECT daje vam više fleksibilnost međutim kontrola preko vašeg SQL SELECT naredbe.

MySQL radni stol spada u kategoriju "Upit prema primjeru” QBE alati. Namijenjen je bržem generiranju SQL izjava kako bi se povećala produktivnost korisnika.

Učenje SQL naredbe SELECT može vam omogućiti stvaranje složeni upiti koji se ne mogu jednostavno generirati pomoću uslužnih programa Query by Example kao što su MySQL radni stol.

Za poboljšanje produktivnosti možete generirajte kod pomoću MySQL radna tezga tada prilagoditi to zadovoljiti vaše zahtjeve. To se može dogoditi samo ako razumijete kako SQL naredbe rade!

MySQL SELECT izjava s primjerima

Rezime

  • Ključna riječ SQL SELECT koristi se za upit podataka iz baze podataka i to je najčešće korištena naredba.
  • Najjednostavniji oblik ima sintaksu “SELECT * FROM tableName;”
  • Izrazi se također mogu koristiti u naredbi select. Primjer "ODABERITE količinu + cijenu IZ prodaje"
  • SQL SELECT naredba također može imati druge izborne parametre kao što su WHERE, GROUP BY, HAVING, ORDER BY. O njima će biti riječi kasnije.
  • MySQL workbench može pomoći u razvoju SQL naredbi, njihovom izvršavanju i stvaranju izlaznih rezultata u istom prozoru.