ืžืขืœื“ื•ื ื’ ืคื•ืŸ DBMS SQLite 3.35

ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ SQLite 3.35, ืึท ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ื“ื‘ืžืก ื“ื™ื–ื™ื™ื ื“ ื•ื•ื™ ืึท ืฆืึทืคึผืŸ-ืื™ืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ืื™ื– ืืจื•ื™ืก. ื“ื™ SQLite ืงืึธื“ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื™ืŸ ื“ื™ ืฆื™ื‘ื•ืจ ืคืขืœื“, ื™.ืข. ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืึธืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืื•ืŸ ืคืจื™ื™ ืคึฟืึทืจ ืงื™ื™ืŸ ืฆื•ื•ืขืง. ืคื™ื ืึทื ืฆื™ืขืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ SQLite ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ืึท ืกืคึผืขืฉืœื™ ื‘ืืฉืืคืŸ ืงืึธื ืกืึธืจื˜ื™ื•ื, ื•ื•ืึธืก ื›ื•ืœืœ ืงืึธืžืคึผืึทื ื™ืขืก ืึทื–ืึท ื•ื•ื™ ืึทื“ืึธื•ื‘ื™, ืึธืจืึทืงืœืข, ืžืึธื–ื™ืœืœืึท, ื‘ืขื ื˜ืœื™ื™ ืื•ืŸ ื‘ืœื•ืžื‘ืขืจื’.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืžืึทื˜ ืคืึทื ื’ืงืฉืึทื ื– (ืœืึธื’2 (), ืงืึธืก (), ื˜ื’ (), ืขืงืกืคึผ (), ืœืŸ (), ืคึผืึธื• (), ืืื–"ื• ื•) ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืกืงืœ. ืขื ื™ื™ื‘ืึทืœื™ื ื’ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืจื™ืงื•ื•ื™ื™ืขืจื– ื‘ื ื™ืŸ ืžื™ื˜ ื“ื™ "-DSQLITE_ENABLE_MATH_FUNCTIONS" ืึธืคึผืฆื™ืข.
  • ื™ืžืคึผืœืึทืžืขื ื˜ืึทื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ "ALTER TABLE DROP COLUMN" ืื•ื™ืกื“ืจื•ืง ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ืฉืคืืœื˜ืŸ ืคื•ืŸ ืึท ื˜ื™ืฉ ืื•ืŸ ื•ื™ืกืžืขืงืŸ ื“ืึทื˜ืŸ ืคืจื™ืขืจ ืกื˜ืึธืจื“ ืื™ืŸ ืึท ื’ืขื’ืขื‘ืŸ ื–ื™ื™ึทืœ.
  • ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ UPSERT (ืฆื•ื’ืขื‘ืŸ ืึธื“ืขืจ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ) ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ื™ืงืกืคึผืึทื ื“ื™ื“, ืึทืœืึทื•ื™ื ื’ ืื•ื™ืกื“ืจื•ืงืŸ ื•ื•ื™ "ื™ื ืกืขืจื˜ ... ืื•ื™ืฃ ืงืึธื ืคืœื™ืงื˜ ื˜ืึธืŸ ื’ืึธืจื ื™ืฉื˜ / ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ" ืฆื• ืื™ื’ื ืึธืจื™ืจืŸ ืึท ื˜ืขื•ืช ืึธื“ืขืจ ื“ื•ืจื›ืคื™ืจืŸ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื™ื ืกืขืจื˜ื™ื ื’ ืื•ื™ื‘ ืขืก ืื™ื– ืื•ืžืžืขื’ืœืขืš ืฆื• ืœื™ื™ื’ืŸ ื“ืึทื˜ืŸ ื“ื•ืจืš "INSERT" (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืึท ืจืขืงืึธืจื“ ืฉื•ื™ืŸ ื™ื’ื–ื™ืกืฅ, ืื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ UPDATE ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ INSERT). ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืงื™ื™ืคืœ ON CONFLICT ื‘ืœืึทืงืก, ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ืกื“ืจ. ื“ื™ ืœืขืฆื˜ืข "ON CONFLICT" ื‘ืœืึธืง ืึทืœืึทื•ื– ื“ื™ ืงืึธื ืคืœื™ืงื˜ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืคึผืึทืจืึทืžืขื˜ืขืจ ืฆื• ื–ื™ื™ืŸ ืื™ื‘ืขืจื’ืขื”ื™ืคึผืขืจื˜ ืฆื• ื ื•ืฆืŸ "DO UPDATE".
  • ื“ื™ DELETE, INSERT ืื•ืŸ UPDATE ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืฉื˜ื™ืฆืŸ ื“ื™ RETURNING ืื•ื™ืกื“ืจื•ืง, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืึท ืื•ื™ืกื’ืขืžืขืงื˜, ื™ื ืกืขืจื˜ืึทื“ ืึธื“ืขืจ ืžืึทื“ืึทืคื™ื™ื“ ืจืขืงืึธืจื“. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขืจ ืื•ื™ืกื“ืจื•ืง "ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ืื™ืŸ ... ืื•ืžื’ืขืงืขืจื˜ ืฉื™ื™ึทืŸ" ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคื•ืŸ ื“ื™ ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื•ืจื”, ืื•ืŸ "ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ... ืฉื˜ืขืœืŸ ืคึผืจื™ื™ึทื– = ืคึผืจื™ื™ึทื– * 1.10 ืฆื•ืจื™ืงืงื•ืžืขืŸ ืคึผืจื™ื™ึทื–" ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ืคึผืจื™ื™ึทื– ื•ื•ืขืจื˜.
  • ืคึฟืึทืจ ืงืึธืžืžืึธืŸ ื˜ืึทื‘ืœืข ืขืงืกืคึผืจืขืกืกื™ืึธื ืก (CTE), ื•ื•ืึธืก ืœืึธื–ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืฆื™ื™ื˜ื•ื•ื™ื™ืœื™ื’ืข ืจืขื–ื•ืœื˜ืื˜ืŸ ืกืขืฅ ืกืคึผืขืกื™ืคื™ืขื“ ืžื™ื˜ ื“ื™ WITH ื•ื™ืกื–ืึธื’ื•ื ื’, ื“ื™ ื‘ืจื™ืจื” ืคื•ืŸ "ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“" ืื•ืŸ "ื ื™ื˜ ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“" ืžืึธื“ืขืก ืื™ื– ืขืจืœื•ื™ื‘ื˜. "ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“" ื™ืžืคึผืœื™ื™ื– ืงืึทื˜ืฉื™ื ื’ ื“ื™ ืึธื ืคึฟืจืขื’ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ืžื™ื™ื ื•ื ื’ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคื™ื–ื™ืฉ ื˜ื™ืฉ ืื•ืŸ ื“ืึทืŸ ื‘ืจืขื ื’ืขืŸ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ื“ืขื ื˜ื™ืฉ, ืื•ืŸ ืžื™ื˜ "ื ื™ื˜ ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“" ืจื™ืคึผื™ื˜ื™ื“ ืงื•ื•ื™ืจื™ื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื™ืขื“ืขืจ ืžืึธืœ ื•ื•ืขืŸ ื“ื™ ืžื™ื™ื ื•ื ื’ ืื™ื– ืึทืงืกืขืกื˜. SQLite ืขืจื™ื“ื–ืฉื ืึทืœื™ ื“ื™ืคืึธืœื˜ื™ื“ ืฆื• "ื ื™ื˜ ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“", ืึธื‘ืขืจ ืื™ื– ืื™ืฆื˜ ืคืืจืขื ื“ืขืจื˜ ืฆื• "ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“" ืคึฟืึทืจ ืงื˜ืขืก ื’ืขื ื™ืฆื˜ ืžืขืจ ื•ื•ื™ ืึทืžืึธืœ.
  • ืจื™ื“ื•ืกื˜ ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ืึท ื•ื•ืึทืงื•ื•ื ืึธืคึผืขืจืึทืฆื™ืข ืื•ื™ืฃ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื•ื•ืึธืก ืึทื ื˜ื”ืึทืœื˜ืŸ ื–ื™ื™ืขืจ ื’ืจื•ื™ืก TEXT ืึธื“ืขืจ BLOB ื•ื•ืึทืœื•ืขืก.
  • ืึทืจื‘ืขื˜ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ ืึธืคึผื˜ื™ืžื™ื–ืขืจ ืื•ืŸ ืึธื ืคึฟืจืขื’ ืคึผืœืึทื ืขืจ:
    • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ ืžื™ืŸ ืื•ืŸ ืžืึทืงืก ืคืึทื ื’ืงืฉืึทื ื– ืžื™ื˜ ื“ื™ "IN" ืื•ื™ืกื“ืจื•ืง.
    • ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ EXISTS ื“ืขืจืงืœืขืจื•ื ื’ ืื™ื– ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“.
    • ื™ืžืคึผืœืึทืžืขื ืึทื“ ื™ืงืกืคึผืึทื ืฉืึทืŸ ืคื•ืŸ ืกืึทื‘ืงื•ื•ืขืจื™ื– ืคื•ืŸ UNION ALL ืื•ื™ืกื“ืจื•ืงืŸ ื’ืขื ื™ืฆื˜ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ JOIN.
    • ื“ืขืจ ืื™ื ื“ืขืงืก ืื™ื– ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ IS NOT NULL ืื•ื™ืกื“ืจื•ืงืŸ.
    • ื™ื ืฉื•ืจื– ืึทื– "X IS NULL" ืื•ืŸ "X IS NOT NULL" ื–ืขื ืขืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืฆื• FALSE ืึธื“ืขืจ TRUE ืคึฟืึทืจ ืฉืคืืœื˜ืŸ ื•ื•ืึธืก ื”ืึธื‘ืŸ ื“ื™ "ื ื™ื˜ NULL" ืึทื˜ืจื™ื‘ื™ื•ื˜.
    • ื”ืึธืคึผืงืขืŸ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืคืจืขืžื“ ืฉืœื™ืกืœืขืŸ ืื™ืŸ UPDATE ืื•ื™ื‘ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ื˜ื•ื˜ ื ื™ืฉื˜ ื˜ื•ื™ืฉืŸ ื“ื™ ืฉืคืืœื˜ืŸ ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ ืคืจืขืžื“ ืฉืœื™ืกืœ.
    • ืขืก ืื™ื– ื“ืขืจืœื•ื™ื‘ื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคึผืึทืจืฅ ืคื•ืŸ ืึท WHERE ื‘ืœืึธืง ืื™ืŸ ืกื•ื‘ืงื•ื•ืขืจื™ื– ืžื™ื˜ ืคึฟืขื ืฆื˜ืขืจ ืคืึทื ื’ืงืฉืึทื ื–, ืึทื–ื•ื™ ืœืึทื ื’ ื•ื•ื™ ื“ื™ ืคึผืึทืจืฅ ื–ืขื ืขืŸ ืœื™ืžื™ื˜ืขื“ ืฆื• ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงืึทื ืกื˜ืึทื ืฅ ืื•ืŸ ืงืึธืคึผื™ืขืก ืคื•ืŸ ืื•ื™ืกื“ืจื•ืงืŸ ืคื•ืŸ PARTITION BY ื‘ืœืึทืงืก ื’ืขื ื™ืฆื˜ ืื™ืŸ ืคึฟืขื ืฆื˜ืขืจ ืคืึทื ื’ืงืฉืึทื ื–.
  • ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืฆื•ื‘ื™ื ื“:
    • ืฆื•ื’ืขื’ืขื‘ืŸ ".ืคื™ืœืขืงื˜ืจืœ ื“ืึทื˜ืึท_ื•ื•ืขืจืกื™ืึธืŸ" ื‘ืึทืคึฟืขืœ.
    • ื“ื™ ".ืึทืžืึธืœ" ืื•ืŸ ".ืึธื•ื˜ืคึผื•ื˜" ืงืึทืžืึทื ื“ื– ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ ื“ื•ืจื›ืคืึธืจ ืจืขื–ื•ืœื˜ืึทื˜ ืฆื• ืึท ื”ืึทื ื“ืœืขืจ ื’ืขืจื•ืคืŸ ื ื™ืฆืŸ ืึทื ื ื™ื™ืžื“ ืคึผื™ื™ืคึผืก ("|").
    • ื“ื™ "ืกื˜ืžื˜" ืื•ืŸ "ื•ื•ืžืกื˜ืขืคึผ" ืึทืจื’ื•ืžืขื ื˜ืŸ ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ".ืกื˜ืึทื˜ืก" ื‘ืึทืคึฟืขืœ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืื•ื™ืกื“ืจื•ืงืŸ ืื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืงืึธื•ื ื˜ืขืจืก.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’