Kaupapa SQL

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:

Whakaritea nga kaimahi DATABASE

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 kaimahi

He 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 kore

Ko 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_info

Waihoki, ka whakamahia te whakahau i raro nei hei tango i te raraunga kaimahi katoa:

Nga kaimahi KAIPAPA KAUPAPA

Whakamahia 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:

WHAKAMAHI I roto i nga uara whaiarowhakamahi ('bart', 'simpson', 12345, $ 45000)

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."

WHAKAPAHI * MAI i te whaiaro 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 whaiaro

Ka 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 $ 50000

UPDATE. 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.03

Ina 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 = 12345

Tuhinga. 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 = 12345

Tuhinga 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:

KAUPAPA RAUTAKI TABLE (kaore te mahi a te mahi, te kaimahi_id e kore e whara, nga korero a (500))

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:

WHAKATAHI whaiaro_autu.first_name, personal_info.last_name, disciplinary_action.com putanga FROM personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

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.