Self-contained, embeddable, zero-configuration SQL database engine

SQLite (32-bit)

SQLite 3.28.0 (32-bit)

  -  512 KB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of SQLite 3.28.0 (32-bit).


For those interested in downloading the most recent release of SQLite (32-bit) or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • SQLite 3.28.0 (32-bit) Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    SQLite 3.28.0 (32-bit) Screenshot 1

What's new in this version:

Enhanced window functions:
- Add support the EXCLUDE clause
- Add support for window chaining
- Add support for GROUPS frames
- Add support for " PRECEDING" and " FOLLOWING" boundaries in RANGE frames
- Added the new sqlite3_stmt_isexplain(S) interface for determining whether or not a prepared statement is an EXPLAIN
- Enhanced VACUUM INTO so that it works for read-only databases

New query optimizations:
- Enable the LIKE optimization for cases when the ESCAPE keyword is present and PRAGMA case_sensitive_like is on
- In queries that are driven by a partial index, avoid unnecessary tests of the constraint named in the WHERE clause of the partial index, since we know that constraint must always be true

Enhancements to the TCL Interface:
- Added the -returntype option to the function method
- Added the new bind_fallback method

Enhancements to the CLI:
- Added support for bound parameters and the .parameter command
- Fix the readfile() function so that it returns an empty BLOB rather than throwing an out-of-memory error when reading an empty file
- Fix the writefile() function so that when it creates new directories along the path of a new file, it gives them umask permissions rather than the same permissions as the file
- Change --update option in the .archive command so that it skips files that are already in the archive and are unchanged. Add the new --insert option that works like --update used to work
- Added the fossildelta.c extension that can create, apply, and deconstruct the Fossil DVCS file delta format that is used by the RBU extension
- Added the SQLITE_DBCONFIG_WRITABLE_SCHEMA verb for the sqlite3_db_config() interface, that does the same work as PRAGMA writable_schema without using the SQL parser
- Added the sqlite3_value_frombind() API for determining if the argument to an SQL function is from a bound parameter

Security and compatibilities enhancements to fts3_tokenizer():
- The fts3_tokenizer() function always returns NULL unless either the legacy application-defined FTS3 tokenizers interface are enabled using the sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting, or unless the first argument to fts3_tokenizer() is a bound parameter
- The two-argument version of fts3_tokenizer() accepts a pointer to the tokenizer method object even without the sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting if the second argument is a bound parameter
- Improved robustness against corrupt database files
- Miscellaneous performance enhancements
- Established a Git mirror of the offical SQLite source tree. The canonical sources for SQLite are maintained using the Fossil DVCS