Java taslamasyny döretmek baradaky seriýadan bir makala (beýleki materiallara baglanyşyk ahyrynda). Maksady esasy tehnologiýalary seljermek, netijesi telegramma bot ýazmak. Öňki makalalar we maglumat bazalarynda öý işiniň derňewi: 1 , 2 , 3 . Sabyr we çydamlylygy bolanlara, dördünji makala üçin meniň bilen gidenleriň hemmesine - gowy iş. Aýdyşlary ýaly, ýörän adam ýoly özleşdirip biler. Bu hepde maglumatlar bazalary baradaky iň soňky makala çap ediler, onda gatnaşyklaryň we goşulmagyň görnüşleri barada gürleşeris . Emma täze maglumatlar bilen iş salyşmazdan ozal, öý işimizi barlap göreliň ... Özümi mugallym ýaly duýdum. Maňa gaharlanmaň: Meniň pedagogiki bilimim ýok, elbetde. Geçen hepde uzakdan dolandyryşyň jikme-jik barlagy materialyň arslan paýyny alandygy sebäpli, öý işimiň derňewini we täze materialyň synyny iki bölege bölmek kararyna geldim.
Soňra diňe soragymyzy ilat boýunça tertipläp, diňe bir ýazgy almaly. Munuň üçin skriptiň soňuna LIMIT operatory goşmaly we zerur mukdary görkezmeli: $ SELECT * Ilatdan DESC LIMIT 1 tarapyndan ýurtdan sargyt;
Bu ýerde hemme zat has gyzykly, sebäbi haýyş has çylşyrymly, ýöne has gyzykly bolar. Goşulmak barada henizem pikirimiz ýoklygy sebäpli, diňe ýurt ID-ni alyp bileris: $ SELECT country_id, SUM (ilat) şäher GROUP-dan ýurt_id SUM (ilat) DESC LIMIT 1; Bu ýerde ajaýyp bir zat etdik - her ýurtdaky belli şäherleriň ilatynyň jemini ýygnadyk, bu mukdar boýunça tertiplenip, birinji elementi aldyk. Gowy? Men begenýärin: D Ondan soň derrew talap gurujy ýaly duýarsyňyz ... (uzak wagtlap däl)
Bu ýagdaýda hemme zat birmeňzeş bolar. Onlyeke-täk tapawut, sortlaşdyrmagyň tersine boljakdygy - hemmesi. Şonuň üçin haýyşlary ýazýaryn:
$ SELECT country_id, SUM (ilat) şäher GROUP-dan ýurt_id SUM (ilat) Çäklendirme 1;
$ Ilatyň Çäklendirmesi 1 Netijäni özüňiz görüň!
Ynha, tehniki spesifikasiýa nädip menejeriň ýazan ýaly takyk däl ... Näme üçin men muny karar berdim? Sebäbi haýsy tablisada işlemelidigi belli däl. Emma bu adaty zat: hemme zat derrew düşnükli we düşnükli boljak meseleler ýok. Şonuň üçin tabşyryklary üns bilen okamaly we soraglaryňyz bar bolsa derrew soraň! Dogry, bellik. Maglumatlar bazasyndaky maglumatlarymyzy göz öňünde tutup, şäherlerden alnan maglumatlary ulanyp gözläris. Munuň üçin aşakdaky soragy ýazyň: $ SELECT country_id, AVG (ilat) şäher GROUP BY country_id; Bu ýerde ýönekeý: AVG funksiýasyny ulanýarys we şäher ýazgylarymyzy ýurt boýunça toparlaýarys.
Isleg boýunça bu ýerde azajyk üýtgeşiklik bolar. Toparlamazdan ozal atlar boýunça süzgüç goşmaly. Bu makalany çap etmezden ozal, ähli okuwçylar ýaly öý işimi edýärin we bu meseläniň goşulmazdan çözülip bilinmejekdigine düşünýärin. Näme üçin? Sebäbi ýurt ID-den başga-da onuň adyny almaly. Iki ýazgyny bir ýazga goşmazdan edip bolmaz. Şonuň üçin bu işi ýerine ýetirerin, elbetde, ýöne bu meniň jambam ...))) Haýyşda LIKE ulanyp bir mesele tapmak isledim ...) $ SELECT ci.country_id, AVG (ci.population ) Şäherden INNER JOIN ýurt co ON ci.country_id = co.id WHERE co.name "% a" GROUP BY country_id; Bu ýerde näme boldy? Ilki bilen, daşary ýurt açary ýurt_idini ulanyp, şäher atlary we ýurt tablisalaryndaky ýazgylara goşuldyk, ýurt atlary bilen süzülip, “a” bilen gutardy we diňe ýurt_id tarapyndan toparlandy.
Bu ýerde diňe COUNT funksiýasyny ulanmaly we ilata süzgüç goşmaly: $ SELECT COUNT (*) WHERE ilaty> 4000000; Netijede, şeýle 3 ýurduň bardygyny bilýäris. Bu dogrymy? Hawa, bu ädimden diňe Moldowa geçmeýär.
Munuň üçin eýýäm bilýän ORDER BY operatorymyzy ulanmalydyrys. Defaultöne ýadyňyzdan çykarmaň, tertipleşdirme tebigy tertipde. Sanlar üçin bu ýokarlanýan tertipde tertiplenendigini, setirler üçin bolsa birinji harplardan başlap tertiplenendigini aňladýar. Eger aşak düşýän görnüş gerek bolsa, bize tebigy görnüşiniň tersi gerek: $ SELECT * countryurtdan sargyt Ilat tarapyndan DESC;
Tebigy tertipiň nämedigini bilmek şu ýerde peýdaly bolar. Dymmaklyk bolany üçin, bu biziň üçin tort bölegi: $ SELECT * countryurtdan sargyt adyndan;
Aslynda, öý işiniň derňewi
PD bilen meşgullanýan we bu hakda gürleýän adamlaryň bardygyna hökman begenýärin. Bu gaty gowy! Bilimi jemlemän okamagyň hiç ýere gitmejekdigine mümkin boldugyça ynanýaryn. Şonuň üçin eden ýa-da etjek bolanlaryň hemmesi - hormat. Wezipeleriň şertlerini ýatladýaryn:- HAVING operatoryna düşüniň we mysalymyzdan tablisalar üçin mysal soragyny ýazyň. Has düşnükli etmek üçin käbir meýdanlary ýa-da has köp bahalary goşmaly bolsaňyz, goşuň. Kimdir biri islese, mysal çözgüdiňizi teswirlere ýazyň - şonuň üçin wagtym bar bolsa barlap bilerin.
- UI arkaly maglumat bazasy bilen işlemek üçin MySQL Workbench guruň. Konsoldan işlemek üçin eýýäm ýeterlik tejribe bar diýip pikir edýärin. Maglumat bazasyna birikdiriň. Maglumat bazasy bilen işlemek üçin başga bir zat ulansaňyz, bu ýumuşdan geçip bilersiňiz. Bu ýerde we mundan beýläk diňe MySQL Workbench ulanaryn.
- Maglumatlarymyzy ulanyp almak üçin haýyşlary ýazyň:
- iň kiçi / iň köp ilatly ýurt;
- ýurtda ýaşaýanlaryň ortaça sany;
- atlary “a” bilen gutarýan ýurtlarda ýaşaýanlaryň ortaça sany;
- dört milliondan gowrak ilaty bolan ýurtlaryň sany;
- ilat sanyny azaltmak bilen ýurtlary tertiplemek;
- ýurtlary tebigy tertipde tertipläň.
HAVING hakda gürleşeliň
“Operator” -y bilmek, SQL problemalary boljak birden köp söhbetdeşlik geçirmäge kömek edip biler. Şonuň üçin muňa düşünmek gaty möhümdir. Diňe şeýle bolýar, jemlemek funksiýalaryny (SUM, MIN, MAX, AVG) ulanyp bilmersiňiz. Mundan başga-da, HAVING toparlanan meýdanlar üçin ulanylýar. Bu näme many berýär? Mysal üçin, şäherlerde ortaça ilatyň sany 50,000-den gowrak bolan ýurtlary almak islesek, HAVING ulanmazdan edip bilmeris. Muňa düşünşim ýaly, bu WHERE jümlesi ýerine ýetirilenden soň ýüze çykýar we soňundan hasaplanjak jemleme bahalaryny goşmak mümkin däl. Şu wagta çenli pikirlerim düşünişmäge kän bir goşant goşmasa-da, muny hakykat hökmünde kabul edip, özi bilen gidip bilersiňiz. Programmirlemekde köplenç bir zat bir pursat düşnüksiz bolsa, beýniniň entek siňdirilmändigini aňladyp biler. Bu pikir bilen uklaň we ertesi gün hemme zat düşnükli bolar.MySQL Workbench gurmak
Bu ýerde we soraglar üçin Workbench ulanaryn. Maglumatlar bazasyna gurnamak we birikdirmek üçin nämä gerekdigini görkezerin. Bu "Oracle" -dan öndürilen önüm, şonuň üçin diňe web sahypasyna girip, isleýän wersiýaňyzy we operasiýa ulgamyňyzy saýlamaly. Munuň üçin şu baglanyşyga eýeriň : Bu ýerde size zerur operasiýa ulgamyny saýlap bilersiňiz. Downloadükle düwmesine basyň , ýöne göçürip almagyň ýerine bu penjiräni göreris: lostitirilmäň, sag boluň diýlen düwmäni gözläň, göçürip alyp başlaň we göçürip başlar. Näme üçin beýle edýärler? Morehtimal, has köp adamyň hasaba alynmagy üçin bu biziň üçin möhüm däl. Üstünlikli göçürip alanyňyzdan soň, gurnama faýly işlediň. “MacOS” -da şeýle görünýär: Diňe nyşany süýräň we hut şol, gurnama tamamlandy. MySQL-yň özi gurmak ýaly kyn däl, şeýlemi? Ora-da biz indi öwrenişip, has tejribeli bolduk;) Bu meseläniň ikinji bölümi, maglumatlar bazamyza baglanyşyk döretmekdir. Munuň üçin näme gerek? MySQL birikmeleriniň gapdalyndaky goşmaça bellige basyň: Peýda bolan penjirede zerur maglumatlary giriziň:- Baglanyşygyň ady - baglanyşygymyzyň ady. Soňra tanamakda kynçylyk çekmezlik üçin mümkin boldugyça düşnükli atlary ýazyň. Bu baglanyşyga JRTB_DB adyny berýärin ;
- Hostname - eýýäm ýerli 127.0.0.1 (aka localhost) hökmünde kesgitlener . Biziň ýagdaýymyzda hiç zat üýtgedilmeli däl, sebäbi maglumatlar bazasy kompýuterde gurnalan, ýöne maglumatlar bazasy başga bir ýerde bolsa, öý eýesi (maglumatlar bazasy işleýän maşynyň ip) degişlilikde üýtgedilmeli;
- Ulanyjy ady - zerur bolsa ulanyjyny hem görkezip bilersiňiz. Bu açarda hiç zat goşmadyk bolsaňyz, ony üýtgetmän goýuň;
- Parol - Keychain-daky Dükana basyň we özüňiz üçin kesgitlän parolyňyzy kesgitläň. Everythinghli zady ýönekeý - kök goýdum .
GO TO FULL VERSION