MySQL SELECT paziņojums ar piemēriem

Satura rādītājs:

Anonim

Kas ir SELECT vaicājums MySQL?

SELECT QUERY tiek izmantots, lai ielādētu datus no MySQL datu bāzes. Datu bāzes glabā datus vēlākai iegūšanai. MySQL Select mērķis ir atgriezties no datu bāzes tabulām vienā vai vairākās rindās, kas atbilst noteiktiem kritērijiem. Atlasīt vaicājumu var izmantot skriptu valodā, piemēram, PHP, Ruby, vai arī to varat izpildīt, izmantojot komandu uzvedni.

SQL SELECT priekšraksta sintakse

Tā ir visbiežāk izmantotā SQL komanda, un tai ir šāda vispārīgā sintakse

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
ŠEIT
  • SELECT ir SQL atslēgvārds, kas ļauj datu bāzei zināt, ka vēlaties izgūt datus.
  • [ATŠĶIRT | ALL] ir izvēles atslēgvārdi, kurus var izmantot, lai precīzi pielāgotu SQL SELECT priekšraksta atgrieztos rezultātus. Ja nekas nav norādīts, par noklusējumu tiek pieņemts VISS.
  • {* | [fieldExpression [AS newName]} ir jānorāda vismaz viena daļa, "*" atlasot visus laukus no norādītā tabulas nosaukuma, fieldExpression veic dažus aprēķinus norādītajos laukos, piemēram, skaitļu pievienošanu vai divu virkņu lauku salikšanu vienā.
  • FROM tableName ir obligāts, un tajā jābūt vismaz vienai tabulai, vairākas tabulas jāatdala, izmantojot komatus, vai jāapvieno, izmantojot JOIN atslēgvārdu.
  • Nosacījums WHERE nav obligāts, to var izmantot, lai norādītu kritērijus rezultātu komplektā, kas atgriezts no vaicājuma.
  • GROUP BY tiek izmantots, lai apkopotu ierakstus, kuriem ir vienādas lauka vērtības.
  • Nosacījums HAVING tiek izmantots, lai norādītu kritērijus, strādājot, izmantojot atslēgvārdu GROUP BY.
  • ORDER BY tiek izmantots, lai norādītu rezultātu kopas kārtošanas secību.

*

Zvaigznīte Zvaigzne tiek izmantota, lai atlasītu visas tabulas kolonnas. Vienkārša SELECT priekšraksta piemērs izskatās kā parādīts zemāk.

SELECT * FROM `members`;

Iepriekš minētajā paziņojumā tiek atlasīti visi lauki no dalībnieku tabulas. Semikols ir paziņojums izbeigt. Tas nav obligāti, bet tiek uzskatīts par labu praksi šādi izbeigt savus paziņojumus.

Praktiski piemēri

Noklikšķiniet, lai lejupielādētu myflix DB, kas izmantots praktiskiem piemēriem.

Jūs varat iemācīties importēt .sql failu MySQL WorkBench

Piemēri tiek veikti šādās divās tabulās

1. tabula: dalībnieku tabula

dalībnieka numurs pilni_nosaukumi dzimums dzimšanas datums fizikālā adrese pasta adrese cont_ numurs e-pasts
1 Dženeta Džonsa Sieviete 21-07-1980 Pirmās ielas zemes gabals Nr. 4 Privātā soma 0759 253 542 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
2 Dženeta Smita Džonsa Sieviete 23.06.1980 Melroze 123 NULL NULL Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
3 Roberts Fils Vīrietis 12-07-1989 3. iela 34 NULL 12345 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
4 Glorija Viljamsa Sieviete 14-02-1984 2. iela 23 NULL NULL NULL

2. tabula: filmu tabula

movie_id nosaukums direktors gads_izlaists category_id
1 Karību jūras pirāti 4 Robs Māršals 2011. gads 1
2 Aizmirstot Sāru Maršalu Nikolass Štollers 2008. gads 2
3 X-Men NULL 2008. gads NULL
4 Kods Melns Edgars Džimzs 2010. gads NULL
5 Tēta mazās meitenes NULL 2007. gads 8
6 Eņģeļi un dēmoni NULL 2007. gads 6
7 Davinci kods NULL 2007. gads 6
9 Medus mooners Džons Šulcs 2005. gads 8
16 67% vainīgs NULL 2012. gads NULL

Notiek dalībnieku iekļaušana sarakstā

Pieņemsim, ka mēs vēlamies no mūsu datu bāzes iegūt visu reģistrēto bibliotēkas dalībnieku sarakstu, lai to izdarītu, mēs izmantotu zemāk redzamo skriptu.

SELECT * FROM `members`;

Izpildot iepriekš minēto skriptu MySQL darbagaldā, tiek iegūti šādi rezultāti.

dalībnieka numurs pilni_nosaukumi dzimums dzimšanas datums fizikālā adrese pasta adrese cont_ numurs e-pasts
1 Dženeta Džonsa Sieviete 21-07-1980 Pirmās ielas zemes gabals Nr. 4 Privātā soma 0759 253 542 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
2 Dženeta Smita Džonsa Sieviete 23.06.1980 Melroze 123 NULL NULL Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
3 Roberts Fils Vīrietis 12-07-1989 3. iela 34 NULL 12345 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
4 Glorija Viljamsa Sieviete 14-02-1984 2. iela 23 NULL NULL NULL

Mūsu iepriekšējais vaicājums ir atgriezis visas rindas un kolonnas no dalībnieku tabulas.

Pieņemsim, ka mūs interesē tikai lauki pilni_nosaukumi, dzimums, fiziskā adrese un e-pasts. Šis raksts mums palīdzētu to sasniegt.

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

Izpildot iepriekš minēto skriptu MySQL darbagaldā, tiek iegūti šādi rezultāti.

pilni_nosaukumi dzimums fizikālā adrese e-pasts
Dženeta Džonsa Sieviete Pirmās ielas zemes gabals Nr. 4 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
Dženeta Smita Džonsa Sieviete Melroze 123 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
Roberts Fils Vīrietis 3. iela 34 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
Glorija Viljamsa Sieviete 2. iela 23 NULL

Tiek iegūts filmu saraksts

Iepriekšējā diskusijā atcerieties, ka mēs pieminam izteicienus, kas izmantoti SELECT paziņojumos. Pieņemsim, ka mēs vēlamies no mūsu datu bāzes iegūt filmu sarakstu. Mēs vēlamies, lai filmas nosaukums un filmas režisora ​​vārds būtu vienā laukā. Filmas režisora ​​vārdam jābūt iekavās. Mēs arī vēlamies iegūt gadu, kad filma tika izlaista. Šis skripts mums palīdz to izdarīt.

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

ŠEIT

  • Funkcija Concat () MySQL tiek izmantota kolonnu vērtību savienošanai.
  • Rinda "Concat (" nosaukums "," ("," direktors ",") ") iegūst nosaukumu, pievieno sākuma kronšteinu, kam seko režisora ​​vārds, pēc tam pievieno beigu kronšteinu.

Stīgu daļas tiek atdalītas, izmantojot komatus funkcijā Concat ().

Izpildot iepriekš minēto skriptu MySQL darbagaldā, tiek iegūta šāda rezultātu kopa.

Concat ("nosaukums", "(", "režisors", ")") gads_izlaists
Karību jūras pirāti 4 (Robs Māršals) 2011. gads
Aizmirstot Sāru Maršalu (Nikolass Štollers) 2008. gads
NULL 2008. gads
Kods Melns (Edgars Džimzs) 2010. gads
NULL 2007. gads
NULL 2007. gads
NULL 2007. gads
Medus mēness (Džons Šulcs) 2005. gads
NULL 2012. gads

Pseidonīmu lauku nosaukumi

Iepriekš minētais piemērs atgrieza savienošanas kodu kā lauka nosaukumu mūsu rezultātiem. Pieņemsim, ka mēs savu rezultātu kopā vēlamies izmantot aprakstošāku lauka nosaukumu. Lai to panāktu, mēs izmantosim slejas aizstājvārdu. Šī ir kolonnu aizstājvārda pamata sintakse

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

ŠEIT

  • "SELECT" kolonnas_nosaukums | vērtība | izteiksme " ir parasts SELECT priekšraksts, kas var būt kolonnas nosaukums, vērtība vai izteiksme.
  • "[AS]" ir izvēles atslēgvārds, pirms aizstājvārda nosaukums, kas apzīmē izteiksmi, vērtību vai lauka nosaukumu, tiks atgriezts kā.
  • "" alias_name "" ir aizstājvārds, kuru mēs vēlamies atgriezt savā rezultātu komplektā kā lauka nosaukumu.

Iepriekš minētais vaicājums ar nozīmīgāku kolonnas nosaukumu

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

Mēs iegūstam šādu rezultātu

Concat gads_izlaists
Karību jūras pirāti 4 (Robs Māršals) 2011. gads
Aizmirstot Sāru Maršalu (Nikolass Štollers) 2008. gads
NULL 2008. gads
Kods Melns (Edgars Džimzs) 2010. gads
NULL 2007. gads
NULL 2007. gads
NULL 2007. gads
Medus mēness (Džons Šulcs) 2005. gads
NULL 2012. gads

Notiek biedru saraksti ar dzimšanas gadu

Pieņemsim, ka mēs vēlamies iegūt visu dalībnieku sarakstu, kurā norādīts dalības numurs, pilni vārdi un dzimšanas gads, mēs varam izmantot virkni LEFT, lai no dzimšanas datuma lauka iegūtu dzimšanas gadu. Zemāk redzamais skripts mums to palīdz.

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

ŠEIT

  • "LEFT (` date_of_birth`, 4) " kreiso string funkcija akceptē dzimšanas datumu kā parametru un atgriež vienīgi 4 rakstzīmes no kreisās puses.
  • "AS" year_of_birth "" ir kolonnu aizstājvārds, kas tiks atgriezts mūsu rezultātos. Ņemiet vērā, ka AS atslēgvārds nav obligāts , varat to atstāt ārpusē, un vaicājums joprojām darbosies.

Izpildot iepriekš minēto vaicājumu MySQL darbagaldā pret myflixdb, tiek iegūti zemāk redzamie rezultāti.

dalībnieka numurs pilni_nosaukumi dzimšanas gads
1 Dženeta Džonsa 1980. gads
2 Dženeta Smita Džonsa 1980. gads
3 Roberts Fils 1989. gads
4 Glorija Viljamsa 1984. gads

SQL, izmantojot MySQL Workbench

Tagad mēs izmantosim MySQL darbagaldu, lai ģenerētu skriptu, kurā tiks parādīti visi lauku nosaukumi no mūsu kategoriju tabulas.

1. Ar peles labo pogu noklikšķiniet uz tabulas Kategorijas. Noklikšķiniet uz "Atlasīt rindas - ierobežot 1000"

2. MySQL darbagalds automātiski izveidos SQL vaicājumu un ielīmēs to redaktorā.

3. Vaicājumu rezultāti tiks parādīti

Ievērojiet, ka mēs paši nerakstījām SELECT paziņojumu. MySQL darbagalds to mums radīja.

Kāpēc izmantot komandu SELECT SQL, ja mums ir MySQL Workbench?

Tagad jūs domājat, kāpēc iemācīties SQL SELECT komandu vaicāt datus no datu bāzes, kad varat vienkārši izmantot tādu rīku kā MySQL darbagalds, lai iegūtu tādus pašus rezultātus, nezinot SQL valodu. Protams, tas ir iespējams, bet iemācīšanās izmantot komandu SELECT dod lielāku elastību un kontroli pār SQL SELECT priekšrakstiem .

MySQL darbagalds ietilpst QBE rīku kategorijā “ Vaicājums pēc piemēra ”. Tas ir paredzēts, lai palīdzētu ātrāk ģenerēt SQL priekšrakstus, lai palielinātu lietotāju produktivitāti.

Apgūstot komandu SQL SELECT, varat izveidot sarežģītus vaicājumus , kurus nevar viegli izveidot, izmantojot pakalpojumu Query by utilītas, piemēram, MySQL darbagaldu.

Lai uzlabotu produktivitāti, jūs varat ģenerēt kodu, izmantojot MySQL darbagaldu tad pielāgot tā, lai atbilstu Jūsu prasībām . Tas var notikt tikai tad, ja saprotat, kā darbojas SQL priekšraksti!

Kopsavilkums

  • SQL SELECT atslēgvārds tiek izmantots, lai vaicātu datus no datu bāzes, un tā ir visbiežāk izmantotā komanda.
  • Vienkāršākajā formā ir sintakse "SELECT * FROM tableName;"
  • Izteiksmes var izmantot arī izvēlētajā paziņojumā. Piemērs "Atlasīt daudzumu + cenu no pārdošanas"
  • SQL SELECT komandai var būt arī citi izvēles parametri, piemēram, WHERE, GROUP BY, HAVING, ORDER BY. Tie tiks apspriesti vēlāk.
  • MySQL darbagalds var palīdzēt izstrādāt SQL priekšrakstus, tos izpildīt un izveidot izejas rezultātu tajā pašā logā.