We stand with Ukraine to help keep people safe. Join us
When you purchase through links on our site, we may earn an affiliate commission

SQLite for Mac

SQL database connection development library.

Free
In English
4.5
Based on 5 user rates

SQLite overview

SQLite 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 is currently found in more applications than we can count, including several high-profile projects. SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. These features make SQLite a popular choice as an Application File Format. Think of SQLite not as a replacement for Oracle but as a replacement for fopen() If you need a GUI for database management, you can install NAVICAT. SQLite is a compact library. With all features enabled, the library size can be less than 300KiB, depending on compiler optimization settings. (Some compiler optimizations such as aggressive function inlining and loop unrolling can cause the object code to be much larger.) If optional features are omitted, the size of the SQLite library can be reduced below 180KiB.

SQLite can also be made to run in minimal stack space (4KiB) and very little heap (100KiB), making SQLite a popular database engine choice on memory constrained gadgets such as cellphones, PDAs, and MP3 players. There is a tradeoff between memory usage and speed. SQLite generally runs faster the more memory you give it. Nevertheless, performance is usually quite good even in low-memory environments.

What’s new in version 3.52.0

  • Fix the WAL-reset database corruption bug.
  • Enhance ALTER TABLE to permit adding and removing NOT NULL and CHECK constraints.
  • Add the Query Result Formatter (QRF) library for formatting the results of SQL queries for human readability on a fixed-pitch font screen.
    • Add the format method to the TCL Interface so that QRF is accessible from TCL.
    • QRF is used for result formatting in the CLI, resulting in improved display capabilities.
  • New built-in SQL functions: json_array_insert(), and jsonb_array_insert().
Renovations to the CLI:
  • Major enhancements to the .mode command.
  • Improved result formatting, due to the addition of the QRF extension. For example, numeric values are now right-justified by default in tabular output modes.
  • The default output mode for interactive CLI sessions now uses QRF to display query results in boxes formed using Unicode box-drawing characters, for improved legibility. Batch CLI sessions use the legacy output format for compatibility.
  • Bare (unquoted) semicolons at the end of dot-commands are silently ignored.  ← Potential incompatibility!
  • Fix the .testcase and .check commands so that they actually work, and use those commands in scripts that part of the standard SQLite test suite included with the source tree.
  • Command-line arguments that match *.sql or *.txt and are the names of non-empty files are read and interpreted as scripts of SQL statements and/or dot-commands.
  • The argument to the ".timer" command can now be "once", to run the timer on only the next SQL statement.
  • The new "--timeout S" option to the ".progress" dot-command causes SQL statements to interrupt after S seconds.
New C-language interfaces:
  • sqlite3_str_truncate()
  • sqlite3_str_free()
  • sqlite3_carray_bind_v2()
  • Add the SQLITE_PREPARE_FROM_DDL option to sqlite3_prepare_v3() which permits virtual table implementations to safely prepare SQL statements that are derived from the database schema.
  • Added the SQLITE_UTF8_ZT constant which can be used as the encoding parameter to sqlite3_result_text64() or sqlite3_bind_text64() to indicate that the value is UTF-8 encoded and zero terminated.
  • The SQLITE_LIMIT_PARSER_DEPTH option is added to sqlite3_limit().
  • The SQLITE_DBCONFIG_FP_DIGITS option is added to sqlite3_db_config(). See also item 8b below.
Query planner improvements:
  • Always use a sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION, since this is almost always faster than using a hash table.
  • Improvements to join order selection in large multi-way joins on a star schema.
  • Enhance the EXISTS-to-JOIN optimization so that the inserted JOIN terms are not required to be on the inner-most loops, as long as all dependencies for the EXISTS-to-JOIN loops are in outer loops.
  • Enhance the omit-noop-join optimization so that it is able to omit a chain of joins that do not affect the output.
  • Allow queries that use "GROUP BY e1 ORDER BY e2" where e1 and e2 are identical apart from ASC/DESC sort-orders to be optimized using a single index.
  • Allow virtual tables to optimize DISTINCT in cases where the result-set of a query does not exactly match the ORDER BY clause.
Improvements to floating-point ↔ text conversions.
    • Reimplemented to improve performance.
    • Rounding is now done by default to 17 significant digits, instead of 15, as was the case for all prior versions. The sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) API (item 6g above) can change this, if desired.
  • The body of TEMP triggers may now modify and/or query tables in the main schema.
  • Enhance VACUUM INTO so that if a URI filename is used as the target and that filename has a reserve=N query parameter with N between 0 and 255, then the reserve amount for the generated database copy is set to N.
  • Add the "-p|--port" option to sqlite3_rsync.
  • Discontinue support for Windows RT.
View older SQLite versions

SQLite for Mac

Free
In English
Version 3.52.0
Write a detailed review about SQLite

Write your thoughts in our old-fashioned comment

MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.
4.5

(4 Reviews of SQLite)

  • Comments

  • User Ratings

Just-Fred
Just-Fred
May 27 2025
3.49.2
0.0
May 27 2025
0.0
Version: 3.49.2
WARNING: Sqlite3 is included with macOS (mine is in /usr/local/bin/). However, it is often not the latest release, so if you want to use a newer version, you should probably install it in another directory and add that directory to your PATH. Overwriting the Apple-supplied version may break things, so better to be safe, not sorry.
Derekcurrie
Derekcurrie
Dec 21 2018
3.25.0
0.0
Dec 21 2018
0.0
Version: 3.25.0
WARNING! SQLite v3.25 and earlier have a critical vulnerability. UPDATE to v3.26+ IMMEDIATELY! v3.26 is the current version. More here:

"Cybersecurity researchers have discovered a critical vulnerability in widely used SQLite database software that exposes billions of deployments to hackers.

Dubbed as 'Magellan' by Tencent's Blade security team, the newly discovered SQLite flaw could allow remote attackers to execute arbitrary or malicious code on affected devices, leak program memory or crash applications...."

https://thehackernews.com/2018/12/sqlite-vulnerability.html
SickTeddyBear
SickTeddyBear
Sep 21 2011
3.7.8
0.0
Sep 21 2011
0.0
Version: 3.7.8
FYI, this listing now points to the official source at sqlite.org, and no longer has anything to do with Michael Tsai.
Guest
Guest
Mar 9 2004
2.8.13
0.0
Mar 9 2004
0.0
Version: 2.8.13
This is *not* an official version and thus shouldn't be taking the SQLite name. The author further doesn't provide their project so we can check that the build is unmodified. Use at your own risk.
trinineverette
trinineverette
May 25 2021
3.35.5
4.0
May 25 2021
4.0
Version: 3.35.5
whank7490
whank7490
May 21 2021
3.35.5
4.0
May 21 2021
4.0
Version: 3.35.5
Wevah
Wevah
Jun 7 2018
5.0
Jun 7 2018
5.0
Version: null
Archibald-c
Archibald-c
Dec 10 2013
5.0
Dec 10 2013
5.0
Version: null
Hodagacz
Hodagacz
May 20 2011
4.5
May 20 2011
4.5
Version: null