рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

2026 рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖ 34 MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░

MySQL рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВтАФрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЯрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЗрд╕ рдЧрд╛рдЗрдб рд╕реЗ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВ!

рдЕрдкрдирд╛ рдирд┐рдГрд╢реБрд▓реНрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ

рдЕрднреНрдпрд╛рд╕ рдФрд░ рдЯреНрд░реИрдХ рдЕрдкрдиреА рдкреНрд░рдЧрддрд┐ рдХреЛред

Google рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦреЗрдВрдЬрд╛рд░реА рд░рдЦрдХрд░, рдЖрдк рд╣рдорд╛рд░реА рдЙрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЗрдВ, рд╣рдорд╛рд░реА рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рднреА рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ USA рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рд▓рдЧрднрдЧ рд╣рд░ рдЬреЙрдм рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдореЗрдВ MySQL рдХреА рдорд╛рдВрдЧ рд╣реЛрддреА рд╣реИ? рдЗрд╕рдХреА рдПрдХ рдЕрдЪреНрдЫреА рд╡рдЬрд╣ рд╣реИ тАФ MySQL рдЖрдкрдХреА рдкрд╕рдВрджреАрджрд╛ рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ рд▓реЗрдХрд░ рд░реЛрдЬрд╝рд╛рдирд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рддрдХ, рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рдкрд╛рд╡рд░ рджреЗрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣ рдЧрд╛рдЗрдб MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдореИрдВ рдЙрди рдореВрд▓ рдмрд╛рддреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рдХреЙрдиреНрд╕реЗрдкреНрдЯ рддрдХ рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдЬреВрдирд┐рдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд▓реЗрдХрд░ рд╕реАрдирд┐рдпрд░ рд░реЛрд▓реНрд╕ рддрдХ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд╣реИрдВред рд╕рд╛рде рд╣реА, рдореИрдВ рдХреБрдЫ рдЯрд┐рдкреНрд╕ рднреА рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдбреЗрдЯрд╛-рд╕рдореНрдмрдВрдзрд┐рдд рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕реА рдирдЬрд╝рд░ рдЖрдПрдВред┬а

MySQL рдХреНрдпрд╛ рд╣реИ?

MySQL рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ RDBMS (рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо) рд╣реИ рдЬреЛ SQL рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд░рдЪрд┐рдд рдЯреЗрдмрд▓реЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ Oracle Corporation рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдпрд╣ 2024 рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп DBMS рдХреЗ рд░реВрдк рдореЗрдВ рд░реИрдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, 2025 рдХреЗ Stack Overflow Developer рд╕рд░реНрд╡реЗ рдореЗрдВ рдкреЗрд╢реЗрд╡рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ PostgreSQL рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрддрд╛рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ MySQL рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рд╛ред

рдЧрд▓рдд рдордд рд╕рдордЭрд┐рдП: MySQL рдЕрдм рднреА рдмреЗрд╣рдж рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ тАФ 2025 рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ 40.5% рдЙрдкрдпреЛрдЧ рддрдХ рдкрд╣реБрдВрдЪрд╛ тАФ рдФрд░ рдЕрдм рднреА рдЕрд╕рдВрдЦреНрдп рд╡реЗрдм рдПрдкреНрд▓реАрдХреЗрд╢рдВрд╕, рдХрдВрдЯреЗрдВрдЯ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо, рдФрд░ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдЯреВрд▓реНрд╕ рдХреЛ рдкрд╛рд╡рд░ рджреЗрддрд╛ рд╣реИред рдФрд░ рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЖрдк рд╡реЗрдм рдПрдкреНрд▓реАрдХреЗрд╢рдВрд╕ рдпрд╛ LAMP рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ MySQL рдПрдХ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рд╕реНрдХрд┐рд▓ рд╣реИред

2024 рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЧреНрд░рд╛рдл, рдЬрд┐рд╕рдореЗрдВ MySQL рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж PostgreSQLред

2024 рдореЗрдВ, MySQL рджреБрдирд┐рдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди-рд╕реЛрд░реНрд╕ DBMS рдерд╛, рдЬрд┐рд╕рдХрд╛ рд░реИрдВрдХрд┐рдВрдЧ рд╕реНрдХреЛрд░ 1061 рдерд╛ред рд╕реНрд░реЛрдд: Statista.

рдмреЗрд╕рд┐рдХ MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЗрдВрдЯрд░рд╡реНрдпреВ рдЪрд░рдг рдореЗрдВ, рдЗрдВрдЯрд░рд╡реНрдпреВрдЕрд░ рдЖрдкрдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ MySQL рдХреЙрдиреНрд╕реЗрдкреНрдЯреНрд╕ рдХреА рд╕рдордЭ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓рднреВрдд рдкреНрд░рд╢реНрди рдкреВрдЫ рд╕рдХрддрд╛ рд╣реИред┬а

1. рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ DBMS рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ?┬а

рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХреНрд╕реЗрд╕, рд╕рдВрд╢реЛрдзрд┐рдд рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣рдорд╛рд░реЗ рдкреЛрд╕реНрдЯ рдХреЛ рдХрд┐рд╕рдиреЗ рдкрд╕рдВрдж рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред

DBMS (Database Management System) рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИтАФрдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдирд╛ рдФрд░ рдЙрдирдХреА рдПрдХреНрд╕реЗрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ред MySQL рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп DBMS рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ PostgreSQL, MongoDB, рдФрд░ Microsoft SQL Server рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

2. MySQL рдЕрдиреНрдп рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдореНрд╕ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ?

MySQL рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо (RDBMS) рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕рд░рд▓рддрд╛, рд╕реНрдкреАрдб, рдФрд░ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓реАрдХреЗрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред┬а

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ MySQL рдЕрдиреНрдп RDBMSs рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ:

  • рд╕рд╛рджрдЧреА рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕: MySQL рдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рд░рд╛рд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддрд╛ рд╣реИред
  • рдПрдбрд╡рд╛рдВрд╕реНрдб рдлреАрдЪрд░реНрд╕: рдЬрдмрдХрд┐ MySQL рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИ, рдпрд╣ рдХреБрдЫ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХрдореА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп RDBMS рдЬреИрд╕реЗ PostgreSQL рдореЗрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рдЬреИрд╕реЗ ACID рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╕рдорд░реНрдерди, рдЙрдиреНрдирдд рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ, рдФрд░ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╕реЗрдЯред
  • рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди: MySQL рдЖрдкрдХреЛ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди (рдЬреИрд╕реЗ InnoDB, MyISAM) рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИред

MySQL рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрдкреАрдб рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдпрд╛ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ-рдЧреНрд░реЗрдб рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП PostgreSQL рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

3. MySQL рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреНрд░рдореБрдЦ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреМрди-рд╕реЗ рд╣реИрдВ?

MySQL рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡рд░реНрдЧреАрдХреГрдд рд╣реИрдВ:

  • Numeric: INT, DECIMAL, FLOAT, DOUBLE, рдЖрджрд┐

  • String: CHAR, VARCHAR, TEXT, BLOB.

  • Date/time: DATE, DATETIME, TIMESTAMP, TIME.

  • JSON: JSON рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

4. INT рдФрд░ DECIMAL рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?┬а

INT рдкреВрд░реНрдгрд╛рдВрдХ (рдбреЗрд╕рд┐рдорд▓ рдкреЙрдЗрдВрдЯ рдХреЗ рдмрд┐рдирд╛) рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдЬрдм рднрд┐рдиреНрдирд╛рдВрд╢ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛ, рддрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, DECIMAL рд╡рд┐рддреНрддреАрдп рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбреЗрд╕рд┐рдорд▓реНрд╕ рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХ рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред┬а

5. MySQL рдореЗрдВ DATE рдФрд░ DATETIME рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?┬а

DATE MySQL рдореЗрдВ рд╡рд░реНрд╖, рдорд╛рд╣ рдФрд░ рджрд┐рди рдХреЗ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рддрд╛рд░реАрдЦ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ:┬а

YYYY-MM-DD

рдЬрдмрдХрд┐ DATETIME рддрд╛рд░реАрдЦ рдХреЗ рд╕рд╛рде рд╕рдордп рднреА рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:┬а

YYYY-MM-DD HH:MM:SS┬а

6. рдлреЙрд░реЗрди рдХреА рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ?┬а

рдлреЙрд░реЗрди рдХреА рдПрдХ рдЯреЗрдмрд▓ рдореЗрдВ рд╡рд╣ рдлреАрд▓реНрдб рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджреВрд╕рд░реА рдЯреЗрдмрд▓ рдХреА рдкреНрд░рд╛рдЗрдорд░реА рдХреА рд╕реЗ рдЬреБрдбрд╝рддреА рд╣реИред┬а

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ customers рдЯреЗрдмрд▓ рдореЗрдВ рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдЯреЛрд░ рдХрд░рддреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдПрдХ рдпреВрдирд┐рдХ customer_id рд╣реЛрддрд╛ рд╣реИтАФрдПрдХ рдЕрдиреНрдп рдЯреЗрдмрд▓ transactions (рдЬреЛ рдЦрд░реАрдж рд░рд┐рдХреЙрд░реНрдб рд╕реНрдЯреЛрд░ рдХрд░рддреА рд╣реИ) рдореЗрдВ, рд╣рдо customer_id рдХреЛ рдлреЙрд░реЗрди рдХреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдЯреЗрдмрд▓ рдореЗрдВ customer_id рдкреНрд░рддреНрдпреЗрдХ рдЦрд░реАрдж рдХреЛ customers рдЯреЗрдмрд▓ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

SQL рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);
CREATE TABLE transactions (
    transaction_id INT PRIMARY KEY,
    customer_id INT,
    amount DECIMAL(10,2),
    date DATE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

7. INNER JOIN, LEFT JOIN, RIGHT JOIN, рдФрд░ FULL JOIN рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?

Joins рд╕рдореНрдмрдВрдзрд┐рдд рдХреЙрд▓рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдЯреЗрдмрд▓реНрд╕ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрдирдХреЗ рдЕрдВрддрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  • INNER JOIN: рд╡рд╣реАрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреЛрдиреЛрдВ рдЯреЗрдмрд▓реНрд╕ рдореЗрдВ рдореИрдЪ рд╣реЛред

  • LEFT JOIN: рдмрд╛рдПрдБ рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рджрд╛рдПрдБ рдЯреЗрдмрд▓ рд╕реЗ рдореИрдЪрд┐рдВрдЧ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ рджрд╛рдПрдБ рдЯреЗрдмрд▓ рдХреЗ рдХреЙрд▓рдореНрд╕ рдХреЗ рд▓рд┐рдП NULL рд▓реМрдЯрддрд╛ рд╣реИред

  • RIGHT JOIN: LEFT JOIN рдЬреИрд╕рд╛ рд╣реА, рд▓реЗрдХрд┐рди рджрд╛рдПрдБ рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рдмрд╛рдПрдБ рд╕реЗ рдореИрдЪрд┐рдВрдЧ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

  • FULL JOIN: LEFT JOIN рдФрд░ RIGHT JOIN рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рджреЛрдиреЛрдВ рдЯреЗрдмрд▓реНрд╕ рдХреА рдЕрдирдореИрдЪреНрдб рдкрдВрдХреНрддрд┐рдпрд╛рдБ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдиреЛрдЯ: MySQL рдореВрд▓ рд░реВрдк рд╕реЗ FULL JOIN рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ред рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП LEFT JOIN рдФрд░ RIGHT JOIN рдХреЗ UNION рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

8. MySQL рдореЗрдВ DELETE, TRUNCATE, рдФрд░ DROP рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?

DELETE, TRUNCATE, рдФрд░ DROP рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рд╕реБрдирдиреЗ рдореЗрдВ рдПрдХ рдЬреИрд╕реЗ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдирдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ:

DELETE: рд╢рд░реНрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреЗрдмрд▓ рд╕реЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╣реЛ, рддреЛ рд░реЛрд▓ рдмреИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:

DELETE FROM employees WHERE department_id = 5;

TRUNCATE: рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреЗрдмрд▓ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ DELETE рд╕реЗ рддреЗрдЬ рд╣реИ рдФрд░ рд░реЛрд▓ рдмреИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред рдЙрджрд╛рд╣рд░рдг:

TRUNCATE TABLE employees;

DROP: рдЯреЗрдмрд▓ рдХреЗ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рдЯрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрдВрдбреЗрдХреНрд╕ рдЬреИрд╕реА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рднреА рд╣рдЯ рдЬрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:

DROP TABLE employees;

9. рдЖрдк MySQL рдореЗрдВ рдЯреЗрдмрд▓ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рджреЗрдВред

рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк CREATE TABLE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ ALTER TABLE рдХрд╛ред рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ:

рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВ:

CREATE TABLE employees (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), department VARCHAR(50));

рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:

ALTER TABLE employees ADD COLUMN salary DECIMAL(10, 2);

10. SQL рдореЗрдВ рдЯреЗрдореНрдкрд░реЗрд░реА рдЯреЗрдмрд▓ рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИ?┬а

рдЯреЗрдореНрдкрд░реЗрд░реА рдЯреЗрдмрд▓ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдореМрдЬреВрдж рд░рд╣рддреА рд╣реИред рд╕реЗрд╢рди рдмрдВрдж рд╣реЛрддреЗ рд╣реА рдЯреЗрдмрд▓ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЯреЗрдмрд▓ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕реЗ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рдпрд╛ рд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

CREATE TEMPORARY TABLE temp_employees (
    id INT,
    name VARCHAR(50)
);
INSERT INTO temp_employees VALUES (1, 'John Doe');
SELECT * FROM temp_employees;

11. MySQL рдореЗрдВ рд╕рдмрдХреНрд╡реЗрд░реА рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИ? рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рд╕рдордЭрд╛рдЗрдПред┬а

рд╕рдмрдХреНрд╡реЗрд░реА (рдЬрд┐рд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдХреНрд╡реЗрд░реА рднреА рдХрд╣рддреЗ рд╣реИрдВ) рдХрд┐рд╕реА рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рдмрдВрдзрдиреАрдп рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдФрд╕рдд рд╡реЗрддрди рд╕реЗ рдЕрдзрд┐рдХ рдХрдорд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрдХреНрд╡реЗрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:┬а

SELECT first_name, last_name, salary
FROM employees
WHERE salary > (
    SELECT AVG(salary)
    FROM employees
);

рдЖрдЗрдП рдЗрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ:

  1. рднреАрддрд░реА рдХреНрд╡реЗрд░реА SELECT AVG(salary) FROM employees рдкрд╣рд▓реЗ рдФрд╕рдд рд╡реЗрддрди рдирд┐рдХрд╛рд▓рддреА рд╣реИред

  2. рдмрд╛рд╣рд░реА рдХреНрд╡реЗрд░реА рдлрд┐рд░ рдЗрд╕ рдФрд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврддреА рд╣реИ рдЬреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХрдорд╛рддреЗ рд╣реИрдВред┬а

12. MySQL рдореЗрдВ рдХрд┐рд╕реА рдЯреЗрдмрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк INSERT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИрдВ?┬а

рд╣рдо INSERT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдмрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╕рд┐рдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:

INSERT INTO table_name (column1, column2, ...) 
VALUES (value1, value2, ...); 

INSERT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╕рдордп рдЗрди рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ

  1. рдХреЙрд▓рдореНрд╕ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рд╕реНрдЯ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЯреЗрдмрд▓ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрджрд▓рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдХрдо рд╣реЛрддреА рд╣реИрдВред

  2. AUTO_INCREMENT рдХреЙрд▓рдореНрд╕ рдЬреИрд╕реЗ IDs рдХреЛ INSERT рдореЗрдВ рд╕реНрдХрд┐рдк рдХрд░реЗрдВред MySQL рдЗрдиреНрд╣реЗрдВ рдСрдЯреЛрдореИрдЯрд┐рдХ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ IDs рди рдмрдиреЗрдВред┬а

  3. рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реБрд╕рдВрдЧрдд рд░рдЦреЗрдВред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рд┐рдВрдЧрд▓ рдХреЛрдЯреНрд╕ рдкрд╕рдВрдж рдХрд░рддрд╛/рдХрд░рддреА рд╣реВрдБ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

  4. рдпрджрд┐ рдЖрдк рдХрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдмреЗрд╣рддрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдХрд░реЗрдВред

13. MySQL рдореЗрдВ AUTO_INCREMENT рдРрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХрд╛ рдХреНрдпрд╛ рдорд╣рддреНрд╡ рд╣реИ?

MySQL рдореЗрдВ AUTO_INCREMENT рдРрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдХ, рдХреНрд░рдорд┐рдХ рдирдВрдмрд░ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЯреЗрдмрд▓ рдХреА рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдХреЗ рд░реВрдк рдореЗрдВред

рдпрд╣рд╛рдБ AUTO_INCREMENT рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    department VARCHAR(50)
);

рдФрд░ рдЗрд╕рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛:

INSERT INTO employees (name, department) VALUES ('John Doe', 'Sales');
INSERT INTO employees (name, department) VALUES ('Jane Smith', 'Marketing');

14. MySQL рдореЗрдВ рд╡реНрдпреВ (View) рдХреНрдпрд╛ рд╣реИ?┬а

рд╡реНрдпреВ рдПрдХ рд╕реЗрд╡реНрдб рдХреНрд╡реЗрд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдЯреЗрдмрд▓ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдЬрд░рд┐рдП рд╣рдо рдХрд┐рд╕реА рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░реА рдХреЛ рдирд╛рдо рджреЗрдХрд░ рд╕реЗрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рдЯреЗрдмрд▓ рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рдкреВрд░реА рдХреНрд╡реЗрд░реА рдлрд┐рд░ рд╕реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░рдиреА рдкрдбрд╝рддреАред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЙрдирдХреЗ рд╡рд┐рднрд╛рдЧ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░рд▓рддрд╛ рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдХ рд╡реНрдпреВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

CREATE VIEW employee_details AS
SELECT 
    e.id,
    e.name,
    d.department_name,
    e.salary
FROM 
    employees e
JOIN 
    departments d ON e.department_id = d.department_id;

рдЕрдм рдЖрдк employee_details рд╡реНрдпреВ рдХреЛ рдЯреЗрдмрд▓ рдХреА рддрд░рд╣ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

SELECT * FROM employee_details;

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рд╡реНрдпреВрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдЗрдиреНрд╕рд░реНрдЯ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реНрдпреВрдЬрд╝ рд░реАрдб-рдУрдирд▓реА рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдпреВрдЬрд╝рд░реНрд╕ рдХреА рд╕реАрдзреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рддреА рд╣реИред рдХрднреА-рдХрднреА рд╡реНрдпреВрдЬрд╝ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдзреАрдорд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмрд╛рд░ рдПрдХреНрд╕реЗрд╕ рд╣реЛрдиреЗ рдкрд░ рд╡реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди

рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╣рдо рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ-рд╕реНрддрд░ рдХреЗ рдЯреЙрдкрд┐рдХреНрд╕ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред рдпреЗ рдкреНрд░рд╢реНрди рдореБрдЦреНрдпрддрдГ MySQL рдХреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдФрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдЖрдкрдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗ рдЬрд╛рддреЗ рд╣реИрдВред

15. рд╕рд┐рд╕реНрдЯрдо-рд╡рд░реНрдЬрд╝рдиреНрдб рдЯреЗрдмрд▓реНрд╕ рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ?┬а

рд╕рд┐рд╕реНрдЯрдо-рд╡рд░реНрдЬрд╝рдиреНрдб рдЯреЗрдмрд▓реНрд╕ рдХрд┐рд╕реА рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдкреВрд░рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдмрдирд╛рдП рд░рдЦрддреА рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрдЬрд╝рди рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддреА рд╣реИрдВ, рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдбрд┐рдЯрд┐рдВрдЧ рдФрд░ рдбреЗрдЯрд╛ рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред┬а

рдпреЗ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓рдо тАФ StartTime рдФрд░ EndTime тАФ рдЬреЛрдбрд╝рдХрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХрдм рд╡реИрдз рд╣реИред рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рдЗрдиреНрд╕рд░реНрдЯ, рдЕрдкрдбреЗрдЯ рдпрд╛ рдбрд┐рд▓реАрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдЕрдкрдбреЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ:

  • Insert: рдирдИ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ StartTime рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ EndTime 9999-12-31 23:59:59 тАФ MySQL рдХрд╛ рдЕрдзрд┐рдХрддрдо DATETIME рдорд╛рди тАФ рдЬреЛ 'рдпрд╣ рдкрдВрдХреНрддрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реИ' рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдВрдЯрд┐рдирд▓ рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред

  • Update: рдореВрд▓ рдкрдВрдХреНрддрд┐ рдХреЗ EndTime рдХреЛ рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдЕрдм рд╡реИрдз рди рд░рд╣реЗред рдлрд┐рд░ рдЕрдкрдбреЗрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирдИ рдкрдВрдХреНрддрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ StartTime рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣реЛрддрд╛ рд╣реИ рдФрд░ EndTime "рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП"ред

  • Delete: рдореМрдЬреВрджрд╛ рдкрдВрдХреНрддрд┐ рдХреЗ EndTime рдХреЛ рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкрдВрдХреНрддрд┐ рдЕрдм рд╡реИрдз рдирд╣реАрдВ рд╣реИред

SQL рдХреЗ FOR SYSTEM_TIME рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЯреЗрдмрд▓ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордп рдмрд┐рдВрджреБ рдкрд░ рдпрд╛ рд╕рдордп-рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  • FOR SYSTEM_TIME AS OF '2024-01-01': 1 рдЬрдирд╡рд░реА, 2024 рдХреЛ рдЯреЗрдмрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

  • FOR SYSTEM_TIME BETWEEN '2024-01-01' AND '2024-12-31': рдЗрд╕ рддрд╛рд░реАрдЦрд╝ рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╡реИрдз рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

16. MySQL рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?

рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рдРрд╕рд╛ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдПрдХ рдПрдХрд▓ рдпреВрдирд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпреЗ рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдпрд╛ рддреЛ рд╕рднреА рдСрдкрд░реЗрд╢рдВрд╕ рд╕рдлрд▓ рд╣реЛрдВ рдпрд╛ рд╕рднреА рд╡рд┐рдлрд▓ред

рдпрд╣рд╛рдБ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

START TRANSACTION;
UPDATE accounts SET balance = balance - 500 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 500 WHERE account_id = 2;
COMMIT; -- рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬреЗрдВ
-- рдпрд╛
ROLLBACK; -- рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдкрд▓рдЯреЗрдВ

17. MySQL рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░реЗрдВрдЯ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдЖрдк рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдбрд┐рдлреЙрд▓реНрдЯ рдорд╛рди рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ?

MySQL рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░реЗрдВрдЯ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рдбрд┐рдлреЙрд▓реНрдЯ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ рдЬрдм INSERT рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдорд╛рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред рдЗрд╕рд╕реЗ рдХреЙрд▓рдо рддрдм рднреА рд╡реИрдз рд░рд╣рддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕реЗ рдбреЗрдЯрд╛ рдПрдВрдЯреНрд░реА рдХреЗ рджреМрд░рд╛рди рдЫреЛрдбрд╝ рджреЗред

рдбрд┐рдлреЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рдЯреЗрдмрд▓ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рддреЗ рд╣реИрдВ:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    status VARCHAR(10) DEFAULT 'active'
);

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк status рдмрддрд╛рдП рдмрд┐рдирд╛ рднреА рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

INSERT INTO employees (name) VALUES ('John Doe');

рдпрд╣ рддрд░реАрдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЙрд▓рдореНрд╕ рдореЗрдВ NULL рдпрд╛ рдЕрд╡реИрдз рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбрд┐рдлреЙрд▓реНрдЯ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдШрдЯрд╛рдХрд░ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред

Field

Type

Null

Key

Default

Extra

id

INT

NO

PRI

NULL

AUTO_INCREMENT

name

VARCHAR(50)

YES

┬а

NULL

┬а

status

VARCHAR(10)

YES

┬а

active

┬а

рдпрд╣ рдХрдорд╛рдВрдб рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐:

  • рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
  • рдЕрдирдЬрд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрддрд╛ рд╣реИред
  • рдпрд╣ рддреЗрдЬрд╝реА рд╕реЗ рдХрдВрд╕реНрдЯреНрд░реЗрдВрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдпрд╛ рдбрд┐рдлреЙрд▓реНрдЯреНрд╕ред

18. MySQL рдореЗрдВ CHAR рдФрд░ VARCHAR рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?

рджреЛрдиреЛрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ:

  • CHAR(n) рд╣рдореЗрд╢рд╛ рдареАрдХ n рдЕрдХреНрд╖рд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ; рдпрджрд┐ рдорд╛рди рдЫреЛрдЯрд╛ рд╣реИ рддреЛ рд╕реНрдкреЗрд╕ рд╕реЗ рдкреИрдб рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд┐рдХреНрд╕реНрдб-рд▓реЗрдВрде рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрди рдХреЙрд▓рдореНрд╕ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА рдорд╛рди рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдХреЗ рд╣реЛрдВ, рдЬреИрд╕реЗ рдХрдВрдЯреНрд░реА рдХреЛрдбреНрд╕ рдпрд╛ рд╕реНрдЯреЗрдЯрд╕ рдлреНрд▓реИрдЧреНрд╕ред

  • VARCHAR(n) рдХреЗрд╡рд▓ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдХреНрд╖рд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЕрдзрд┐рдХрддрдо n рддрдХред рдпрд╣ рдЪрд░-рд▓рдВрдмрд╛рдИ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдВрдмрд╛рдИ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИред

CREATE TABLE example (
    country_code CHAR(2),      -- Always 2 chars, e.g. 'US', 'UK'
    email VARCHAR(255)         -- Variable length up to 255 chars
);

рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо: рдлрд┐рдХреНрд╕реНрдб-рд▓рдВрдмрд╛рдИ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП CHAR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП VARCHARред

19. рдЖрдк рдЯреЗрдХреНрд╕реНрдЯ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SQL рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрдВрдХреНрд╢рдВрд╕ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ?┬а

SQL рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрдВрдХреНрд╢рдВрд╕ рдирд╛рдореЛрдВ рдФрд░ рдЕрдиреНрдп рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  • LENGTH() рдлрдВрдХреНрд╢рди рдХрд┐рд╕реА рдирд╛рдо рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред┬а

  • UPPER() рдФрд░ LOWER() рдлрдВрдХреНрд╢рдВрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдЕрдкрд░рдХреЗрд╕ рдпрд╛ рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред┬а

  • CONCAT() рдлрдВрдХреНрд╢рди рдХреЙрд▓рдо рдореЗрдВ рдкрд╣рд▓рд╛ рдФрд░ рдЕрдВрддрд┐рдо рдирд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИред┬а

  • SUBSTRING() рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣рд┐рд╕реНрд╕реЗ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрдиреНрдорддрд┐рдерд┐ рд╕реЗ рдорд╛рд╣ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред┬а

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреНрд╡реЗрд░реА рд╣реИ:

SELECT 
    UPPER(first_name) AS upper_name,
    CONCAT(first_name, ' ', last_name) AS full_name,
    SUBSTRING(birthdate, 6, 2) AS birth_month,
    TRIM(last_name) AS trimmed_last_name,
    REPLACE(first_name, 'a', '@') AS replaced_name
FROM employees;

рдпрд╣ рдХреНрд╡реЗрд░реА:

  • рдирд╛рдореЛрдВ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рддреА рд╣реИред

  • рдкрд╣рд▓рд╛ рдФрд░ рдЕрдВрддрд┐рдо рдирд╛рдо рдЬреЛрдбрд╝рдХрд░ рдкреВрд░рд╛ рдирд╛рдо рдмрдирд╛рддреА рд╣реИред

  • birthdate рдХреЙрд▓рдо рд╕реЗ рдЬрдиреНрдо рдорд╛рд╣ рдирд┐рдХрд╛рд▓рддреА рд╣реИред

  • рдЕрдВрддрд┐рдо рдирд╛рдореЛрдВ рд╕реЗ рд╕реНрдкреЗрд╕ рдЯреНрд░рд┐рдо рдХрд░рддреА рд╣реИред

  • рдкрд╣рд▓реЗ рдирд╛рдо рдореЗрдВ рд╕рднреА "a" рдХреЛ "@" рд╕реЗ рдмрджрд▓рддреА рд╣реИред

20. рдЖрдк SQL рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ?

рдЖрдк UPDATE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ WHERE рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред┬а

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк 2010 рдХреА рдлрд┐рд▓реНрдо тАЬInceptionтАЭ рдХреА рд╢реИрд▓реА рдХреЛ тАЬSci-fiтАЭ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:┬а

UPDATE movies
SET genre = 'Sci-Fi'
WHERE movie_title = 'Inception' AND year = 2010;

рдпрд╣рд╛рдБ, UPDATE movies рдЙрд╕ рдЯреЗрдмрд▓ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ WHERE рдХреНрд▓реЙрдЬрд╝ рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╢реАрд░реНрд╖рдХ тАЬInceptionтАЭ рд╣реИ рдФрд░ рд╡рд░реНрд╖ тАЬ2010тАЭ рд╣реИред┬а

рдПрдбрд╡рд╛рдВрд╕реНрдб MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди

рдПрдбрд╡рд╛рдВрд╕реНрдб рдкреНрд░рд╢реНрди рдЖрдкрдХреА рдЬрдЯрд┐рд▓ MySQL рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░рд╡реНрдпреВрдЕрд░ рдХреЛ рдЖрдкрдХреЗ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЕрдВрджрд╛рдЬрд╝рд╛ рджреЗрддреЗ рд╣реИрдВред┬а

21. MySQL рдореЗрдВ рдЯреНрд░рд┐рдЧрд░ рдХреНрдпрд╛ рд╣реИ? рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЗрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рдХрд░реЗрдВрдЧреЗ?┬а

MySQL рдореЗрдВ, рдЯреНрд░рд┐рдЧрд░ рдПрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ INSERT, UPDATE, рдпрд╛ DELETE рдЬреИрд╕реЗ рдЗрд╡реЗрдВрдЯреНрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред┬а

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдПрдХ orders рдЯреЗрдмрд▓ рд╣реИ рдЬрд╣рд╛рдБ рдирдП рдСрд░реНрдбрд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рдирдП рдСрд░реНрдбрд░ рдХреЛ order_history рдЯреЗрдмрд▓ рдореЗрдВ рд▓реЙрдЧ рдХрд░реЗ:

CREATE TRIGGER after_order_insert
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
    INSERT INTO order_history (order_id, action, timestamp)
    VALUES (NEW.order_id, 'inserted', NOW());
END;

рдЯреНрд░рд┐рдЧрд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, order_history рдЯреЗрдмрд▓ рдЕрдкрдиреЗ рдЖрдк рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИ:

history_id

order_id

action

timestamp

1

1

inserted

2024-12-24 10:00:00

2

2

inserted

2024-12-24 11:00:00

22. рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рддреЗрдЬрд╝ рдХреНрдпреЛрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ?┬а

рдЕрдЧрд░ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдирд╣реАрдВ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдВрдЯреНрд░реА рдХреЛ рдвреВрдВрдврдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдкрдВрдХреНрддрд┐ рд╕реНрдХреИрди рдХрд░рдиреА рдкрдбрд╝реЗрдЧреАред рдЗрдВрдбреЗрдХреНрд╕ рдПрдХ рд╡рд┐рд╖рдп-рд╕реВрдЪреА рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдореНрдмрдВрдзрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рддрдХ рддреЗрдЬрд╝реА рд╕реЗ рдкрд╣реБрдБрдЪрдиреЗ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рд░реНрдЪ рд╕рдордп рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рддреЗрдЬрд╝ рдЪрд▓рддреА рд╣реИрдВред┬а

рдЗрдВрдбреЗрдХреНрд╕ рдЖрдорддреМрд░ рдкрд░ B-tree рдпрд╛ рд╣реИрд╢ рдЯреЗрдмрд▓ рдЬреИрд╕реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд░реНрдЪ, рд▓реБрдХрдЕрдк рдФрд░ рд░реЗрдВрдЬ рд╕реНрдХреИрди рдХреЛ рдХреБрд╢рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

-- рдмрд┐рдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ:
SELECT * FROM employees WHERE last_name = 'Smith';
-- last_name рдХреЙрд▓рдо рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛:
CREATE INDEX idx_last_name ON employees(last_name);
-- рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде, рдбреЗрдЯрд╛рдмреЗрд╕ last_name рдХреЙрд▓рдо рдореЗрдВ 'Smith' рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬрд▓реНрджреА рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИред

рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдХреБрдЫ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ, рдЬреИрд╕реЗ:

  • рд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдзреАрдореЗ рд╣реЛрдирд╛: INSERT, UPDATE, рдФрд░ DELETE рдСрдкрд░реЗрд╢рдВрд╕ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдмрджрд▓рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдЗрдВрдбреЗрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

  • рд╕реНрдЯреЛрд░реЗрдЬ рд▓рд╛рдЧрдд: рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред

23. рдХрд┐рд╕реА SQL рдЯреЗрдмрд▓ рдореЗрдВ рдкреНрд░реЛрдбрдХреНрдЯ рдХрд╛ рд╡реЗрдЯ рдФрд░ рдкреНрд░рд╛рдЗрд╕ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдореЗрдВ рд░рдЦреЗрдВ, рдФрд░ рдХреНрдпреЛрдВ?┬а

рд╡реЗрдЯ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдпрддрдГ DECIMAL рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЬрдмрдХрд┐ FLOAT рдФрд░ REAL рджрд╢рдорд▓рд╡ рдорд╛рди рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдЕрд░рд┐рдердореЗрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЫреЛрдЯреЗ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдПрд░рд░ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрд╣рд╛рдБ рд╕рдЯреАрдХрддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ (рдЬреИрд╕реЗ рд╢рд┐рдкрд┐рдВрдЧ рдХреИрд▓рдХреБрд▓реЗрд╢рди, рдЗрдиреНрд╡реЗрдВрдЯрд░реА) рд╡рд╣рд╛рдВ DECIMAL(8, 3) рддреАрди рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИ рдФрд░ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреАред FLOAT рдХреЗрд╡рд▓ рддрдм рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдЬрдм рдереЛрдбрд╝реА рддреНрд░реБрдЯрд┐ рд╕рд╣рдиреАрдп рд╣реЛред

24. рдЖрдк рд╡рд┐рдВрдбреЛ рдлрдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде SQL рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдХреИрд╕реЗ рдвреВрдВрдвреЗрдВрдЧреЗ?┬а

рдпрд╣рд╛рдБ ROW_NUMBER() рд╡рд┐рдВрдбреЛ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдвреВрдВрдврдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ:

WITH DuplicateCheck AS (
    SELECT product_name, 
           category,
           ROW_NUMBER() OVER(
               PARTITION BY product_name, category 
               ORDER BY id
           ) AS row_num
    FROM sales
)
SELECT *
FROM DuplicateCheck
WHERE row_num > 1;

рдЖрдЗрдП рд╕рдордЭреЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

1. ROW_NUMBER() рд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдирдВрдмрд░ рджреЗрддрд╛ рд╣реИред┬а

2. PARTITION BY рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ product_name рдФрд░ category рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред┬а

3. рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░, рдкрдВрдХреНрддрд┐рдпрд╛рдБ 1 рд╕реЗ рдирдВрдмрд░рд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВред┬а

4. рдХреЛрдИ рднреА row_num рдЬреЛ 1 рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред┬а

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпреЗ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ:

  • Product A, Category X, row_num = 1
  • Product A, Category X, row_num = 2 (рдбреБрдкреНрд▓рд┐рдХреЗрдЯ)
  • Product B, Category Y, row_num = 1

рдХреНрд╡реЗрд░реА рд╣рдореЗрдВ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рджрд┐рдЦрд╛рдПрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХрд╛ row_num 1 рд╕реЗ рдмрдбрд╝рд╛ рд╣реИред

25. рдЖрдк MySQL рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЛрд░реНрдб рдкреНрд░реЛрд╕реАрдЬрд░ рдХреИрд╕реЗ рдмрдирд╛рдПрдБрдЧреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рд╕рдордЭрд╛рдЗрдПред┬а

рд╣рдо рд╕реНрдЯреЛрд░реНрдб рдкреНрд░реЛрд╕реАрдЬрд░реНрд╕ рд╕реЗ рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рд╕реЗрд╡ рдФрд░ рд░реАрдпреВрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рдВрд╕ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдФрд░ рдореЗрдВрдЯреЗрди рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦреЗрдВ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЗрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреВрдбреЗрдВрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдФрд░ рд╣рдо рдЖрдпреБ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╕реАрдЬрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВ:

рдкрд╣рд▓реЗ, рдПрдХ рд╕рд░рд▓ рд╕реНрдЯреЛрд░реНрдб рдкреНрд░реЛрд╕реАрдЬрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЖрдпреБ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ:

CREATE PROCEDURE get_student_info(IN age INT)
BEGIN
    SELECT * FROM student WHERE student.age = age;
END;

рдЗрд╕ рдкреНрд░реЛрд╕реАрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЗрдЪреНрдЫрд┐рдд рдЖрдпреБ рдХреЗ рд╕рд╛рде CALL рдХрд░реЗрдВ:

CALL get_student_info(21);

рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрд╕реАрдЬрд░реНрд╕ рдХреЛ рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдпреБ рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреА рдЧрд┐рдирддреА рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░реЛрд╕реАрдЬрд░ рдмрдирд╛рддреЗ рд╣реИрдВ:

CREATE PROCEDURE count_students_by_age(IN age INT, OUT student_count INT)
BEGIN
    SELECT COUNT(*) INTO student_count FROM students WHERE students.age = age;
END;

рдЗрд╕ рдкреНрд░реЛрд╕реАрдЬрд░ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:

SET @count = 0;
CALL count_students_by_age(21, @count);
SELECT @count AS total_students;

26. рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░реЗрдлрд╝рд░реЗрдВрд╢рд┐рдпрд▓ рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ?┬а

рд░реЗрдлрд╝рд░реЗрдВрд╢рд┐рдпрд▓ рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдмреАрдЪ рд░рд┐рд╢реНрддреЛрдВ рдХреЛ рд╕рдЯреАрдХ рд░рдЦрддреА рд╣реИред рдЬрдм рд╣рдо рдлреЙрд░реЗрди рдХреА рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЯреЗрдмрд▓ рдХреЗ рдорд╛рди рд░реЗрдлрд╝рд░реЗрдВрд╕реНрдб рдЯреЗрдмрд▓ рдореЗрдВ рдпреВрдирд┐рдХ рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реЛрдВред

рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг: рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк рдПрдХ рдИ-рдХреЙрдорд░реНрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЗ рдкрд╛рд╕ Customers рдЯреЗрдмрд▓ рдФрд░ Orders рдЯреЗрдмрд▓ рд╣реИред рд╣рд░ рдСрд░реНрдбрд░ рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рд╕рдореНрдмрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлреЙрд░реЗрди рдХреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рд░реЗрдлрд╝рд░реЗрдВрд╢рд┐рдпрд▓ рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдЗрд╕ рд░рд┐рд╢реНрддреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рдХрд┐:

  • рдЖрдк рдХрд┐рд╕реА рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред
  • рдЖрдк рдореМрдЬреВрджрд╛ рдСрд░реНрдбрд░реНрд╕ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдбрд┐рд▓реАрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рди рдХрд░реЗрдВ рдХрд┐ рдЙрди рдСрд░реНрдбрд░реНрд╕ рдХрд╛ рдХреНрдпрд╛ рд╣реЛ)ред
  • рдЖрдк рдЙрд╕ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ ID рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрд┐рд╕рдХреЗ рдСрд░реНрдбрд░реНрд╕ рдореМрдЬреВрдж рд╣реИрдВред

рддреЛ рдЬрдм рдЖрдк рдЗрд╕ рддрд░рд╣ рдлреЙрд░реЗрди рдХреА рдХрдВрд╕реНрдЯреНрд░реЗрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ:

ALTER TABLE Orders
ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);

рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдиреЗ-рдЖрдк рдпреЗ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

  • Orders рдЯреЗрдмрд▓ рдореЗрдВ рд╣рд░ CustomerID, Customers рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

  • рдЗрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ (рдЬреИрд╕реЗ рдЕрд╡реИрдз CustomerID рдЗрдиреНрд╕рд░реНрдЯ рдХрд░рдирд╛) рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдпрд╣ рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрддрддрд╛рдУрдВ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рдЬреЛ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВтАФрдЬреИрд╕реЗ рдРрд╕реЗ рдСрд░реНрдбрд░реНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рддрдХ рдЯреНрд░реЗрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛, рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдЬрд┐рдирдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдЬрд╛рдирдХрд╛рд░реА рдЧрд╛рдпрдм рд╣реЛред┬а

рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди

рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд░рд┐рдХреНрд░реВрдЯрд░реНрд╕ рдпреЗ рдкреНрд░рд╢реНрди рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред

27. рдХреЛрдИ рдмрдбрд╝реА рдПрдкреНрд▓реАрдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА? рд╕рд╛рде рд╣реА, рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдЗрдПред┬а

рдмрдбрд╝реА рдПрдкреНрд▓реАрдХреЗрд╢рди рднрд╛рд░реА рдбреЗрдЯрд╛ рдХреЛ рдХрдИ рд╕рд░реНрд╡рд░реНрд╕ рдореЗрдВ рдмрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдпрд╛ рд╢рд╛рд░реНрдб рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рд▓реЛрдб рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд╛рдИ-рдПрдВрдб рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝рддреАред рд╕реНрдкреАрдб рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЪреБрдиреМрддрд┐рдпрд╛рдБ рднреА рд╣реИрдВ:┬а

  • рдХреБрдЫ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЬреИрд╕реЗ joins рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рддреАрдВ, рдЬреЛ рдбреЗрдЯрд╛ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВред┬а
  • рдбреЗрдЯрд╛ рдмрдврд╝рдиреЗ рдкрд░, рд╢рд╛рд░реНрдбреНрд╕ рдУрд╡рд░рд╡реЗрд▓реНрдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдмрдирддреЗ рд╣реИрдВ рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдзреАрдореА рд╣реЛрддреА рд╣реИред┬а

28. MySQL рдХреНрд░реИрд╢ рд░рд┐рдХрд╡рд░реА рдореЗрдВ рд░реАрдбреВ рд▓реЙрдЧреНрд╕ рдХреА рдХреНрдпрд╛ рднреВрдорд┐рдХрд╛ рд╣реЛрддреА рд╣реИ?┬а

рдЬрдм рднреА MySQL рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рд╕реАрдзреЗ рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реНрд╕ рдкрд░ рд▓рд┐рдЦрдирд╛ рдзреАрдорд╛ рдФрд░ рдЬреЛрдЦрд┐рдорднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП MySQL рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдЬреЛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рдкрд╣рд▓реЗ рд░реАрдбреВ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдкрддрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

  1. MySQL рдкрд╣рд▓реЗ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЛ рд░реАрдбреВ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред
  2. рдлрд┐рд░ рд╡рд╣ рдЖрдкрдХреЗ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдХреЛ committed рдорд╛рдирдХрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
  3. рдЕрдВрддрддрдГ, рд╡рд╣ рдмрджрд▓рд╛рд╡ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдХреНрд░реИрд╢ рд░рд┐рдХрд╡рд░реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм MySQL рдЪрд░рдг 1 рдпрд╛ 2 рдХреЗ рдмрд╛рдж, рд▓реЗрдХрд┐рди рдЪрд░рдг 3 рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПред MySQL рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдиреЗ рд░реАрдбреВ рд▓реЙрдЧреНрд╕ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд░рд┐рдкреНрд▓реЗ рдХрд░рдХреЗ рдЕрдзреВрд░рд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ committed рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдЦреЛрдП рдирд╣реАрдВ, рднрд▓реЗ рд╣реА MySQL рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдордп рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПред

29. MySQL рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди рдХреМрди-рд╕реЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ?

MySQL рдХрдИ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рд╣реИрдВред рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЬрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рд╣реИ:

Storage EngineKey FeaturesBest For
InnoDBрдбрд┐рдлреЙрд▓реНрдЯ рдЗрдВрдЬрдиред ACID-рдЕрдиреБрд░реВрдк, рд░реЛ-рд▓реЗрд╡рд▓ рд▓реЙрдХрд┐рдВрдЧ, рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдФрд░ рдлреЙрд░реЗрди рдХреАрдЬредрдИ-рдХреЙрдорд░реНрд╕, рд╡рд┐рддреНрддреАрдп рд╕рд┐рд╕реНрдЯрдо, рдЬрд╣рд╛рдБ рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
MyISAMрддреЗрдЬрд╝ рд░реАрдбреНрд╕, рдЯреЗрдмрд▓-рд▓реЗрд╡рд▓ рд▓реЙрдХрд┐рдВрдЧред рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдпрд╛ рдлреЙрд░реЗрди рдХреАрдЬ рдирд╣реАрдВредрд░реАрдб-рд╣реЗрд╡реА рдРрдкреНрд╕ рдЬрд╣рд╛рдБ рд╕реНрдкреАрдб рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛред
MemoryрдбреЗрдЯрд╛ RAM рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛрддрд╛ рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рддреЗрдЬрд╝, рд▓реЗрдХрд┐рди рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИредрдХреИрд╢рд┐рдВрдЧ, рд╕реЗрд╢рди рдореИрдиреЗрдЬрдореЗрдВрдЯ, рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛ред
CSVрдбреЗрдЯрд╛ рд╕рд╛рдзрд╛рд░рдг CSV рдлрд╛рдЗрд▓реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдирд╣реАрдВредрдРрдкреНрд╕ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдпрд╛ рд╕рд░рд▓ рдлреНрд▓реИрдЯ-рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬред
ArchiveрдЙрдЪреНрдЪ рдХрдВрдкреНрд░реЗрд╢рдиред рдХреЗрд╡рд▓ INSERT рдФрд░ SELECTред рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдирд╣реАрдВредрд▓реЙрдЧ рдбреЗрдЯрд╛ рдпрд╛ рд╢рд╛рдпрдж рд╣реА рдХреНрд╡реЗрд░реА рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░рд┐рдХреЙрд░реНрдбреНрд╕ред
NDB (Clustered)рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рд╕реНрдЯреЛрд░реЗрдЬ, рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛, рдлреЙрд▓реНрдЯ-рдЯреЙрд▓рд░реЗрдВрдЯ, рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рд╕рдкреЛрд░реНрдЯредрд░реАрдпрд▓-рдЯрд╛рдЗрдо рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЪрд╛рд╣рдиреЗ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рдРрдкреНрд╕ред

30. рдЖрдк MySQL рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ?┬а

рдкрд╣рд▓реЗ, рдЖрдк рд╡рд░реНрддрдорд╛рди рдбрд┐рдлреЙрд▓реНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

SHOW ENGINES;

InnoDB рдХреЛ рдбрд┐рдлреЙрд▓реНрдЯ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлреАрдЪрд░реНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ:

  • ACID-рдЕрдиреБрд░реВрдк рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕
  • рдлреЙрд░реЗрди рдХреА рдХрдВрд╕реНрдЯреНрд░реЗрдВрдЯреНрд╕
  • рдХреНрд░реИрд╢ рд░рд┐рдХрд╡рд░реА
  • рд░реЛ-рд▓реЗрд╡рд▓ рд▓реЙрдХрд┐рдВрдЧ

рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рд╕реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рдлреЙрд▓реНрдЯ рдЗрдВрдЬрди рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

SET default_storage_engine = 'InnoDB';

рд╕реНрдерд╛рдпреА рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП, MySQL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдореЗрдВ [mysqld] рд╕реЗрдХреНрд╢рди рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдпрд╣ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

default-storage-engine = InnoDB

31. рдЖрдк MySQL рдореЗрдВ рдХрд░рдкреНрдЯреЗрдб рдЯреЗрдмрд▓реНрд╕ рдХреЛ рдХреИрд╕реЗ рд░рд┐рдкреЗрдпрд░ рдХрд░реЗрдВрдЧреЗ?┬а

рдкрд╣рд▓реЗ, рдЖрдк рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:┬а

mysqlcheck --check --all-databases -u root -p

рдпрд╣ рд╕рднреА рдЯреЗрдмрд▓реНрд╕ рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдХрд░рдкреНрд╢рди рд╣реИ рддреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░ рдЖрдк рдЯреЗрдмрд▓ рдХреЛ рд░рд┐рдкреЗрдпрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:┬а

mysqlcheck --repair database_name table_name -u root -p

рдЧрдВрднреАрд░ рдХрд░рдкреНрд╢рди рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд░рд┐рдкреЗрдпрд░ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЙрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХрдЕрдк рдЬрд╝рд░реВрд░ рд▓реЗрдВред

рдкрд░рд┐рджреГрд╢реНрдп-рдЖрдзрд╛рд░рд┐рдд рдФрд░ рд╕рдорд╕реНрдпрд╛-рд╕рдорд╛рдзрд╛рди MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди

рдпреЗ рдкреНрд░рд╢реНрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдФрд░ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛-рд╕реБрд▓рдЭрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рддреЗ рд╣реИрдВред

32. рдПрдХ рдРрд╕рд╛ рдкрд░рд┐рджреГрд╢реНрдп рд╕рдордЭрд╛рдЗрдП рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ MySQL рдореЗрдВ рд╕рдмрдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реЛред

рдРрд╕реЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЖрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:

рдореИрдВрдиреЗ рдЕрдкрдиреА рд╣рд╛рд▓ рдХреА рдиреМрдХрд░реА рдореЗрдВ рдПрдХ рдИ-рдХреЙрдорд░реНрд╕ рд╕реНрдЯреЛрд░ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬ рдХрд┐рдпрд╛, рдЬрд╣рд╛рдБ рдореБрдЭреЗ рдкреНрд░реЛрдбрдХреНрдЯ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреА рдереАред рд▓рдХреНрд╖реНрдп рдерд╛ рдЙрди рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдХреЛ рдвреВрдВрдврдирд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдФрд╕рдд рд╕реЗ рдЕрдзрд┐рдХ рдмрд┐рдХреНрд░реА рдХреАтАФрдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмрд╣реБ-рдЪрд░рдгреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕рдмрдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣ SQL рдХреНрд╡реЗрд░реА рдмрдирд╛рдИ:

SELECT 
    p.product_id,
    p.product_name,
    s.sales_amount
FROM products p
JOIN sales s ON p.product_id = s.product_id
WHERE s.sales_amount > (
    SELECT AVG(sales_amount)
    FROM sales
)
ORDER BY s.sales_amount DESC;

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕рднреА рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдХреА рдФрд╕рдд рдмрд┐рдХреНрд░реА рд░рд╛рд╢рд┐ рдирд┐рдХрд╛рд▓рдХрд░ рдмреЗрд╕рд▓рд╛рдЗрди рддрдп рдХреАред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ WHERE рдХреНрд▓реЙрдЬрд╝ рдореЗрдВ рдПрдХ рд╕рдмрдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ рд╕реЗрд▓реНрд╕ рдЯреЗрдмрд▓ рд╕реЗ AVG(sales_amount) рдХреА рдЧрдгрдирд╛ рдХреАред рдпрд╣ рд╕рдмрдХреНрд╡реЗрд░реА рдПрдХ рдбрд╛рдпрдиреЗрдорд┐рдХ рдереНрд░реЗрд╢реЛрд▓реНрдб рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рдереА, рдЬрд┐рд╕рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рд╣рд░ рдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред

рдореБрдЦреНрдп рдХреНрд╡реЗрд░реА рдиреЗ рдлрд┐рд░ рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдФрд░ рд╕реЗрд▓реНрд╕ рдЯреЗрдмрд▓реНрд╕ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╕рдореНрдмрдВрдзрд┐рдд рдкреНрд░реЛрдбрдХреНрдЯ рд╡рд┐рд╡рд░рдг рдирд┐рдХрд╛рд▓реЗ, рдЬрдмрдХрд┐ WHERE рдХреНрд▓реЙрдЬрд╝ рдиреЗ рд╣рдорд╛рд░реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдФрд╕рдд рд╕реЗ рдХрдо рдмрд┐рдХреНрд░реА рд╡рд╛рд▓реЗ рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рджрд┐рдпрд╛ред┬а

рдХреНрд╡реЗрд░реА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдХреЗ, рдореИрдВ рдПрдХ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХрд╛/рд╕рдХреА, рдмрдЬрд╛рдп рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ рдХреЗред

33. рдХреНрдпрд╛ рдЖрдк рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ рдХрдИ рдЯреЗрдмрд▓реНрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП SQL joins рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реЛ?┬а

рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреНрд░рд╢реНрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЙрддреНрддрд░:

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛/рд░рд╣реА рдерд╛/рдереА рдЬрд╣рд╛рдБ рджреЛ рдореБрдЦреНрдп рдЯреЗрдмрд▓реНрд╕ рдереАрдВ тАФ рдПрдХ рдореЗрдВ рдкреНрд░реЛрдбрдХреНрдЯ рд╕реЗрд▓реНрд╕ рдбреЗрдЯрд╛ рдФрд░ рджреВрд╕рд░реА рдореЗрдВ рдкреНрд░реЛрдбрдХреНрдЯ рдбрд┐рдЯреЗрд▓реНрд╕ред рдореЗрд░рд╛ рдХрд╛рдо рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдирд╛ рдерд╛ рдЬреЛ sales, product name, category, рдФрд░ price рджрд┐рдЦрд╛рдПред

рд╕рдореНрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЙрдорди рдХреЙрд▓рдо product_id рдкрд░ INNER JOIN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕реЗрд▓реНрд╕ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдХреЛ рдкреНрд░реЛрдбрдХреНрдЯ рдбрд┐рдЯреЗрд▓реНрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗ:

SELECT 
    s.sales_date,
    p.product_name,
    p.category,
    s.quantity_sold,
    p.price
FROM 
    sales s
INNER JOIN 
    products p
ON 
    s.product_id = p.product_id;

рд░рд┐рдкреЛрд░реНрдЯ рдиреЗ рд╕реЗрд▓реНрд╕ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреА рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рджреА, рдЬрд┐рд╕рд╕реЗ рд╕реНрдЯреЗрдХрд╣реЛрд▓реНрдбрд░реНрд╕ рд╕рдордЭ рд╕рдХреЗ рдХрд┐ рдХреМрди-рд╕реА рдкреНрд░реЛрдбрдХреНрдЯ рдХреИрдЯреЗрдЧрд░реА рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рдХрд┐рдиреНрд╣реЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

34. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рд╣реИ? рдмрддрд╛рдЗрдП рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред

рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреНрд░рд╢реНрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЙрддреНрддрд░:

рд╣рд╛рдБ, рдореЗрд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкрдХ рдЕрдиреБрднрд╡ рд╣реИред рдЕрдкрдиреА рд╣рд╛рд▓ рдХреА рднреВрдорд┐рдХрд╛ рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рд╛рдЗрд╕ рдЪреЗрдВрдЬ рдСрдбрд┐рдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ AFTER UPDATE рдЯреНрд░рд┐рдЧрд░ рдЗрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рдХрд┐рдпрд╛ред┬а

рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдореНрдкреНрд▓рд┐рдореЗрдВрдЯреЗрд╢рди рдмрддрд╛рддрд╛/рдмрддрд╛рддреА рд╣реВрдБ: рдореИрдВрдиреЗ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рдпрд╛ рдЬреЛ рдЬрдм рднреА рдХрд┐рд╕реА рдкреНрд░реЛрдбрдХреНрдЯ рдХреА рдХреАрдордд рдмрджрд▓рддреА рд╣реИ, рдкреНрд░рд╛рдЗрд╕ рд╣рд┐рд╕реНрдЯреНрд░реА рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рдХреИрдкреНрдЪрд░ рдХрд░ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рд░рд╣рд╛ рд╡рд╣ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдореИрдВрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреА:

CREATE TRIGGER tr_AuditPriceChanges
AFTER UPDATE ON Products
FOR EACH ROW
BEGIN
    -- Only log if the price actually changed
    IF OLD.UnitPrice <> NEW.UnitPrice THEN
        INSERT INTO PriceAudit (
            ProductID,
            OldPrice,
            NewPrice,
            ChangedBy,
            ChangeDate,
            PercentageChange
        )
        VALUES (
            NEW.ProductID,
            OLD.UnitPrice,
            NEW.UnitPrice,
            CURRENT_USER(),
            NOW(),
            ROUND(((NEW.UnitPrice - OLD.UnitPrice) / OLD.UnitPrice * 100), 2)
        );
    END IF;
END;

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЦрд╛рд╕ рддреМрд░ рдкрд░ рдЗрд╕рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░рд╣рд╛ рдХреНрдпреЛрдВрдХрд┐:

  1. рдпрд╣ рддрднреА рдлрд╛рдпрд░ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╡рд╛рдХрдИ рдХреАрдордд рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛред
  2. рдпрд╣ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдпреВрдЬрд╝рд░ рдХреЛ SYSTEM_USER рдХреЗ рдЬрд░рд┐рдП рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред
  3. рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╢рдд рдмрджрд▓рд╛рд╡ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
  4. рдпрд╣ рдЕрдиреНрдп рдХреЙрд▓рдо рдЕрдкрдбреЗрдЯреНрд╕ рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреЙрди-рдЪреЗрдВрдЬреЗрдЬрд╝ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП WHERE рдХреНрд▓реЙрдЬрд╝ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рдордиреЗ NULL рдкреНрд░рд╛рдЗрд╕ рд╡рд╛рд▓реЗ рдХреБрдЫ рдПрдЬ рдХреЗрд╕ рдиреЛрдЯрд┐рд╕ рдХрд┐рдП, рддрдм рдореИрдВрдиреЗ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рднреА рдЬреЛрдбрд╝реАред

MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдХреА рддреИрдпрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрд╕

рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рдХрд░рд┐рдпрд░ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдБ рдХреБрдЫ рдЯрд┐рдкреНрд╕ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдЖрдЧрд╛рдореА рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреА:

MySQL рдХреЗ рдХреЛрд░ рдХреЙрдиреНрд╕реЗрдкреНрдЯреНрд╕ рдореЗрдВ рдирд┐рдкреБрдг рдмрдиреЗрдВ: рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдЬреИрд╕реЗ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ, рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдВрд╕ рдФрд░ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рд╕реАрдЦреЗрдВред рд╕рдордЭреЗрдВ рдХрд┐ MySQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреИрд╕реЗ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдк рдХреБрд╢рд▓ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦ рдкрд╛рдПрдБрдЧреЗ рдФрд░ рдЗрдВрдЯрд░рд╡реНрдпреВ рдХреЗ рджреМрд░рд╛рди рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рд╕рдордЭрд╛ рдкрд╛рдПрдБрдЧреЗред

рд╣реИрдВрдбреНрд╕-рдСрди рдЕрдиреБрднрд╡ рд▓реЗрдВ: рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ MySQL рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВред рдЯреЗрд╕реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рд╣реА рдЪреАрдЬрд╝реЗрдВ рд╕рдордЭ рдЖрддреА рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдмрдирддрд╛ рд╣реИред

рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рдФрд░ рдирд┐рдЦрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП, DataCamp рдХреЗ рд╕рдВрд╕рд╛рдзрди рджреЗрдЦреЗрдВ:┬а

MySQL рдЯреВрд▓реНрд╕ рдФрд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ: рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдФрд░ рдмреЗрд╕рд┐рдХ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП MySQL Workbench рдпрд╛ рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рд╕реЗ рд╡рд╛рдХрд┐рдлрд╝ рд╣реЛрдВред рдЖрдк Python рдХреЗ рд╕рд╛рде MySQL рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдореНрдмрдВрдзрд┐рдд рдлрд╝реНрд░реЗрдорд╡рд░реНрдХреНрд╕ рднреА рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рджрд┐рдЦрд╛ рдкрд╛рдПрдБрдЧреЗ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдмрд╕ рдЗрддрдирд╛ рд╣реА! рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЕрдЧрд▓реЗ рдЬреЙрдм рдХреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖ 34 MySQL рдЗрдВрдЯрд░рд╡реНрдпреВ рдкреНрд░рд╢реНрди рдХрд╡рд░ рдХрд┐рдП рд╣реИрдВред рдЪрд╛рд╣реЗ рдЖрдк рдПрдВрдЯреНрд░реА-рд▓реЗрд╡рд▓ рд░реЛрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд▓рд╛рдИ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдПрдбрд╡рд╛рдВрд╕реНрдб рдбреЗрдЯрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдкреЛрдЬрд╝рд┐рд╢рди рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП MySQL рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ, рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдкрд░ рдЖрдкрдХреА рдкрдХрдбрд╝ рдордЬрд╝рдмреВрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред┬а

рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдореНрд╕ рдХрд╛ рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рдФрд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ DataCamp рдХреЗ SQL coursesред

рд╡рд┐рд╖рдп