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

SQLite for Mac

SQLite for Mac

  -  3.5 MB  -  Freeware
SQLite for Mac is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite for macOS is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.

Features and Highlights
  • Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
  • Zero-configuration - no setup or administration needed.
  • Full SQL implementation with advanced features like partial indexes and common table expressions. (Omitted features)
  • A complete database is stored in a single cross-platform disk file. Great for use as an application file format.
  • Supports terabyte-sized databases and gigabyte-sized strings and blobs. (See limits.html.)
  • Small code footprint: less than 500KiB fully configured or much less with optional features omitted.
  • Simple, easy to use API.
  • Written in ANSI-C. TCL bindings included. Bindings for dozens of other languages available separately.
  • Well-commented source code with 100% branch test coverage.
  • Available as a single ANSI-C source-code file that is easy to compile and hence is easy to add into a larger project.
  • Self-contained: no external dependencies.
  • Cross-platform: Android, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and Windows (Win32, WinCE, WinRT) are supported out of the box. Easy to port to other systems.
  • Sources are in the public domain. Use for any purpose.
  • Comes with a standalone command-line interface (CLI) client that can be used to administer SQ Lite databases.
Also Available: Download SQLite for Windows

  • SQLite 3.48.0 Screenshots

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

    SQLite 3.48.0 Screenshot 1

What's new in this version:

Refactor the "configure" script used to help build SQLite from canonical sources, to fix bugs, improve performance, and make the code more maintainable:
- This does not affect the "configure" script in the sqlite3-autoconf-NNNNNNN.tar.gz "amalgamation tarball", only the canonical sources. The build system for the amalgamation tarball is unchanged. If you are using the amalgamation tarball, nothing about this change log entry applies to you.
- The key innovation here is that Autosetup is now used instead of GNU Autoconf. That seems like a big change, but it is really just an implementation detail. The ./configure script is coded very differently, but should work the same as before.
- One advantage of the new configure is that you no longer need to install TCL in order to build most SQLite targets. TCL is still required to run tests or to build accessory programs (like sqlite3_analyzer) that use TCL, but it is not required for most common targets. Hence, as of this release, the only build dependencies are a C compiler and "make" or "nmake".
- Improved EXPLAIN QUERY PLAN output for covering indexes.
- Allow a two-argument version of the iif() SQL function. Also allow if() as an alternative spelling for iif().
- Add the ".dbtotxt" command to the CLI
- Add the SQLITE_IOCAP_SUBPAGE_READ property to the xDeviceCharacteristics method of the sqlite3_io_methods object
- Add the SQLITE_PREPARE_DONT_LOG option to sqlite3_prepare_v3() that prevents warning messages being sent to the error log if the SQL is ill-formed. This allows sqlite3_prepare_v3() to be used to do test compiles of SQL to check for validity without polluting the error log with false messages.
- Increase the minimum allowed value of SQLITE_LIMIT_LENGTH from 1 to 30
- Added the SQLITE_FCNTL_NULL_IO file control
- Extend the FTS5 auxiliary API xInstToken() to work with prefix queries via the insttoken configuration option and the fts5_insttoken() SQL function
- Increase the maximum number of arguments to an SQL function from 127 to 1000
- Remove vestigial traces of SQLITE_USER_AUTHENTICATION
- Various obscure bug fixes.a