Computer, Software
MySQL APIL: paghulagway, usa ka ehemplo sa paggamit sa sugo ug mga rekomendasyon
Development sa usa ka database sa mga kapanguhaan sa Internet dili lahi sa sumbanan nga mga database naugmad sa sa sistema sa MS SQL Server. Kasagaran, alang niini nga matang sa kahinguhaan sa paggamit sa AKOANG SQL pinulongan, bisan tuod kini nga magamit sa sa pagpalambo sa standard nga produkto software alang sa lokal nga paggamit. Apan ang pangutana diha sa artikulo ayaw mahitungod niini.
Kasagaran sa diha nga nagtrabaho uban sa database sa matag usa sa mga pinulongan sa mga buluhaton aron sa paghimo sa sample data nga kuha sa usa ka matang sa mga taho, kan ug sa ingon sa. Ingon sa usa ka pagmando sa, ang pagpatuman sa niini nga matang sa mga problema nga kita sa paggamit sa dili usa apan sa pipila ka lamesa, paghiusa kanila ngadto sa usa ka hangyo, sa hilabihan gayud complicating gambalay niini. Kini mao ang gikinahanglan sa pagkuha sa ngadto sa asoy, ingon sa sila kinahanglan output data ingon nga "sa pagdakop sa" lamesa, ug unsa ang resulta mao ang labing madawat alang sa programmer. Aron pagsulbad niini nga mga problema, sa paggamit sa usa sa mga sumbanan nga MySQL design pinulongan - Apil.
Ang konsepto sa mga pulong Apil sa
Mga Pinulongan database development, bisan unsa nga matang sa pinulongan, nga ingon sa usa ka basehan sa sumbanan nga mga pulong sa mga Iningles nga diksyonaryo (nga mao ang hinungdan nga ang kahimtang nga ikaw nasayud nga Iningles, bude kamo mas sayon sa pagtrabaho uban sa mga lamesa). Aron sa pagpatuman sa lamesa koneksyon sa sample nga gikuha sa sama nga pulong - Apil. Sa pinulongan sa database software nga gigamit sa akong SQL. Hubad sa pulong pag-alagad mao gayud sa sama nga ingon sa pinulongan - "panaghiusa".
Paghubad sa MySQL gambalay - Join, sa bisan unsa nga usa sa nga mahimong gayud sa sama nga. Kon ihubad kamo sa katuyoan sa pagtukod, nga mao ang outline sa iyang buhat, kita sa mosunod nga mga mga mithi: ang design motugot sa pagkolekta sa gikinahanglan nga mga uma gikan sa lain-laing mga lamesa, o dugmonan pangutana sa usa lang ka sample.
Matang sa mga laraw sa iusa
Kon ang programmer kinahanglan sa pagkolekta sa usa ka sample gikan sa daghang mga lamesa, ug siya nasayud kon unsa ang yawe kaumahan diha kanila ug unsa nga matang sa data ang gikinahanglan alang sa mga report, kamo makahimo sa paggamit sa usa sa mga nag-unang mga istruktura sa asosasyon, aron sa pagkab-ot sa gitinguha nga resulta. Basic istruktura (sa pag-apil sa mga lamesa) mao ang upat ka mga:
- Sulod nga apil.
- Krus Apil sa.
- Wala apil.
- Matarung nga Apil sa.
Depende sa tahas, ang matag usa sa sumbanan nga mga mga laraw magahatag lain-laing mga resulta, nga makadawat sa mga taho sa lain-laing mga lantugi sa usa ka mubo nga panahon sa panahon.
Pagmugna ug nanimuyo lamesa alang sa ulahi nga paggamit
Sa dili pa kamo magsugod, alang sa panig-ingnan, sa paghunahuna sa mga mekanismo sa pagtrabaho uban sa data pagtugnaw, paglangkub mga tagik kinahanglan sa pag-andam sa pipila ka mga lamesa, nga kita magpadayon sa pagtrabaho. Kini makatabang sa pagpakita sa mga baruganan sa tanan nga mga operators, sa Dugang pa, mao nga ang mga magsusugod makakat-on sa tanan nga mga sukaranan mas sayon lamesa programming.
Ang unang lamesa paghulagway sa pipila sa mga butang nga ang mga tawo kanunay nasugatan sa iyang tibuok kinabuhi.
Ang ikaduha nga lamesa paghulagway sa pipila sa mga kabtangan sa mga butang gikan sa unang lamesa sa pagtugot sa dugang nga buhat sa uban kanila.
Sa kinatibuk-an, ang duruha ka papan mahimong igo sa pagpakita sa panig-ingnan sa ilang mga buhat. Karon nga imong mahimo mopadayon sa praktikal nga konsiderasyon sa atong mga laraw.
Pinaagi sa paggamit sa Inner Apil
Kon ikaw naggamit MySQL gambalay - Join Ineer bili naghunahuna sa pipila sa iyang mga bahin. design Kini nga nagtugot kaninyo sa pagpili gikan sa duha lamesa lamang niadto nga mga talaan nga anaa sa una ug sa ikaduha nga lamesa. Unsang paagi kini sa trabaho? Ang unang lamesa kita sa agalon yawe - ID, nga nagpakita sa mga serial gidaghanon sa mga rekord sa lamesa.
Sa diha nga sa paghimo kaninyo sa ikaduha nga lamesa, sa mao usab nga yawe gigamit ingon nga usa ka numero sa han-ay, usa ka panig-ingnan mahimong makita diha sa mga numero. Sa diha nga ang pagpili sa usa ka data Pagpili pamahayag ang pagtino sa resulta lamang nagtala sa serial mga numero coincide - busa, sila anaa sa una ug sa ikaduha nga lamesa.
Sa diha nga ang pagtukod mao ang gikinahanglan aron sa pagsabut kon unsay imong kinahanglan nga pagkuha sa data. Ang labing komon nga sayop, ilabi na alang sa mga developers sa database, kini mao ang walay hinungdan ug sayop nga paggamit sa disenyo Inner Apil. Ingon sa usa ka panig-ingnan, MySQL Inner Apil, nga kamo mahimo tagda ang usa ka script nga mobalik kanato sa kaniadto nga gihulagway ug puno sa mga lamesa sa mga butang nga impormasyon ug sa ilang mga kabtangan. Apan adunay mahimong daghang mga paagi sa paggamit sa disenyo. Bahin niini ang akong SQL kaayo flexible nga pinulongan. Busa, kamo mahimo tan-awa ang mga ehemplo sa paggamit sa MySQL Inner Apil.
Kauban lamesa walay specifying sa bisan unsa nga lantugi. Sa kini nga kaso, kita ang resulta sa maong usa ka plano:
Kon nagpakita kita pinaagi sa pulong Solusyon: Pinaagi sa paggamit sa usa ka pag-alagad, kini mao ang gikinahanglan sa paghunahuna sa nag-unang mga yawe sa mga rekord sa mga lamesa, ang resulta set mausab mahinuklugong. Sa kini nga kaso, kita ang sample, nga mobalik lamang sa mga laray nga gihulma nga sa mao usab nga agalon yawe.
Higayon sa usa ka ikatulo nga larawan sa paggamit, sa diha nga giaghat pinaagi sa pulong «sa» nagpakita kaumahan nga kinahanglan mahitabo apil lamesa. Sa kini nga kaso, ang mga sample mobalik sa mosunod nga impormasyon:
Features Gamita Wala Apil
Kon atong hunahunaon laing paagi sa paghiusa lamesa gamit ang MySQL gambalay - Join, ang usa mahimong makamatikod sa usa ka kalainan sa data, nga outputted. Ang maong usa ka mekanismo nga Wala disenyo.
Pinaagi sa paggamit sa gambalay Wala Join MySQL adunay pipila ka mga bahin ug, ingon sa Inner, nagkinahanglan sa usa ka tin-aw nga pagsabot sa mga resulta nga nakuha.
Sa kini nga kaso, ang unang mopili sa tanan nga mga talaan gikan sa unang lamesa, ug dugang pa nga niini nga gilakip ngadto sa ikaduha nga kabtangan lamesa. Sa kini nga kaso, kon adunay usa ka talaan, alang sa panig-ingnan, ang "tumbanan" sa unang lamesa ug ang ikaduha lamesa dili kabtangan niini, sa Wala operator pagpakita sa atubangan sa pagsulod ngadto sa null, nga nagsulti sa programmer nga ang mga ilhanan niini nga hilisgutan dili nadungog .
Pinaagi sa paggamit niini nga plano makatabang sa pagtino nga linya o, alang sa panig-ingnan, sa mga butang diha sa tindahan dili ang mga bili, ang warranty nga panahon , ug sa ingon sa.
Paggamit Panig-ingnan Wala
Aron nga giisip nga alang sa disenyo sa operator praktis Wala Join MySQL paggamit sa kaniadto nga gihulagway lamesa. Pananglitan, kamo kinahanglan nga pagpili sa bug-os nga listahan sa mga produkto nga anaa sa sa tindahan, ug check alang sa pipila kanila wala manganak kinaiya o mga kabtangan. Sa kini nga kaso, ang sampol nga ipakita sa tanan nga mga produkto, ug alang sa mga tawo nga walay kabtangan, magaanak nulls.
Diin paggamit sa pagtukod Apil sa
Ingon sa usa ka sukaranan, sa asosasyon mahimong maglakip sa dili lamang nagpakita sa mga kaumahan alang sa nga kamo kinahanglan gayud nga sa paghimo sa usa ka koneksyon lamesa, apan mahimong maglakip sa operator Diin mga kahimtang.
Pananglitan, tagda ang usa ka script nga kinahanglan nga mibalik ngadto sa kanato lamang sa mga talaan nga wala sa usa ka ilhanan. Sa kini nga kaso, kamo kinahanglan nga sa pagdugang sa mga disenyo Join termino operator ug nagpakita nga kini kinahanglan nga mibalik ingon nga sa usa ka resulta.
Sa diha nga gigamit sa MySQL Join - Diin kini kinahanglan nga tin-aw nga nasabtan nga nagpasundayag lamang sa mga talaan nga naglakip sa labaw sa kahimtang, ug ang sampol unya nga ingon sa mosunod:
Kini nga mga hangyo motugot kaninyo sa paghimo sa sample-piho nga data nga may kalabutan sa mga pinili nga programmer kahimtang. Ingon nga mga kahimtang mahimong nagpakita sa pipila ka posible nga samtang update lantugi data pagpili nahiusa uban sa mga lamesa.
Pinaagi sa paggamit sa Join sa pag-usab sa mga data sa mga lamesa
Pagdisenyo Apil, sa pagkatinuod, universal. kini nagtugot kaninyo sa dili lamang sa pagbuhat sa usa ka matang sa sample, apan usab sa Sumpaysumpaya sa mga hangyo gikan sa usa ngadto sa pipila ka mga lamesa, nga magpahamtang dugang nga mga kahimtang sa usa ka sample. Design mahimo usab nga gamiton alang sa uban nga operasyon data. Mao kini ang, Pakig-mahimong gamiton sa pag-usab sa mga data sa lamesa. O hinoon, aron sa pagklaro sa mga kahimtang sa sa lamesa, o sa mga kaso diin ang mga panginahanglan sa pag-update sa data sa daghang mga lamesa sa samang mga kahimtang.
Pananglitan, tagda ang mosunod nga problema. Gihatag sa tulo ka lamesa nga adunay pipila ka mga ebidensiya. Kini mao ang gikinahanglan sa pagtuman sa kausaban sa data sa duha lamesa sa paggamit sa usa ka pangutana. Lang alang sa pagsulbad sa maong mga buluhaton mahimong gigamit sa sugo Update Apil sa disenyo. Apil sa kaayo nga matang sa gambalay agad, sa sama nga paagi ingon nga sa kaso sa mga data sampol sa resulta sa nga gusto nga sa pagkuha sa usa ka programmer.
Tagda ang usa ka yano nga panig-ingnan. Ikaw kinahanglan sa pag-update sa data sa usa ka hangyo sa sa mao gihapon nga mga kahimtang. Kini nga matang sa pangutana nga gitukod sa optimize sa database. Nganong isulat lain-laing mga pangutana alang sa matag usa sa mga lamesa, kon kamo mogahin sa tanan nga mga data manipulasyon hangyo sa usa ka? PANIG-INGNAN MySQL Update Apil sa atong kahimtang nga:
Pagtukod komplikado pangutana
Na sa kanunay sa diha nga nagtrabaho uban sa database pangutana gikinahanglan sa pagtukod sa dili lamang sa usa ka panaghiusa sa pipila ka lamesa, apan usab sa paggamit sa sub-pangutana. Ang maong mga problema mao ang mga na sa lisud nga sa pagsabut sa alang sa novice programmer database. kalisud mao nga kita adunay sa paghunahuna sa matag lakang, pagtino nga data gikan sa usa ka lamesa o sa pangutana kinahanglan sa pagkuha ug sa unsa nga paagi sa umaabot nga sila kinahanglan nga moadto sa trabaho.
Kay sa usa ka labaw nga piho nga pagsabot mahimong giisip nga (sa MySQL Apil) panig-ingnan sa komplikado pangutana. Kon ikaw bag-o ug lang nagsugod sa pagtrabaho uban sa mga database, ang maong pagbansay-bansay lamang makabenepisyo. Ang tiunay nga larawan nga MySQL Wala Join mga panig-ingnan.
pangutana Kini nga mobalik kanato sa 58 mga rekord sa mga sales kontrata, nga mao ang bug-os nga o adunay usa ka cash balanse alang sa pinili nga petsa. Sa kini nga kaso, ang kasamtangan nga petsa. Usab sa sample gidugang ngadto sa kahimtang nga ang kontrata kinahanglan nga ang titulo karakter - "123". Ang sa-screen nga impormasyon (data) nga lainlainon - lainlainon pinaagi sa gidaghanon sa mga kontrata.
Ang mosunod nga panig-ingnan pagpakita sa mga detalye sa tanan nga mga pagbayad, nga nagpakita sa gidaghanon sa kontrata.
Pinaagi sa paggamit sa subqueries
Sumala sa gihisgotan sa sayo pa, sa diha nga nagtrabaho uban sa mga database nga inubanan dili lamang sa lamesa, apan ang lamesa uban sa mga hangyo. disenyo Kini nga nag-una nga gigamit sa pagpadali sa pangutana ug sa iyang pagkamalaumon.
Pananglitan, kon gusto ka nga gikan sa lamesa, nga adunay gatusan ka mga kaumahan ug, ingon, sa usa ka libo ka mga rekord, sa pagpili sa duha lamang ka uma, kini mao ang gikinahanglan nga sa paggamit sa usa ka pangutana nga mobalik lamang sa gikinahanglan nga mga uma, ug combine kini uban sa mga nag-unang data sample. Ingon sa usa ka panig-ingnan MySQL Join Pagpili mahimong hisgotan sa usa ka hangyo sa niini nga matang:
Kini dili ang tanan nga mga pamaagi sa paggamit sa standard nga mga laraw MySQL, ug sa lamang nga sumbanan. Sa unsa nga paagi sa paggamit sa disenyo ug Apil sa bisan unsa sa mga porma niini, ang programmer mohukom, apan kini mao ang bili sa paghinumdom ug ngadto sa asoy kon unsa ang resulta kinahanglan nga nakuha pinaagi sa pangutana.
Similar articles
Trending Now