Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SQL Meisterへの道 ~更新編~ / sql-meister-CUD
Search
machu
November 29, 2020
Technology
2.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SQL Meisterへの道 ~更新編~ / sql-meister-CUD
machu
November 29, 2020
More Decks by machu
See All by machu
NBAチームから学ぶ強いチームの作り方
machuz
0
77
Authorization to implement with Extensible Effect
machuz
0
480
アルプの 認証/認可分離戦略と手法
machuz
3
820
AuthzCtx - Alp社内共有会
machuz
0
110
アルプのEff独自エフェクト集 / Alp-original ’Eff’ pearls
machuz
1
2.3k
Scalebaseバックエンド構成について/the backend design of Scalebase
machuz
0
6.6k
SQL Meisterへの道 ~基礎〜参照編~ / sql-meister-R
machuz
0
2.8k
Authz
machuz
0
330
CQRS+ESをKinesis,Spark,RDB,S3でやってみた
machuz
0
3.6k
Other Decks in Technology
See All in Technology
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
140
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
170
パッチ更新でterraform initが落ちた日
grimoh
1
120
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
140
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.2k
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
130
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
0
230
hackers_champloo_2026_tidb
makocchi
0
140
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Thoughts on Productivity
jonyablonski
76
5.4k
WENDY [Excerpt]
tessaabrams
14
40k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
Amusing Abliteration
ianozsvald
1
340
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
470
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Claude Code のすすめ
schroneko
67
230k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Transcript
SQL Meister ͷಓ @ma2k8 2020-10-31 ~ߋ৽ฤ~
࣍ - ߋ৽ܥͷΫΤϦΛൃߦ͢Δͦͷલʹ - ҆৺҆શͷτϥϯβΫγϣϯ - INSERTจͰσʔλΛՃͯ͠ΈΑ͏ - INSERTจͷจ๏ -
࣮ߦ - UPDATEจͰσʔλΛߋ৽ͯ͠ΈΑ͏ - UPDATEจͷจ๏ - ࣮ߦ - DELETEจͰσʔλΛফͯ͠ΈΑ͏ - DELETEจͷจ๏ - ࣮ߦ
ߋ৽ܥͷΫΤϦΛ ൃߦ͢Δͦͷલʹ
҆৺҆શͷτϥϯβΫγϣϯ τϥϯβΫγϣϯͱɺʮॲཧΛ·ͱΊΔʯ͜ͱͰ͢ɻ ઌఔୟ͍ͨSELECTจ1ͭͷΫΤϦͰ1ͭͷॲཧͰ͢ɻ τϥϯβΫγϣϯΛ͏ͱɺෳͷΫΤϦΛ1ͭͷॲཧͱͯ͠ѻ͏͜ͱ͕Ͱ͖· ͢ɻ͜ΕʹΑͬͯɺ·ͱΊͨॲཧΛ࣮ߦ͢Δ͔ר͖͔͢ΛબͰ͖ͨΓ͠·͢ɻ ݴ༿͚ͩͩͱ͍͠ͱࢥ͏ͷͰͱΓ͋͑ͣͬͯΈΑ͏ʂ
҆৺҆શͷτϥϯβΫγϣϯ ͏ίϚϯυͨͬͨͷ3ͭ - ͡·Γͷ߹ਤ begin - ྺ࢙ͷ֬ఆ commit - ࣌Λͦ͏
rollback
҆৺҆શͷτϥϯβΫγϣϯ begin -> rollbackͷ༷ࢠ ①更新前のデータを確認する ②処理の始まりを宣言! ③データを更新する ※update文はこの後出てくるので一旦無視で! ④更新内容を確認 ⑤更新内容が思ったとおりじゃない!
そんなときは時を戻せます。 ⑥最初の状態に戻った!
҆৺҆શͷτϥϯβΫγϣϯ begin -> commitͷ༷ࢠ ①更新前のデータを確認する ②処理の始まりを宣言! ③データを更新する ※update文はこの後出てくるので一旦無視で! ④更新内容を確認 ⑤更新内容完璧!
この内容で確定するぞ! ⑥変更が確定された!
҆৺҆શͷτϥϯβΫγϣϯ ʮॲཧΛ·ͱΊΔʯͱΊͬͪΌศར͡Όͳ͍Ͱ͔͢ʁʁ ΫΤϦͰߋ৽͞Εͨޙͷঢ়ଶΛ֬ೝͯ͠ɺ֬ఆ͢Δ͔ɺ͔͢ ΛܾΊΔ͜ͱ͕Ͱ͖ΔͷͰͱͯ҆৺ͳͷͰ͢ɾɾɾʂ ߋ৽ܥΫΤϦɺwhere۟ΛΕͪΌ͏ͱͯ͢ͷσʔλʹର ͯ͠ߋ৽ΛΒͤͨΓɺةͳ͍ૢ࡞͕Ͱ͖ͯ͠·͏ͷͰ͜͏͍ ͏อݥΛ͔͚͓ͯ͘ͱ҆৺҆શͰ͢ɻ ࣗ͜ΕʹՃ͑ͯɺWHERE͔۟Βઌʹॻ͍ͯࣄނΒͳ͍Α͏ ʹͯͨ͠Γ͠·͢ɻ
INSERTจͰ σʔλΛՃͯ͠ΈΑ͏
INSERTจͷจ๏ INSERT INTO ${ςʔϒϧ໊} -> σʔλΛՃ͢ΔςʔϒϧΛࢦఆ SET ${ϑΟʔϧυ໊}=“Ճ༰”,... -> Ճ͢ΔσʔλΛࢦఆ
※INSERT文だけWHERE句が要らないぞ! INSERT INTO users SET name = ‘machu’, updated_at = now(); テーブル名 フィールド名 値 フィールド名 値
࣮ߦ DBを確認して選択 テーブル一覧を確認 テーブル構造とデータの内容を確認 クエリを組み立てて実行! ※スペースの関係で省いてますが、 実際にクエリを実行する際はトランザクションを忘れずに!
UPDATEจͰ σʔλΛߋ৽ͯ͠ΈΑ͏
UPDATEจͷจ๏ UPDATE ${ςʔϒϧ໊} -> σʔλΛߋ৽͢ΔςʔϒϧΛࢦఆ SET ${ϑΟʔϧυ໊}=“ߋ৽༰”,... -> ߋ৽͢ΔσʔλΛࢦఆ WHERE
${݅} -> ݅Λࢦఆ ※WHERE句を忘れると全データを更新してしまいます!危険! UPDATE users SET name = ‘machu’, updated_at = now() WHERE id = 1; テーブル名 フィールド名 値 フィールド名 値 条件 フィールド名 値
࣮ߦ DBを確認して選択 テーブル一覧を確認 テーブル構造とデータの内容を確認 ※ここでWHERE句で引っかかるのが 意図したデータであるかも確認します クエリを組み立てて実行! ※スペースの関係で省いてますが、 実際にクエリを実行する際はトランザクションを忘れずに!
DELETEจͰ σʔλΛআͯ͠ΈΑ͏
DELETEจͷจ๏ DELETE FROM ${ςʔϒϧ໊} -> σʔλΛআ͢ΔςʔϒϧΛࢦఆ WHERE ${݅} -> আ͢Δσʔλͷ݅Λࢦఆ
※WHERE句を忘れると全データを削除してしまいます!危険!
࣮ߦ DBを確認して選択 テーブル一覧を確認 テーブル構造とデータの内容を確認 ※ここでWHERE句で引っかかるのが 意図したデータであるかも確認します クエリを組み立てて実行! ※スペースの関係で省いてますが、 実際にクエリを実行する際はトランザクションを忘れずに!
͜ΕͰSQL Meister ͷಓ ~ߋ৽ฤ~ मྃͰ͢ɻ ͪΖΜόοΫΞοϓͯ͠·͕͢ɺσʔλҰ มߋͯ͠͠·͏ͱר͖͢·Ͱʹ͕͔͔࣌ؒͬͯ ͠·͏ͷͰ৻ॏʹ࣮ߦ͠·͠ΐ͏ʂ