Database at a Glance – The schema treeview displays all items contained in a database, including tables, columns, indexes and triggers. Press
F5
to update the schema tree, double-click a table or view to display its data, use the context menu for frequently used commands.
Grid Cell Editing – Table cells are editable in the grid: Display a table via the schema treeview, select a cell and press F2
to invoke the editor. Then modify and confirm to write your changes back to the table.
Data Type Display – The native SQL data types are displayed with different background colors to help detect type errors. Type errors can cause performance degradation or wrong SELECT result sets if NULL values are confused with empty strings.
Full Unicode – SQLiteSpy fully supports SQLite's Unicode capabilities. Data display and entry is completely realized as Unicode, including SQL commands.
Multiple SQL Edits – Modern tabs are used to edit and display multiple SQL queries for easy comparison of query statements and results. SQL queries are executed by typing or loading them into the SQL edit. Then press F9 to run the query, or CTRL+F9 to run the current line or selection only.
Time Measurement – SQL execution time is automatically measured and displayed to help optimize queries.
Regular Expressions – The SQL keyword
REGEXP
supports regular expression syntax similar to Perl. It is implemented with the help of the
YuPcre2 library.
Mathematical SQL Functions – The following mathematical SQL functions are available in addition to the SQLite default: ACOS(), ASIN(), ATAN(), ATAN(), ATAN2(), CEIL(), CEILING(), COS(), COT(), DEGREES(), EXP(), FLOOR(), LN(), LOG(), LOG(), LOG2(), LOG10(), MOD(), PI(), POW(), RADIANS(), SIGN(), SIN(), SQRT(), TAN(), TRUNCATE().
Data Compression – The SQL functions COMPRESS() applies zlib's deflate to any text or
BLOB value. The raw deflate data stream is returned. UNCOMPRESS() inflates this stream back to the original. Integers, Doubles, and Nulls are returned unchanged.
Compact Result Storage – The internal data storage mechanism uses SQLite's native data types for optimal compatibility. As a result, SQLiteSpy uses far less memory than other SQLite managers and handles large tables much more efficiently.
Built-in SQLite Engine – SQLiteSpy comes as a single file executable with the SQLite database engine already build into the application. There is no need to distribute any
DLLs, which makes SQLiteSpy easy to deploy with customers.
Encryption Support – SQLiteSpy can read and modify encrypted database files generated by
DISQLite3.
DISQLite3 implements its own native
AES encryption which is not compatible with the commercial SQLite Encryption Extension (SSE) or any such implementation offered by other 3rd parties.
Loadable Extensions – SQLiteSpy loads runtime extension modules compiled with with “fastcall” (C++ Builder) or “register” (Delphi) calling conventions. Extensions can be loaded for the current database via SELECT load_extension('FileName.dll');
or automatically for all databases by entering extension file names to the Options dialog.
Easy Install & Uninstall – To run SQLiteSpy, just extract the SQLiteSpy.exe file to any directory and execute the file. No installation is needed – when first started, the program creates a single file SQLiteSpy.db3 (a SQLite3 database) to store options and settings. It does not write any other files or to the registry. Uninstalling is as simple as deleting two files only: The application's executable and its options database file.
Freeware – SQLiteSpy is Freeware for personal and educational use. If you are using SQLiteSpy commercially, your donation is welcome to promote the ongoing development of this software. Thank you!
If you like to contribute to SQLiteSpy: Please post comments, suggestions, feature requests and bug reports to the mailing list. Thanks to all who have already shared their encouragement and ideas!