-
Latest Version
SQLite 3.52.0 LATEST
-
Review by
-
Operating System
Mac OS X
-
User Rating
Click to vote -
Author / Product
-
Filename
sqlite-tools-osx-x64-3520000.zip
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.
- Download SQLite precompiled binary for macOS
- Extract and move the sqlite3 file to /usr/local/bin
- Open Terminal to check SQLite installation
- Use sqlite3 command to start SQLite shell
- Create a new database with sqlite3 mydb.db
- Use SQL commands to create and manage tables
- Read data using SELECT statements
- Use .tables to list all database tables
- Use .schema to view table schema
- Exit SQLite shell with .exit or Ctrl+D
- macOS 10.13 High Sierra or later
- Intel or Apple Silicon processor
- At least 100MB of free disk space
- Terminal access and command line basics
- Optional: Homebrew for easy installation
- Lightweight and fast
- No server setup needed
- Easy to embed in apps
- Full SQL support
- Cross-platform compatibility
- No built-in user management
- Limited concurrency support
- Lacks advanced security features
- Not ideal for large-scale apps
- Manual backup and sync needed
What's new in this version:
- 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
OperaOpera 128.0 Build 5807.52
PhotoshopAdobe Photoshop CC 2026 27.4
OKXOKX - Buy Bitcoin or Ethereum
WPS OfficeWPS Office
Adobe AcrobatAdobe Acrobat Pro 2025.001.21265
CleamioCleamio 3.4.0
MalwarebytesMalwarebytes 5.21.1
TradingViewTradingView - Track All Markets
CleanMyMacCleanMyMac X 5.2.10
AdGuard VPNAdGuard VPN for Mac 2.9.0

Comments and User Reviews