JavaRush /Java Blog /Random-TK /Maglumatlar bazalaryny we SQL dilini seljerýäris. (2-nji ...

Maglumatlar bazalaryny we SQL dilini seljerýäris. (2-nji bölüm) - "A-dan Z-a çenli Java taslamasy"

Toparda çap edildi
Java taslamasyny döretmek baradaky seriýadan bir makala (beýleki materiallara baglanyşyk ahyrynda). Maksady esasy tehnologiýalary seljermek, netijesi telegramma bot ýazmak. "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümSaglyk, gadyrly okyjylar. Bu gün azajyk gürleşeris we has köp ýazarys, sebäbi ellerimiz gözümizden has gowy ýatlaýar. Siz özüňizi gyzyklandyryp bilersiňiz: näme üçin MySQL ulanýarys? Mysal üçin, şol bir PostgreSQL we beýleki çözgütler bar. Bu ýerde hemme zat ýönekeý. Ilki bilen mugt. Ikinjiden, amatly UI interfeýsi bar (bu hakda aýratyn makalada gürleşeris). Üçünjiden, ol maňa tanyş we ýakymly. Aboveokardakylaryň hemmesinden başga-da, MySQL hem adatydyr.

Öý işini barlamak

Geçen gezek bir tabşyryk berdim - MySQL-y enjamymda guruň we oňa giriň. Konsol arkaly ýa-da başga bir ýol bilen. Hemme zat ýerine ýetirildimi? "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümEdenlere gowy iş et! JavaRush-da haýsy derejededigiňiziň ähmiýeti ýok, gollanmalara laýyklykda işlemek üçin zerur gurallary gurup we düzüp bilmek möhümdir. Size ynandyrýaryn, olaryň köpüsi bolar. Synanyşan, ýöne üstünlik gazanyp bilmedikler hem gorkmaýarlar. Bu hemişe ilkinji gezek bolup geçmeýär: käwagt dynç almaly we täze güýç bilen gaýtadan synanyşmaly. MySQL-y özüňiz kim gurdy - teswirlerde "+" ýazyň, şonuň üçin kimdir biriniň edýändigini bilýärin. Menem muny ederin. Indi Windows noutbukym ýoklugy sebäpli, ony MacBook-da görkezerin. Gurmak prosesi başgaça bolar öýdemok. Iňlis gollanmasyny ulanyp, özleri gurmak isleýänler üçin şu ýere basyň .

MacOS-da MySQL gurmak

Ilki bilen aşakdaky baglanyşyga giriň , aşakda görkezilişi ýaly Windows, Ubuntu ýa-da MacOS bolsun, operasiýa ulgamyny saýlaň: "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümGöçürip alyň. Şeýle-de bolsa, derrew meniň üçin hemme zat dogry bolmady. “Apple” -iň iň soňky wersiýasyny gurnamaga rugsat bermeýändigi ýüze çykdy: "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümElbetde, muny öçürip bilersiňiz, ýöne “MacBook” işleýär, men onuň sazlamalary bilen ylalaşmaýaryn. Şonuň üçin synag we ýalňyşlyk arkaly gurnap boljak wersiýany tapdym - bu 5.7.21 . Beýleki wersiýalaryny tapmak üçin Arhiw goýmasyna giriň we islenýän wersiýany saýlaň: "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-5-nji bölümSoňra göçürilen faýly işlediň. Indiki, indiki, indiki basyň, ýöne ahyrynda seresap boluň! Maglumat bazasyna girmek üçin ulanyjy ady we paroly bolar. Meniň üçin bu şeýle boldy: Bu ýerde kök ady we Vac / zto = .24q paroly "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümbolan ulanyjy bolar diýilýär . Bu gurnamany tamamlaýar.

MySQL buýruk setirine giriň

Girmek üçin MySQL serweriniň açykdygyna göz ýetirmeli. Munuň üçin Ulgam ileri tutmalaryna gidiň , MySQL nyşanyny tapyň: Oňa "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-7-nji bölümgidiň we serweriň ilki açylmalydygyny görüň. Munuň üçin MySQL Serwerine başlamagy basyň we hut şu. Hawa, gutujygy her gezek enjam işe başlanda serweriň fonda başlamagy üçin gutyny hem barlap bilersiňiz. Terminaldaky ähli haýyşlary aýdyňlaşdyrmak üçin $"Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölüm nyşany bilen başlajakdygymy bellemelidiris . Ondan soň, buýruk setiri arkaly MySQL serwerine gönüden-göni birikmeli. Munuň üçin terminaly açyň we ýazyň: $ mysql We iki wariant bar:
  1. Jogap “RALRYŞ 1045 (28000):“ roman_beskrovnyi ”@“ localhost ”(parol ulanyp: NOOK) ulanyjy üçin giriş gadagan edilen bolsa, bu serweriň gurnalandygyny we yzyna çagyrylýandygyny aňladýar. Diňe dogry buýrukdan geçmeli oňa.
  2. Jogap tapylmasa : mysql , gowy - serwer bilen baglanyşyk ýok. Munuň üçin mysql üýtgeýjisi bilen lakam düzmeli bolarsyňyz, şonuň üçin aşakdaky setiri ýazýarys:

    $ lakamy mysql = / usr / ýerli / mysql / bin / mysql

    Bu diňe bu terminal sessiýasy üçin kömek eder. Emma mundan başga zerurlyk ýok - elmydama terminalda işlemeris.

  3. MySQL gurulmady, kompýuteriňizi aldamaň.
Ondan soň, gurnama wagtynda berlen ady we paroly ulanýarys we ýazýarys: $ mysql --user = root -p"Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölüm Şol ýerde paroly ýazýarys we şu görnüşde begeneris: "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-10-njy bölümDiňe iň soňky setirde MySQL-a girendigimiz aýdylýar terminal serweri. Rootöne kök üçin bu parol bir gezeklik parol boldy we ony başga birine öwürmeli. Howpsuzlyk sebäpli, elbetde. Muny üýtgetmesek we serwerde täze maglumat bazasyny döretmäge synanyşmasak, aşakdaky jogaby alarys: RAL .YŞ 1820 (HY000): Bu sözlemi ýerine ýetirmezden ozal ALTER USER beýany ulanyp parolyňyzy täzeden düzmeli . "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümBaşgaça aýdylanda, olar mejbur edilýär. Bolýar, bolýar, bu biziň üçin kynmy? Paroly has ýönekeýleşdireliň (bu diňe ýerli iş üçin; hakyky iş üçin parol çylşyrymly bolmaly). Ulanyjy ady ýaly kök diýeliň . Paroly üýtgetmek üçin setiri girizmeli: ALTER USER 'root' @ 'localhost' 'kök' tarapyndan kesgitlenýär; Jogap şeýle bolar: Hemme zadyň dogry işleýändigine göz ýetirmek üçin, aşakdaky sintaksis"Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölüm ulanyp täze maglumat bazasyny döretmäge synanyşalyň : $ DATABASE CREATE test_db; Şeýle maglumat bazasynyň serwerde döredilendigine göz ýetirmek üçin buýrugy ýazyň: $ SHAT DATABASES; Netijede aşakdakylary alýarys: Bularyň hemmesi :) simpleönekeý we çaltdygyny aýtmak mümkin däl. Şonuň üçin kim muny eden bolsa - aýratyn hormat. Etmedikler üçin alada etme, gurnamagyň ähli görnüşleri üçin gollanmalar bar:"Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölüm Ol ýerde hemme zat gaty manyly beýan edilýär. Onlyeke-täk zat, hemme zat iňlis dilinde. Indi ilkinji setirlerimizi SQL-de ýazýarys.

Ilkinji setirlerimizi SQL-de ýazmak

Aboveokarda belleýşiňiz ýaly, iki buýrugy bilýäris:
  1. Maglumatlar bazasyny döretmek - serwerde maglumat bazasy döredýär;
  2. Maglumatlar bazalaryny görkez - Serwerde döredilen we elýeterli maglumatlar bazalarynyň hemmesini görkezýär.
SQL-iň buýruklaryny nädip ýazýandygymyzyň ähmiýetiniň ýokdugyny belläp geçýärin - bularyň hemmesi baş harplar bilen ýa-da ýok. Şeýle-de bolsa, buýruklary baş harplar bilen ýazmak gowy edep hasaplanýar. Ondan soň, maglumat bazasyny pozmak üçin DROP DATABASE database_name buýrugyny ýazmaly ; bu ýerde database_name ýok etmek isleýän maglumatlar bazamyzyň ady. Test_db atly synag maglumatlar bazasyny eýýäm döretdik , geliň pozalyň. Munuň üçin ýazýarys: $ DROP DATABASE synagy; Islegiň üstünlikli bolandygyny tassyklaýandygy üçin, OK, 0 hatar täsir eden (0.02 sek) jogap gaty möhümdir. Mundan başga-da, bu talapyň tablisalarda näçe hatar üýtgändigini we haýsy wagtyň dowamynda üýtgändigini aýdýar. Umuman aýdanyňda, DROP"Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-15-nji bölüm sözi bir zady aýyrmak üçin jogapkärdir. Bu ýagdaýda maglumat bazasyny pozduk. Thisöne bu başga maksatlar üçin hem ulanylyp bilner (mysal üçin, tablisany taşlamak). Indi bolsa, maňa ynanmak üçin netijäni barlaň, näçe maglumat bazasynyň galandygyny göreliň: $ Maglumatlary görkeziň; Görşümiz ýaly, test_db atly maglumat bazasy ýok. CHTD: D."Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-16-njy bölüm

Öz maglumatlar binýadyňyzy we tablisaňyzy dörediň

Şäherler bazasyny dörediň: $ DATABASE şäherleri dörediň; Belli bir maglumat bazasynda işlemek üçin oňa girmeli. Munuň üçin USE database_name buýrugyny ulanyň , şondan soň tablisalar bilen işlemek üçin ähli buýruklar bu maglumatlar bazasynda ýerine ýetiriler. $ USE şäherleri ulanyň; Jogapdan görnüşi ýaly - Maglumat bazasy üýtgedi , bu maglumat bazasyna geçiş üstünlikli boldy. "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümIndiki ädim tablisany döretmekdir. Haýsy? Geliň, ilki bilen ýurtlar bilen tablisa döredeliň. Näme üçin beýle? Sebäbi şäherler ýerleşýän ýurdy üçin daşary ýurt açary gerek. Bu ýurtlar, umuman alanyňda, maglumatlar bazasynda (mundan beýläk - maglumatlar bazasyndan gysgaldylan) başlansoň alynyp bilner. Öňki makaladan ýadymyzda bolşy ýaly , ýurtlaryň beýan edilen tablisasynda bizde iki meýdan bar - ID we ady, bu ýerde ID özboluşly kesgitleýji we ady ýurduň ady. Şonuň üçin şeýle maglumat bazasyny döretmek armutlary atmak ýaly aňsat. Writeazýarys: $ TABLE ýurt dörediň (id INT, ady VARCHAR (30)); "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-18-nji bölümGörşüňiz ýaly hemme zat gowy boldy. SHOW DATABASES bilen meňzeşlik bilen, tablisalaryň sanawyna seredip bileris: $ SHOW TABLES; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümIne, biziň stolumyz. Indi tablisalary nädip pozmalydygyny öwreneliň. Munuň üçin ýazýarys: $ DROP TABLE ýurt; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümTablisa ýa-da maglumat bazasy öçürilenden soň, ony dikeldip bolmajakdygyny bellemelidiris!

Stol bilen işlemek

Döreden tablisamyzy dikeliň. Munuň üçin diňe eýýäm eden zatlaryňyzy gaýtalamaly. Tablisa gurluşyna seretmek üçin aşakdaky buýrugy ulanmaly - DESC table_name : $ DESC ýurt; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümGörşüňiz ýaly, tablisadaky ähli maglumatlar şu ýerde ýazylýar. Tablisa bir zat goşmak üçin INSERT INTO table_name VALUES () buýrugyny ulanmaly . Üç ýurt üçin üç ýazgy goşalyň: $ GYMMAT ÜÇIN INSERT (1, 'Ukraina'); Countryurduň bahalaryna $ 2 ('Russiýa'); Countryurduň bahalaryna $ 3 ('Belorus'); "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümMaglumat bazasynda nämäniň saklanýandygyna göz aýlamak üçin maglumatlary almak üçin ýönekeý haýyş ulanarys. Munuň üçin ähli meýdanlaryň maglumatlaryny ýurt tablisasyndan almak isleýäris. Öňki sözlemi üns bilen ýadyňyzda saklaň, sebäbi sql soragy şeýle bolar: $ SELECT * FROM; Bu ýerde * ähli meýdanlary almaly diýmekdir. "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-23-nji bölümIne, şeýle ajaýyp bolduk. Diňe belli bir meýdan almak islesek, bu mesele däl: ýyldyzyň ýerine dyngy bilen bölünmeli meýdanlaryň atlaryny ýazýarys. Özüňiz synap görüň;) Biz eýýäm tablisa döretdik, ýöne nämüçindir bu hakda ýeterlik maglumat ýok. Ilatyň sany elbetde zyýan bermez, şeýlemi? Muny nädip etmeli?
  1. Stol shemasyna täze bir meýdan goşuň - ilat.
  2. Bar bolan ýazgylary täzeläň.
Birinjisi üçin ALTER TABLE table_name ADD COLUMN buýrugyny ulanarys . Umuman aýdanyňda, ALTER TABLE DDL amallary üçin buýruklar toplumydyr (munuň nämedigini ýadyňyzdamy? Öňki makalada bardy). .Eri gelende aýtsak, SELECT DML amalyny aňladýar. Aşakdakylary ýazalyň: $ HEMMESI TABLE ýurt COLUMN ilatyny goşuň; $ DESC ýurt; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümSuratdan görnüşi ýaly, tablisa üstünlikli täze meýdan goşduk we meýdanyň shemadadygyny ikinji buýruk bilen barladyk. Ikinji ädim, tablisadaky ýazgylary täzelemek we bahalary bellemek. Geliň, belgini Wikipediýadan alalyň. Olara ynanýandygym däl, ýöne muňa garamazdan, bu iň çalt we aňsat usuldyr. Munuň üçin başga bir DML buýrugyny ulanyň. Firstöne ilki bilen näme etmek isleýändigimizi aýdalyň: ýurt tablisasyny täzelemek, ilat meýdanyny id = 1 bolan ýazgyda 41806221 deň etmek isleýäris we bu gurluşyň görnüşi: UPDATE table_name SET table_row1 = value WHERE table_row2 = baha2; Şundan ugur alyp, ýazýarys: $ UPDATE ýurt SET ilaty = 41806221 WHERE id = 1; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-25-nji bölümBu ýerde ilkinji gezek WHERE açar sözüni ulandyk . Süzmek üçin bahalary goşmak zerur. Mysal üçin, bu gezek diňe idine deň bolan meýdan (meýdanlar) üçin täzelenmegiň zerurdygyny aýtdyk (sql-e munuň esasy açarydygyny aýdýançak - olaryň birnäçesi bolup biler). WHERE id> 2. ýaly şerti hem kesgitläp bilerdik, süzgüç asla kesgitlenmedik bolsa, bu baha ähli tablisa ýazgylaryna ýazylardy. Russiýa, Belarus we beýleki ýurtlar üçin özüňizi täzeläň;) Indi ID-den 1-den uly bolan şertde at we ilat meýdanlary üçin tablisadan maglumat almaga synanyşalyň ; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümŞeýlelik bilen, diňe özümiziň isleýän ugurlarymyzy aldyk. INSERT INTO arkaly haýsy meýdanlary goşmak isleýändigimizi we haýsylaryny boş goýmak isleýändigimizi kesgitläp bileris. Munuň üçin biz ýazýarys: $ INSERT INTO (ady, ilaty) GYMMATLAR ('Jorjiýa', 1234566); Näme bolandygyny barlamak üçin, ähli meýdanlaryň sanawyna seredeliň: $ SELECT * FROM; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümŞahsyýetnamasyz giriş erbet, ilat, elbetde, kellesinden alyndy, şonuň üçin ony pozmaly. DELETE FROM table_name buýrugyny ulanyň : $ WHERE name WHERE name = 'Georgia'; "Java-dan A-dan Z" taslamasy: maglumat bazalaryny we SQL dilini seljerýäris.  2-nji bölümŞeýlelik bilen, stoldan bir meýdany nädip pozmalydygyny öwrendik.

Öý işi

Öý işi aşakdaky ýaly bolar:
  1. ID meýdançasyndan ýurt tablisasynyň shemasyna esasy açary (PRIMARY KEY) goşmaly.
  2. Tableurt tablisasyna başga bir ýurt goşuň - Moldowa.
  3. Öňki makalanyň shemasyna laýyklykda, beýan edilen meýdanlaryň hemmesini öz içine alýan stol şäherini dörediň. Meýdanyň atlary aşakdaky ýaly bolar: id, ady, ýurt_id, ilat.
  4. Şäher tablisasyna esasy açar goşuň.
  5. Şäher stoluna daşary ýurt açary goşuň.
Wezipe gyzykly, bilýänler üçin çalt we çylşyrymly bolar. Etmedikler üçin bu makaladaky materiallaryň ajaýyp güýçlendirilmegi bolup hyzmat eder.

Geliň, jemläliň

Bu makalada köp zatlar etdik. Ilki bilen MySQL maglumat bazasynyň serwerini gurduk we başladyk. Ikinjiden, açar sözleriň we talaplaryň doly sanawyny öwrendik, olaryň kömegi bilen indi maglumat bazalaryny we tablisalary döredip / pozup bileris. Maglumatlary tablisalara nädip goşmalydygyny, täzelenmegi we pozmagy öwrendik. Ine, düşündirişleri bilen birlikde ulanan ähli buýruklarymyz:
  • DATABASE database_name dörediň; - täze maglumat bazasyny döretmek
  • Maglumatlar bazasyny görkezmek; - maglumat bazalarynyň sanawyny görmek
  • DROP DATABASE database_name; - maglumat bazasyny pozuň
  • Maglumat bazasynyň adyny ulanyň; - maglumat bazasynda işlemek
  • Jetwel tablisasynyň adyny dörediň (id INT, ....); - tablisa döretmek
  • Jetwelleri görkezmek; - tablisalaryň sanawyny görmek
  • DESC TABLE table_name; - tablisanyň diagrammasyna serediň
  • AÇYLMAK Jetwel_name; - tablisany pozmak
  • Tablisa_name GYMMATLARA (); - tablisa meýdan goşuň
  • Tablisa_ adyndan WHERE table_row = bahany saýlaň; - WHERE-den soň şertde tablisa meýdanlaryny alyň
  • Tablisa_name-den saýlaň; - tablisadaky ähli meýdanlary alyň
  • HEMMESI Jetwel_name ADD COLUMN sütün_name COLUMN_TYPE; - tablisanyň shemasyna täze meýdan meýdançasyny goşuň
  • Talbe_name SET talbe_row1 = value1 WHERE table_row2 = value2; - tablisadaky ýazgylary täzeläň: başga bir meýdanyň şertine görä bir meýdanyň bahalaryny düzüň
  • Tablisa_ adyndan ÖÇÜRMEK WHERE table_row1 = value1; - belli bir şertde bir meýdany (ýa-da meýdanlary) stoldan aýyryň.
Meniň pikirimçe, siziň bilen ajaýyp iş etdik. Işimi halaýanlaryň hemmesini GitHub hasabyma ýazylmaga çagyrýaryn , şol ýerde karýeramda bolup geçýän gyzykly taslamalary we wakalary ýerleşdirýärin. Açyk çeşmede işlemek isleýänleriň hemmesini taslamalarymyza (ammarlara) gatnaşmaga çagyrýaryn. Üns bereniňiz üçin hemmäňize sag bolsun aýdýaryn. Soonakynda maglumat bazalary baradaky indiki makala bilen tanyş boluň.

Tapgyryň ähli materiallarynyň sanawy bu makalanyň başynda.

Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION