ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° SQLite 3.38, Π»Π΅ΠΊΠ° Π‘Π£ΠΠ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π°. ΠΠΎΠ΄ΡΡ Π½Π° SQLite ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Ρ.Π΅. ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Π»ΠΈ. Π€ΠΈΠ½Π°Π½ΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° SQLite ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Adobe, Oracle, Mozilla, Bentley ΠΈ Bloomberg.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ -> ΠΈ ->>, Π·Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON. ΠΠΎΠ²ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ MySQL ΠΈ PostgreSQL.
- ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON, ΡΠΈΠ΅ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΡΠ±ΠΎΡΠΊΠ° Ρ ΡΠ»Π°Π³Π° β-DSQLITE_ENABLE_JSON1β. ΠΠ° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° JSON, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ΡΡ "-DSQLITE_OMIT_JSON".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡ unixepoch(), ΠΊΠΎΡΡΠΎ Π²ΡΡΡΠ° Π΅ΠΏΠΎΡ Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (Π±ΡΠΎΡΡ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΎΡ 1 ΡΠ½ΡΠ°ΡΠΈ 1970 Π³.).
- ΠΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ βautoβ ΠΈ βjuliandayβ.
- SQL ΡΡΠ½ΠΊΡΠΈΡΡΠ° printf() Π΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π° Π½Π° format() Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ Π΄ΡΡΠ³ΠΈ Π‘Π£ΠΠ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΡΠ°ΡΠΎΡΠΎ ΠΈΠΌΠ΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°).
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ sqlite3_error_offset(), Π·Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Π·Π°ΡΠ²ΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΊΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() ΠΈ sqlite3_vtab_in(), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ SQLITE_INDEX_CONSTRAINT_LIMIT ΠΈ SQLITE_INDEX_CONSTRAINT_OFFSET.
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ Π±ΠΎΡΠ°Π²Π΅Π½Π΅ Ρ ΡΠ°Π±ΡΠ»Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π΄ ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΈΠ·Ρ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ "--wrap N", "--wordwrap on" ΠΈ "-quote" ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° .import ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
- ΠΠ° Π΄Π° ΡΡΠΊΠΎΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΠΈΠ»ΡΡΡ Π·Π° ΡΠ°Π·ΡΠ²Π΅Ρ, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ Π΄Π°Π΄Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΡΡΡΠ²Π° Π² Π½Π°Π±ΠΎΡ. ΠΠ°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΎ Π΄ΡΡΠ²ΠΎ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° UNION ΠΈ UNION ALL Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ SELECT Ρ ΠΊΠ»Π°ΡΠ·ΠΈ ORDER BY.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° sqlite-utils 3.24, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ SQLite. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° JSON, CSV ΠΈΠ»ΠΈ TSV Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ» Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΡ
Π΅ΠΌΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° SQL Π·Π°ΡΠ²ΠΊΠΈ Π²ΡΡΡ
Ρ CSV, TSV ΠΈ JSON ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡ
Π΅ΠΌΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ALTER Π½Π΅ Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ TABLE (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΈΠΏΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅), ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru