Ako e pā ana ki DDL, DML, JOINs
Ko te Reo Query Structured tetahi o nga poraka whare matua o te hanganga raupapa pātengi raraunga hou. Ka tautuhi a SQL i nga tikanga e whakamahia ana hei waihanga, hei whakamahi i nga papaaranga whanaungatanga i runga i nga mahinga nui katoa. I te tuatahi o te titiro, ko te reo he mea wehi, he matatini, engari ehara i te mea he uaua.
Ko tenei whakataki ki nga kaupapa i muri i te SQL ka titiro poto ki etahi o nga whakahau matua e whakamahia ana hei waihanga me te whakarereke i nga pae raraunga.
Mō SQL
Ko te whakahua tika o SQL ko te take tautohe i roto i te hapori raraunga. I roto i tana paerewa SQL, i whakaatu te American National Standards Institute ko te korero a te mana ko "es queue el". Engari, he maha nga kaiwhakarato raraunga kua mau ki te whakahua "slaquel". Ko te kōwhiringa koe.
Haere mai a SQL i roto i te maha o nga reka. Kei te whakamahi nga raraunga Oracle i tana PL / SQL. E whakamahi ana a Microsoft SQL Server i te whakamahi i te Transact-SQL. Ko nga momo rereke katoa kei runga i te paerewa ANSI SQL. Whakamahia ai e tënei whakatinanatanga nga ture SQL ANSI-mahi e mahi ana ki tetahi pünaha pätengi raraunga whanaungatanga hou.
DDL me DML
Ka taea te wehea nga whakahau SQL ki roto i nga reo-rua e rua. Kei roto i te Raraunga Whakaaturanga Raraunga (DDL) nga whakahau e whakamahia ana hei waihanga me te whakangaro i nga papaa raraunga me nga ahanoa pātengi raraunga. I muri i te tautuhinga o te hanganga raraunga ki te DDL, ka taea e nga kaiwhakarato raraunga me nga kaiwhakamahi te whakamahi i te Reo Whakamahia Raraunga (DML) hei whakauru, ka whakahoki me te whakarereke i nga raraunga kei roto.
Ko te Whakaaetanga Raraunga Reo
Ka whakamahia te Reo Whakaaturanga Raraunga hei waihanga me te whakangaro i nga papaunga raraunga me nga ahanoa pātengi raraunga. Ko enei raupapa e whakamahia ana e nga kaiwhakarato raraunga i nga waahanga tatanga me nga waahanga tangohanga o te kaupapa paerewa. Anei he titiro ki te hanganga me te whakamahinga o nga ture DDL e wha:
Whakaritea. Ko te whakarite i te pünaha whakahaere pätengi raraunga i runga i te rorohiko ka taea e koe te hanga me te whakahaere i te maha o nga raraunga motuhake. Hei tauira, ka hiahia pea koe ki te pupuri i tetahi pātengi raraunga o nga hoapene kiritaki mo to tari tari hokohoko me te papaunga paataka kaimahi mo to tari Tari HR. Ka whakamahia te tono CREATE ki te whakarite i ia o enei papaunga raraunga i runga i to turanga. Hei tauira, ko te whakahau:
ka waihanga i tetahi paparangi raraunga kore e kiia ko "kaimahi" kei runga i to DBMS. I muri i te waihanga i te papanga raraunga, ko te waahanga e whai ake nei ko te hanga i nga ripanga e whai raraunga ana. Ko tetahi atu momo o te whakahau CREATE e taea te whakamahi mo tenei kaupapa. Ko te whakahau:
KAUPAPA TABLE personal_info (ingoa tuatahi (name) (20) kaore i te kore, te ingoa whakamutunga (20) kaore i te kore, kaimahi_id e kore e whara)te whakarite i tetahi tepu e kiia ana ko "personal_info" i roto i te paataka raraunga o nāianei. I roto i te tauira, ko te tepu e toru nga huanga: te ingoa tuatahi, te ingoa whakamutunga me te kaimahi_id me etahi atu korero.
Whakamahia. Ko te whakahau USE ka taea e koe te tautuhi i te pātengi raraunga e hiahia ana koe ki te mahi i roto i to DBMS. Hei tauira, mehemea kei te mahi koe inaianei i roto i te papanga hokohoko, me te hiahia ki te whakaputa i etahi ture e pa ana ki te paataka raraunga kaimahi, whakatairangatia ki te whakahau SQL e whai ake nei:
Whakamahia nga kaimahiHe mea nui kia mohio tonu koe ki te pātengi raraunga e mahi ana koe i mua i te tuku i nga whakahau SQL e whakamahi ana i nga raraunga.
Tuhinga. I te wa i hangaia e koe he ripanga i roto i te papatohu, ka hiahia pea koe ki te whakarereke i tona whakamaramatanga. Ko te whakahau a te ALTER e taea ai e koe te whakarereke i te hanganga o te tepu me te whakakore me te whakaora i te reira. Tirohia te whakahau e whai ake nei:
ALTER TABLE personal_info ADD moni utu koreKo tenei tauira ka whakanui i tetahi huanga hou ki te ripanga whaiaro-nama-utu a te kaimahi. Ko te tautohetohe "moni" e tohu ana kei te penapenahia te utu o te kaimahi ki te whakamahi i nga taara me nga nama. Hei whakamutunga, ko te kupu "null" te korero i te pātengi raraunga e pai ana mo tenei mara kia kaua e whai hua mo tetahi kaimahi kua whakawhiwhia.
DROP. Ko te whakahau whakamutunga o te Raraunga Raraunga Raraunga, DROP, ka taea ki a tatou te tango i nga ahanoa pātengi raraunga katoa mai i to tatou DBMS. Hei tauira, ki te hiahia ki te tango i te ripanga whaiaroao i hangaia e matou, ka whakamahia e matou te whakahau e whai ake nei:
DROP TABLE personal_infoWaihoki, ka whakamahia te whakahau i raro nei hei tango i te raraunga kaimahi katoa:
Nga kaimahi KAIPAPA KAUPAPAWhakamahia tenei whakahau me te atawhai. Ko te whakahau DROP ka whakakore i nga hanganga raraunga katoa mai i to papamahi. Ki te hiahia koe ki te tango i nga reta takitahi, whakamahia te whakahau DELETE o te Reo Whakamahia Raraunga.
Te Whakaaetanga Reo Raupapa
Ko te Reo Whakamahia Raraunga (DML) ka whakamahia hei tiki, whakauru me te whakarerekē i nga korero raraunga. Ka whakamahia enei whakahau e nga kaiwhakamahi raraunga katoa i te wa e whakahaerehia ana te paataka.
WHAKAMAHI. Ko te whakahau INSERT i roto i te SQL ka whakamahia hei whakapiri i nga rekoata ki te ripanga kei te tīariari. Ki te hoki mai ki te tauira whaiaro whaiaro mai i te waahanga o mua, whakaarohia e hiahiatia ana e to tari Tari o te Tari tetahi kaimahi hou ki tana papaarangi. Ka taea e koe te whakamahi i tetahi whakahau penei me tenei:
Kia mahara kia wha nga uara kua tautuhia mo te rekoata. E hāngai ana enei ki nga huanga ripanga i roto i te raupapa kua tautuhia: te ingoa tuatahi, te ingoa whakamutunga, te kaimahi me te utu.
Tuhinga. Ko te whakahau SELECT te ture tino whakamahia i SQL. Ka taea e nga kaiwhakarato raraunga ki te tiki i nga korero motuhake e hiahiatia ana e ratou mai i te papanga mahi. Tirohia etahi tauira, ka whakamahi ano i te ripanga whaiaro whaiaro mai i te paatete kaimahi.
Ko te whakahau e whakaatuhia ana i raro nei ka tango i nga korero katoa kei roto i te ripanga whaiaro. Kia mahara kei te whakamahia te aperisk hei whara i SQL. Ko te tikanga tenei "Tīpakohia nga mea katoa mai i te ripanga whaiaro."
I tua atu, ka hiahia pea nga kaiwhakamahi ki te whakawhitinga i nga huanga ka puta mai i te papaapu. Hei tauira, ka hiahiatia e te Tari Tari Tangata he rarangi o nga ingoa whakamutunga o nga kaimahi katoa i te kamupene. Ko te whakahau SQL e whai ake nei e kii ana i taua korero anake:
WHAKAMAHI i te ingoa whakamutunga mai i te whaiaro whaiaroKa taea te whakamahi i te rarangi WHERE hei whakawhitinga i nga rekoata e kiihia ana ki nga hunga e whakatutuki ana i nga paearu kua tohua. Ko te Kaiwhakahaere Matua e hiahia ana ki te arotake i nga tuhinga a nga kaimahi mo nga kaimahi katoa kua tino utua. Ko te whakahau e whai ake nei ka tango i nga raraunga katoa i roto i te whaiaro whaiaro mo nga rekoata he utu nui atu i te $ 50,000:
WHAKATAHI * MAI i te whaiaro whaiaro WHAKANUI he $ 50000UPDATE. Ka taea te whakamahi i te tono UPDATE hei whakarereke i nga korero i roto i te ripanga, i te rahi ranei, i te takitahi. Ki te whakaaro a te kamupene ki nga kaimahi katoa, e 3 ōrau te nui o te whakapaunga moni-o-ora i roto ia ratou utu i ia tau. Ka taea te whakamahi i te whakahau SQL e whai ake nei kia hohoro te whakamahi i tenei ki nga kaimahi katoa e penapena ana i roto i te papaarapu:
UPDATE personal_info HUA utu = utu * 1.03Ina whakaatu te kaimahi hou a Bart Simpson i nga mahi i runga ake, i tua atu i te piiraa o te mahi, ka hiahia te kaiwhakahaere ki te whakanui i tana whakatutukitanga ki te $ 5,000. Ka taea te whakamahi i te waahi WHERE ki te wehe i a Bart mo tenei tihi:
UPDATE personal_info HUA utu = utu + $ 5000 WHERE employee_id = 12345Tuhinga. Hei whakamutunga, kia ata titiro ki te whakahau DELETE. Ka kitea e koe ko te raupapa o tenei whakahau he rite ki tera o nga atu ture DML. Engari, kaore i tino whakatutukihia e to maatau putea putea a te kamupene hou, kaore ano hoki a Bart i paahitia. Ka taea te whakamahi i te ture DELETE me te WHERE ki te tango i tana tuhinga mai i te ripanga whaiaro:
WHAKAMAHI MAI i te whaiaro whaiaro_I WHERE kaimahi_id = 12345Tuhinga o mua
Na kua ako koe i nga kaupapa o SQL, ko te wa tenei ki te neke atu ki tetahi o nga arii tino kaha ka whakaekea e te reo-te korero a te JOIN. Ko te korero a te JOIN ka taea e koe te whakakotahi i nga raraunga i roto i nga ripanga maha kia pai te tukatuka i te nui o nga raraunga. Ko enei korero kei reira te mana pono o te paatatapu e noho ana.
Hei torotoro i te whakamahinga o te mahi a te JOIN ki te honohono i nga raraunga mai i nga papa e rua, haere tonu ki te tauira ma te whakamahi i te ripanga PERSONAL_INFO me te tapiri i tetahi atu ripanga ki te whakauru. Me whakaaro koe he ripanga i huaina ko DISCIPLINARY_ACTION i hangaia me te korero e whai ake nei:
Kei roto i tenei ripanga nga hua o nga mahi whakatikatika i nga kaimahi o te kamupene. Ka kite koe kaore he korero mo te kaimahi i tua atu i te tau kaimahi. He ngawari ki te whakaaro i nga ahuatanga maha e hiahia ana koe ki te whakakotahi i nga korero mai i nga Ripanga DISCIPLINARY_ACTION me te PERSONAL_INFO.
Whakaaro kua tukuna koe ki te hanga i tetahi ripoata e whakariterite ana i nga mahi whakatikatika i mahia ki nga kaimahi katoa me te utu nui atu i te $ 40,000. Ko te whakamahinga o te mahi JOIN, i tenei keehi, he tika. Ka taea e tatou te tiki atu i enei korero ma te whakamahi i te whakahau e whai ake nei:
Ko te waehere e tohu ana i nga papa e rua e hiahia ana matou ki te whakauru mai ki te wahanga MAKE, ka whakauruhia he korero i roto i te waa WHERE ki te whakawhitinga i nga hua ki nga tuhinga e rite ana ki nga ID kaimahi me te whakatutuki i nga waahanga o te utu nui atu i te $ 40,000.