SQLite 3.35 рдХреЛ рд░рд┐рд▓реАрдЬ, рдПрдХ рдкреНрд▓рдЧ-рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣рд▓реНрдХрд╛ DBMS, рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред SQLite рдХреЛрдб рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрдирдорд╛ рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдХреБрдиреИ рдкрдирд┐ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддрд┐рдмрдиреНрдз рдмрд┐рдирд╛ рд░ рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред SQLite рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рддреНрддреАрдп рд╕рдорд░реНрдерди рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдХрдиреНрд╕реЛрд░реНрдЯрд┐рдпрдорджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ Adobe, Oracle, Mozilla, Bentley рд░ Bloomberg рдЬрд╕реНрддрд╛ рдХрдореНрдкрдиреАрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • SQL рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдЕрдиреНрддрд░реНрдирд┐рд░реНрдорд┐рдд рдЧрдгрд┐рдд рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ (log2(), cos(), tg(), exp(), ln(), pow(), рдЖрджрд┐ рдердкрд┐рдпреЛред рдмрд┐рд▓реНрдЯ-рдЗрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдХреНрд╖рдо рдЧрд░реНрди "-DSQLITE_ENABLE_MATH_FUNCTIONS" рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдЖрд╡рд╢реНрдпрдХ рдЫред
  • рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рд╕реНрддрдореНрднрд╣рд░реВ рд╣рдЯрд╛рдЙрди рд░ рдкрд╣рд┐рд▓реЗ рджрд┐рдЗрдПрдХреЛ рд╕реНрддрдореНрднрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдбреЗрдЯрд╛ рдЦрд╛рд▓реА рдЧрд░реНрди "ALTER TABLE DROP COLUMN" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд░реНрдердиред
  • UPSERT (рдердкреНрдиреБрд╣реЛрд╕реН рд╡рд╛-рдкрд░рд┐рдорд╛рд░реНрдЬрди) рдЕрдкрд░реЗрд╕рдирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, "рдЗрдиреНрд╕рд░реНрдЯ ... рдЕрди рджреНрд╡рдиреНрджреНрд╡рдорд╛ рдХреЗрд╣реА рдирдЧрд░реНрдиреБрд╣реЛрд╕реН/рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН" рдЬрд╕реНрддрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдорд╛рд░реНрдлрдд рддреНрд░реБрдЯрд┐рд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рд╡рд╛ рдердкреНрди рдЕрд╕рдореНрднрд╡ рднрдПрдорд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдЕрдкрдбреЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред "INSERT" рдорд╛рд░реНрдлрдд рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рд░реЗрдХрд░реНрдб рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ INSERT рдХреЛ рд╕рдЯреНрдЯрд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдзреЗрд░реИ ON CONFLICT рдмреНрд▓рдХрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬреБрди рдХреНрд░рдордмрджреНрдз рд░реВрдкрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреЗрдЫред рдЕрдиреНрддрд┐рдо "ONFLICT" рдмреНрд▓рдХрд▓реЗ "DO UPDATE" рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рджреНрд╡рдиреНрджреНрд╡ рдирд┐рд░реНрдзрд╛рд░рдг рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд▓рд╛рдИ рдореЗрдЯрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • DELETE, INSERT рд░ UPDATE рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рд░рд┐рдЯрд░реНрдирд┐рдЩ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬреБрди рдореЗрдЯрд╛рдЗрдПрдХреЛ, рд╕рдореНрдорд┐рд▓рд┐рдд рд╡рд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрд┐рдд рд░реЗрдХрд░реНрдбрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рдЗрдиреНрд╕рд░реНрдЯ рдЗрди... рд░рд┐рдЯрд░реНрдирд┐рдЩ id" рд▓реЗ рдердкрд┐рдПрдХреЛ рд▓рд╛рдЗрдирдХреЛ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ рдлрд░реНрдХрд╛рдЙрдиреЗрдЫ, рд░ "рдЕрдкрдбреЗрдЯ... рдореВрд▓реНрдп рд╕реЗрдЯ = рдореВрд▓реНрдп * рез.резреж рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗ рдореВрд▓реНрдп" рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рдореВрд▓реНрдп рдорд╛рди рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗрдЫред
  • Common Table Expressions (CTE) рдХреЛ рд▓рд╛рдЧрд┐, рдЬрд╕рд▓реЗ WITH рдХрдерди рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЕрд╕реНрдерд╛рдпреА рдирд╛рдо рдирддрд┐рдЬрд╛ рд╕реЗрдЯрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, "рднреМрддрд┐рдХреАрдХреГрдд" рд░ "рднреМрддрд┐рдХреАрдХреГрдд рдирднрдПрдХреЛ" рдореЛрдбрд╣рд░реВрдХреЛ рдЫрдиреЛрдЯрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рдЫред "рднреМрддрд┐рдХреАрдХреГрдд" рднрдиреНрдирд╛рд▓реЗ рджреГрд╢реНрдпрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдХреНрд╡реЗрд░реАрд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рднреМрддрд┐рдХ рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдХреНрдпрд╛рд╕ рдЧрд░реНрдиреЗ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕ рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рдбрд╛рдЯрд╛ рд▓реНрдпрд╛рдЙрдиреЗ, рд░ "рднреМрддрд┐рдХреАрдХреГрдд рдирднрдПрдХреЛ" рджреЛрд╣реЛрд░реНрдпрд╛рдЗрдПрдХреЛ рдХреНрд╡реЗрд░реАрд╣рд░реВ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рджреГрд╢реНрдп рдкрд╣реБрдБрдЪ рдЧрд░реНрджрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреЗрдЫред SQLite рдореВрд▓ рд░реВрдкрдорд╛ "NOT MATERIALized" рдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдерд┐рдпреЛ, рддрд░ рдЕрдм CTEs рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдкрдЯрдХ рднрдиреНрджрд╛ рдмрдвреА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ "рд╕рд╛рдордЧреНрд░реАрдХреГрдд" рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫред
  • рдзреЗрд░реИ рдареВрд▓рд╛ TEXT рд╡рд╛ BLOB рдорд╛рдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╣рд░реВрдорд╛ VACUUM рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрджрд╛ рдореЗрдореЛрд░реА рдЦрдкрдд рдХрдо рд╣реБрдиреНрдЫред
  • рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬрд░ рд░ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рдирд░рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдмрдврд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • "IN" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рд╕рд╛рде рдиреНрдпреВрдирддрдо рд░ рдЕрдзрд┐рдХрддрдо рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЕрдиреБрдХреВрд▓рдирд╣рд░реВ рдердкрд┐рдпреЛред
    • EXISTS рдХрдердирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рддреАрд╡реНрд░ рдкрд╛рд░рд┐рдПрдХреЛ рдЫред
    • JOIN рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ UNION рдмрд╛рдЯ рд╕рдмрдХреНрд╡реЗрд░реАрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╕реНрддрд╛рд░ред
    • рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ IS NOT NULL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
    • рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рдХрд┐ "x IS NULL" рд░ "x IS NOT NULL" рд▓рд╛рдИ "NOT NULL" рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдПрдХрд╛ рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ FALSE рд╡рд╛ TRUE рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред
    • рдпрджрд┐ рдЕрдкрд░реЗрд╢рдирд▓реЗ рд╡рд┐рджреЗрд╢реА рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реНрддрдореНрднрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджреИрди рднрдиреЗ UPDATE рдорд╛ рд╡рд┐рджреЗрд╢реА рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЫреЛрдбреНрдиреБрд╣реЛрд╕реНред
    • WHERE рдмреНрд▓рдХрдХрд╛ рднрд╛рдЧрд╣рд░реВрд▓рд╛рдИ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗ рд╕рдмрдХреНрд╡реЗрд░реАрд╣рд░реВрдорд╛ рд╕рд╛рд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдиреНрдЫ, рдЬрдмрд╕рдореНрдо рддреА рднрд╛рдЧрд╣рд░реВ рд╡рд┐рдиреНрдбреЛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ PARTITION BY рдмреНрд▓рдХрд╣рд░реВрдмрд╛рдЯ рд╕реНрдерд┐рд░ рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕реАрдорд┐рдд рдЫрдиреНред
  • рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:
    • ".filectrl data_version" рдЖрджреЗрд╢ рдердкрд┐рдпреЛред
    • ".once" рд░ ".output" рдЖрджреЗрд╢рд╣рд░реВрд▓реЗ рдЕрдм рдирд╛рдо рдирднрдПрдХрд╛ рдкрд╛рдЗрдкрд╣рд░реВ ("|") рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд▓рд╛рдИ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд╕ рдЧрд░реНрдиреЗ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред
    • рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рдХрд╛рдЙрдиреНрдЯрд░рд╣рд░реВрдорд╛ рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди ".stats" рдЖрджреЗрд╢рдорд╛ "stmt" рд░ "vmstep" рддрд░реНрдХрд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреНред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди