SQLite is a C-language library that implements a small, fast, self-contained, highly reliable, full-featured, easy to use, SQL database engine and comes bundled with bindings for TCL.
SQLite began as a TCL extension and as such, SQLite and TCL are ideally suited to work together by design. The SQLite file format is cross-platform and allows access by multiple applications (users). The database has a single lock that imposes read and write restrictions. SQLite supports concurrent file reads; however, writing is exclusive to a single write process.
The maximum database size is 140 terabytes and the maximum row size is 1 gigabyte. For many applications, this is not a constraint.
Among the many benefits of SQLite, it is also free of charge. The SQLite source code is in the public domain and does not require a license. A simple blessing appears in the source code:
May you do good and not evil. May you find forgiveness for yourself and forgive others. May you share freely, never taking more than you give.SQLite.org – SQLite Source Code
Using SQLite and TCL in practice
TCL scripts for SQLite do not require a complex connection string. A simple “Package Require SQLite3” statement. is all we need to start using the sqlite3 command:
sqlite3 CommandName DatabaseFilename.ext -options
sqlite3 opens the database file and gives control to CommandName. Forty (40) methods are available to CommandName.
Read “The Tcl interface to the SQLite Library” for an in-depth discussion of TCL and SQLite API.
Terminology / Abbreviations
- ACID – Atomicity, Consistency, Isolation, and Durability