SQLite is a relational database management system (RDBMS). Instead of running a server process, SQLite databases are directly accessed by running the 'sqlite' binary.
What is SQLite?
SQLite is a relational database management system. Other as its bigger competitors like e.g. MySQL or PostgreSQL, it does not run a service to be contacted for interaction. Instead, to read/write the database, either a small executable (
sqlite for version2, or
sqlite3 for version 3 of SQLite) or a corresponding library is used. This makes SQLite a compact database using little ressources, and predestined for embedded and other systems with limited ressources.
Wikipedia puts it this way:
SQLite (/ˌɛskjuːɛlˈlaɪt/ or /ˈsiːkwɛl.laɪt/) is a relational database management system contained in a small (~350 KB) C programming library. In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it.
Android uses SQLite for its apps to store their data. This applies not only to data of your manually installed apps, but as well to SMS/MMS, contact data, and metadata for your media files collected by the media-scanner.
If the corresponding SQLite binary is installed on your device (it not always is), databases can be accessed via adb (which usually requires a rooted device, see: rooting). But there are also apps in the Playstore which gives you this possibility directly from the device, as e.g. the SQLite Debugger or aSQLiteManager. Having dragged databases to your computer (e.g. via
adb pull), you can use e.g. SQLiteMan to handle them -- regardless whether you're on a Linux, Mac, or Windows machine.
When should I use this tag?
It's of course best fit when your issue is about accessing SQLite databases on your Android device -- be it for debugging, troubleshooting, or simply investigation.