SQLite is today's de facto database for mobile development, particularly as the local database used in Android and iOS apps. It is also widely used to handle data storage in embedded system.
In fact, SQLite is also a good choice for lightweight database to handle data storage and query for Windows / Linux / Mac applications. It is released in the public domain and free for use (compared with other non-free alternative such as MS Access database). It is serverless and doesn't need installation nor configuration of database system (compared with alternative such as MySQL, PostgreSQL, etc.)
Now come to the big question: how to create, develop and maintain the SQLite databases?
There are quite a number of tools available, some are free and some are non-free. I have chosen SQLite Expert for use in Windows development environment.
SQLite Expert comes in 2 editions: the free Personal Edition (free for both personal and commercial use), and the non-free Professional Edition with additional features. You can click here to find out the feature differences between the 2 SQLite Expert editions. The Personal Edition should be good enough for most SQLite application developers.
SQLite Expert is able to handle Unicode data, Views and Virtual Tables.
SQLite Expert has a nice and easy to use GUI. It even comes with Hex Editor (to edit fields with binary data) and Image Editor (to edit fields with image data).
It has a powerful visual editor for database table creation, restructuring and maintenance, which able to handle columns, indexes, foreign keys, triggers, unique and check constraints.
It also has a handy Data Definition Language (DDL) viewer to show the DDL of tables.
For the Professional Edition, you will also get a Visual SQL Query Builder, able to import and export data, Lua / Pascal scripting support, etc.
If you are in search for a good database tool for SQLite3, I strongly recommend this one to you.