sqlite3
Stay organized with collections
Save and categorize content based on your preferences.
From a remote shell to your device or from your host machine, use the sqlite3
command-line program to manage
SQLite databases created by Android applications. The sqlite3
tool includes many
useful commands, such as .dump
to print out the contents of a table and
.schema
to print the SQL CREATE statement for an existing table. The tool also gives
you the ability to execute SQLite commands on the fly.
Refer to the SQLite
documentation for full details. For additional documentation, visit
sqlite3
and the
SQL language specification supported
by SQLite.
To use sqlite3
from a remote shell:
- Enter a remote shell by entering the following command:
adb [-d|-e|-s {<serialNumber>}] shell
- From the remote shell, start the
sqlite3
tool by entering the following command:
sqlite3
You can also optionally specify a full path to a database that you want to explore.
Emulator/device instances store SQLite databases in the directory
/data/data/<package_name>/databases/
.
- Once you invoke
sqlite3
, you can issue
commands in the shell. To exit and return to the adb remote shell, enter
exit
or press Control+D.
For example:
$ adb -s emulator-5554 shell
# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter ".help" for instructions
.... enter commands, then quit...
# sqlite> .exit
Note: You need root access to the file system to view files
within the /data/data
directory hierarchy.
To use sqlite3
locally, instead of within a shell,
pull the database file from the device and start sqlite3
:
- Copy a database file from your device to your host machine:
adb pull <database-file-on-device>
- Start the
sqlite3
tool, specifying the database file:
sqlite3 <database-file-on-host>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-04-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-04-12 UTC."],[],[],null,["# sqlite3\n\nFrom a remote shell to your device or from your host machine, use the [`sqlite3`](https://www.sqlite.org/) command-line program to manage\nSQLite databases created by Android applications. The `sqlite3` tool includes many\nuseful commands, such as `.dump` to print out the contents of a table and\n`.schema` to print the SQL CREATE statement for an existing table. The tool also gives\nyou the ability to execute SQLite commands on the fly.\n\nRefer to the [SQLite\ndocumentation](https://sqlite.org/docs.html) for full details. For additional documentation, visit\n[`sqlite3`](https://sqlite.org/cli.html) and the\n[SQL language specification](https://sqlite.org/lang.html) supported\nby SQLite.\n\nTo use `sqlite3` from a remote shell:\n\n1. Enter a remote shell by entering the following command: \n\n ```\n adb [-d|-e|-s {\u003cserialNumber\u003e}] shell\n ```\n2. From the remote shell, start the `sqlite3` tool by entering the following command: \n\n ```\n sqlite3\n ```\n\n You can also optionally specify a full path to a database that you want to explore.\n Emulator/device instances store SQLite databases in the directory\n `/data/data/\u003cpackage_name\u003e/databases/`.\n3. Once you invoke `sqlite3`, you can issue commands in the shell. To exit and return to the adb remote shell, enter `exit` or press Control+D.\n\nFor example: \n\n```\n$ adb -s emulator-5554 shell\n# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db\nSQLite version 3.3.12\nEnter \".help\" for instructions\n.... enter commands, then quit...\n# sqlite\u003e .exit\n```\n\n**Note:** You need root access to the file system to view files\nwithin the `/data/data` directory hierarchy.\n\nTo use `sqlite3` locally, instead of within a shell,\npull the database file from the device and start `sqlite3`:\n\n1. Copy a database file from your device to your host machine: \n\n ```\n adb pull \u003cdatabase-file-on-device\u003e\n ```\n2. Start the `sqlite3` tool, specifying the database file: \n\n ```\n sqlite3 \u003cdatabase-file-on-host\u003e\n ```"]]