SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
ΠΠΎΠ³Π°ΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΡΠΎ AlexHost, Π½Π°Π΄Π΅ΠΆΠ΄Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ° ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ (VPS) Π½Π° AlexHost ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ SQL, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ»ΠΈ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ ΠΎΡ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π²Π°ΡΠΈΡΠ΅ SQL ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, VPS ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° AlexHost ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Ρ, ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Ρ ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ
SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ»ΡΠΆΠΈ Π·Π° Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΡ Π½ΠΎΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°?
SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ SQL ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π° ΡΠ°Π±ΠΎΡΠ½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π²ΠΈ Π΄Π°Π²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π΅Π΄Π½ΠΎ, ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΈ, ΠΈΠ»ΠΈ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΠΎΡ ΡΡΡ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π² ΡΡΠ΅Π΄ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° ΠΎΡ ΠΏΡΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ°Ρ ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° ACID, ΠΊΠΎΠΈΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°Ρ
- ΠΡΠΎΠΌΠΈΡΠ½ΠΎΡΡ: Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ° Π½Π΅Π΄Π΅Π»ΠΈΠΌΠΈ. ΠΠΊΠΎ Π½ΡΠΊΠΎΡ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, ΡΡΠ»Π°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΅ ΠΎΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΡΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡΡΠ°Π²Π° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π°. Π’ΠΎΠ²Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈΠ»ΠΈ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° Π½Π΅ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π°.
- ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ: Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π²Π΅ΠΆΠ΄Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΅Π΄Π½ΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎ. Π’Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΠΆΠ°Ρ ΠΊΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠΈΠ³Π΅ΡΠΈ, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
- ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅: Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½Π° ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΡΠ° Π²ΠΈΠ΄ΠΈΠΌΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π½Π΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½Π°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΈ ΠΏΡΠ΅ΡΠ°Ρ Π΅Π΄Π½Π° Π½Π° Π΄ΡΡΠ³Π°.
- ΠΡΠ»Π³ΠΎΡΡΠ°ΠΉΠ½ΠΎΡΡ: Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π°, Π½Π΅ΠΉΠ½ΠΈΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈ ΡΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ, Π΄ΠΎΡΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΡΡ, ΠΊΠΎΠ΅ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² SQL
Π SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
- BEGIN TRANSACTION: ΠΠ°ΠΏΠΎΡΠ²Π° Π½ΠΎΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.
- COMMIT: ΠΠΠΠͺΠ Π¨ΠΠ Π’Π ΠΠΠΠΠΠ¦ΠΠ―: ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
- ROLLBACK: ΠΡΠΌΠ΅Π½Ρ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ Π°ΠΊΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π²ΡΡΡΠ΅Π½Π°.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
ΠΡΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π² SQL
BEGIN TRANSACTION;
INSERT INTO accounts (user_id, balance) VALUES (1, 1000);
INSERT INTO accounts (user_id, balance) VALUES (2, 2000);
-- Transfer $500 from user_id 1 to user_id 2
UPDATE accounts SET balance = balance - 500 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 500 WHERE user_id = 2;
-- Check if balances are valid before committing
IF (SELECT balance FROM accounts WHERE user_id = 1) < 0 THEN
ROLLBACK; -- If not enough balance, undo the transaction
ELSE<
COMMIT -- If everything is fine, commit the transaction
END IF;ΠΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°:
- BEGIN TRANSACTION: Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
- ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΡ Π·Π° INSERT: Π‘ΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ Π΄Π²Π΅ ΡΠΌΠ΅ΡΠΊΠΈ Ρ Π½Π°ΡΠ°Π»Π½ΠΈ ΡΠ°Π»Π΄Π°.
- UPDATE ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΡ: ΠΠ΅ΠΆΠ΄Ρ Π΄Π²Π΅ΡΠ΅ ΡΠΌΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ 500 USD.
- Π£ΡΠ»ΠΎΠ²Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π±Π°Π»Π°Π½ΡΡΡ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ°. ΠΠΊΠΎ ΡΠΎ ΡΡΠ°Π½Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ Π²ΡΡΡΠ° Π½Π°Π·Π°Π΄.
- ΠΠΠΠͺΠΠΠΠΠΠ ΠΈΠ»ΠΈ ΠΠ ΠͺΠ©ΠΠΠ: Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π±Π°Π»Π°Π½ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΈΠ»ΠΈ Π²ΡΡΡΠ°.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅
1. ΠΠ°Π½ΠΊΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
Π Π±Π°Π½ΠΊΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΎΡ ΡΠ΅ΡΠ°Π²Π°ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠΈ, ΡΠ΅Π³Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠ΅ΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π°ΡΠΎΠΌΠ½ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π»ΠΈΠΌΠΈΡΠ° ΠΏΠΎ ΡΠΌΠ΅ΡΠΊΠ°ΡΠ°. Π§ΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Ρ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ
2. ΠΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ
Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΠΎΡΡΡΠΊΠΈ, Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ Π°ΠΊΠ°ΡΠ½Ρ. ΠΠΊΠΎ Π½ΡΠΊΠΎΡ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΡΡΠ½Π°ΡΠΈ, Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ°
3. ΠΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΌΠΈΠ³ΡΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π΅ ΡΡΠΏΠ΅ΡΠ½Π°. ΠΠΊΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ°, Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π°Π·Π°Π΄ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
SQL ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π°ΡΠΏΠ΅ΠΊΡ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ°, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ°ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Ρ ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ACID ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π΄Π°Π½Π½ΠΈΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ Π±Π°Π½ΠΊΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²Π°ΡΠΎ ΠΈ Π΄Π° Π΅ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΎΠ²Π»Π°Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π² SQL Π΅ ΠΊΠ»ΡΡΡΡ ΠΊΡΠΌ ΡΡΠΏΠ΅Ρ Π°. ΠΠ°ΡΠΎ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π² SQL, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈΡΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ²Π΅ΡΠ΅Π½ΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄Π°Π½Π½ΠΈ
