Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SQL Meisterへの道 ~更新編~

C6a8cb5e13aa716521d522471ec4e4cd?s=47 ma2k8
November 29, 2020

SQL Meisterへの道 ~更新編~

C6a8cb5e13aa716521d522471ec4e4cd?s=128

ma2k8

November 29, 2020
Tweet

Transcript

  1. SQL Meister ΁ͷಓ @ma2k8 2020-10-31 ~ߋ৽ฤ~

  2. ໨࣍ - ߋ৽ܥͷΫΤϦΛൃߦ͢Δͦͷલʹ - ҆৺҆શͷτϥϯβΫγϣϯ - INSERTจͰσʔλΛ௥Ճͯ͠ΈΑ͏ - INSERTจͷจ๏ -

    ࣮ߦ - UPDATEจͰσʔλΛߋ৽ͯ͠ΈΑ͏ - UPDATEจͷจ๏ - ࣮ߦ - DELETEจͰσʔλΛফͯ͠ΈΑ͏ - DELETEจͷจ๏ - ࣮ߦ
  3. ߋ৽ܥͷΫΤϦΛ ൃߦ͢Δͦͷલʹ

  4. ҆৺҆શͷτϥϯβΫγϣϯ τϥϯβΫγϣϯͱ͸ɺʮॲཧΛ·ͱΊΔʯ͜ͱͰ͢ɻ ઌఔୟ͍ͨSELECTจ͸1ͭͷΫΤϦͰ1ͭͷॲཧͰ͢ɻ τϥϯβΫγϣϯΛ࢖͏ͱɺෳ਺ͷΫΤϦΛ1ͭͷॲཧͱͯ͠ѻ͏͜ͱ͕Ͱ ͖·͢ɻ ݴ༿͚ͩͩͱ೉͍͠ͱࢥ͏ͷͰͱΓ͋͑ͣ΍ͬͯΈΑ͏ʂ

  5. ҆৺҆શͷτϥϯβΫγϣϯ ࢖͏ίϚϯυ͸ͨͬͨͷ3ͭ - ͸͡·Γͷ߹ਤ begin - ྺ࢙ͷ֬ఆ commit - ࣌Λ໭ͦ͏

    rollback
  6. ҆৺҆શͷτϥϯβΫγϣϯ begin -> rollbackͷ༷ࢠ Ѐ㧕㢑┮؊ٚڋْخ䮛嵮׵ا ЁⓇ䛧؊Ⲭؚئخ⺄峡 Ђٚڋْخ㧕㢑׵ا ρWRFCVG㡨؋ׯ؊㉭ⓛ؂׫ا؊؃⃡㣇䐂屷؃猳 Ѓ㧕㢑⑦⺚خ䮛嵮 Є㧕㢑⑦⺚ר㋾׿׻؄צئ״؟؆נ猳

    ֺ׹د؆؄ש؋㤣خ㔜׷ؚ׵ּ Ѕ㧡⓾؊䖗㐬؇㔜׿׻猳
  7. ҆৺҆શͷτϥϯβΫγϣϯ begin -> commitͷ༷ࢠ Ѐ㧕㢑┮؊ٚڋْخ䮛嵮׵ا ЁⓇ䛧؊Ⲭؚئخ⺄峡 Ђٚڋْخ㧕㢑׵ا ρWRFCVG㡨؋ׯ؊㉭ⓛ؂׫ا؊؃⃡㣇䐂屷؃猳 Ѓ㧕㢑⑦⺚خ䮛嵮 Є㧕㢑⑦⺚⹭䞈猳

    ׯ؊⑦⺚؃䮛⹻׵ا׺猳 Ѕ⯪㧕ר䮛⹻ױب׻猳
  8. ҆৺҆શͷτϥϯβΫγϣϯ ʮॲཧΛ·ͱΊΔʯͱΊͬͪΌศར͡Όͳ͍Ͱ͔͢ʁʁ ΫΤϦͰߋ৽͞Εͨޙͷঢ়ଶΛ֬ೝͯ͠ɺ֬ఆ͢Δ͔ɺ໭͔͢ ΛܾΊΔ͜ͱ͕Ͱ͖ΔͷͰͱͯ΋҆৺ͳͷͰ͢ɾɾɾʂ ߋ৽ܥΫΤϦ͸ɺwhere۟Λ๨ΕͪΌ͏ͱ͢΂ͯͷσʔλʹର ͯ͠ߋ৽Λ૸ΒͤͨΓɺةͳ͍ૢ࡞͕Ͱ͖ͯ͠·͏ͷͰ͜͏͍ ͏อݥΛ͔͚͓ͯ͘ͱ҆৺҆શͰ͢ɻ ࣗ෼͸͜ΕʹՃ͑ͯɺWHERE͔۟Βઌʹॻ͍ͯࣄނΒͳ͍Α͏ ʹͯͨ͠Γ͠·͢ɻ

  9. INSERTจͰ σʔλΛ௥Ճͯ͠ΈΑ͏

  10. INSERTจͷจ๏ INSERT INTO ${ςʔϒϧ໊} -> σʔλΛ௥Ճ͢ΔςʔϒϧΛࢦఆ SET ${ϑΟʔϧυ໊}=“௥Ճ಺༰”,... -> ௥Ճ͢ΔσʔλΛࢦఆ

    ρ+05'46㡨׼׭9*'4'⛆ר屢إ؆נ׺猳
  11. ࣮ߦ &$خ䮛嵮׳؂捙㕿 ٙڋ٩پ⃡岈خ䮛嵮 ٙڋ٩پ㲬持؄ٚڋْ؊⑦⺚خ䮛嵮 قػٽخ倥؛䶬؂؂⺀嬭猳 ρٌ٭ڋٌ؊梃⊣؃䧢נ؂ؚ׵רֻ ⺀楼؇قػٽخ⺀嬭׵ا楼؋ٛټچىقيٺچخ㊹ب׶؇猳

  12. UPDATEจͰ σʔλΛߋ৽ͯ͠ΈΑ͏

  13. UPDATEจͷจ๏ UPDATE ${ςʔϒϧ໊} -> σʔλΛߋ৽͢ΔςʔϒϧΛࢦఆ SET ${ϑΟʔϧυ໊}=“ߋ৽಺༰”,... -> ߋ৽͢ΔσʔλΛࢦఆ WHERE

    ${৚݅} -> ৚݅Λࢦఆ ρ9*'4'⛆خ㊹با؄⑉ٚڋْخ㧕㢑׳؂׳ؚנؚ׵猳♒楛猳
  14. ࣮ߦ &$خ䮛嵮׳؂捙㕿 ٙڋ٩پ⃡岈خ䮛嵮 ٙڋ٩پ㲬持؄ٚڋْ؊⑦⺚خ䮛嵮 ρׯׯ؃9*'4'⛆؃ㇶ׿קקا؊ר ֺֺֺ㏰⧔׳׻ٚڋْ؃מاק؞䮛嵮׳ؚ׵ قػٽخ倥؛䶬؂؂⺀嬭猳 ρٌ٭ڋٌ؊梃⊣؃䧢נ؂ؚ׵רֻ ⺀楼؇قػٽخ⺀嬭׵ا楼؋ٛټچىقيٺچخ㊹ب׶؇猳

  15. DELETEจͰ σʔλΛ࡟আͯ͠ΈΑ͏

  16. DELETEจͷจ๏ DELETE FROM ${ςʔϒϧ໊} -> σʔλΛ࡟আ͢ΔςʔϒϧΛࢦఆ WHERE ${৚݅} -> ࡟আ͢Δσʔλͷ৚݅Λࢦఆ

    ρ9*'4'⛆خ㊹با؄⑉ٚڋْخ┫楅׳؂׳ؚנؚ׵猳♒楛猳
  17. ࣮ߦ &$خ䮛嵮׳؂捙㕿 ٙڋ٩پ⃡岈خ䮛嵮 ٙڋ٩پ㲬持؄ٚڋْ؊⑦⺚خ䮛嵮 ρׯׯ؃9*'4'⛆؃ㇶ׿קקا؊ר ֺֺֺ㏰⧔׳׻ٚڋْ؃מاק؞䮛嵮׳ؚ׵ قػٽخ倥؛䶬؂؂⺀嬭猳 ρٌ٭ڋٌ؊梃⊣؃䧢נ؂ؚ׵רֻ ⺀楼؇قػٽخ⺀嬭׵ا楼؋ٛټچىقيٺچخ㊹ب׶؇猳

  18. ͜ΕͰSQL Meister ΁ͷಓ ~ߋ৽ฤ~ ͸मྃͰ͢ɻ ΋ͪΖΜόοΫΞοϓ͸ͯ͠·͕͢ɺσʔλ͸Ұ ౓มߋͯ͠͠·͏ͱר͖໭͢·Ͱʹ͕͔͔࣌ؒͬͯ ͠·͏ͷͰ৻ॏʹ࣮ߦ͠·͠ΐ͏ʂ