Sqlite3 常用命令行使用

背景

在手机上,我们经常会需要查看手机上的数据库去定位一些问题,这时如果能够直接进入手机终端,然后通过命令行去查询数据库,那将是一件非常方便的事情。

前提条件

由于计划要访问手机里 /data/data/ 下的某个应用数据库,所以手机需要获取 root 权限,才能访问这个用户数据目录。

本文以 /data/data/com.android.providers.media/databases/external.db 系统媒体库为例,进行讲述。

常用命令

1. 进入手机终端

> adb shell

2. 进入 external.db 数据库

> sqlite3 external.db

3. 显示数据库

sqlite> .database

输出:

sqlite> .database
main: /data/data/com.android.providers.media/databases/external.db

注:上面大于号前面有 「sqlite」表示已经进入 sqlite 数据库,这条命令是在 sqlite 终端执行的。

4. 显示数据库中的表

sqlite> .tables

输出:

sqlite> .tables
album_art audio_genres log
album_info audio_genres_map search
albums audio_genres_map_noid searchhelpertitle
android_metadata audio_meta thumbnails
artist_info audio_playlists video
artists audio_playlists_map videothumbnails
artists_albums_map files
audio images

5. 根据 _id 查询 images 表

sqlite> select * from images where _id=‘333’;

输出:

sqlite> select * from images where _id=‘333’;
333|/storage/emulated/0/Pictures/各种分辨率/480-720/126351Z4562460-3211461.jpg|263141|126351Z4562460-3211461.jpg|image/jpeg|126351Z4562460-3211461|1558000996|1321585798||||||1321585798000|0||-1395347199|480-720|480|720|244

6. 显示表头

sqlite> .head on

执行完上面这条命令后,再执行步骤5中的查询语句,显示结果中会将表头字段也展示出来,见下面输出的黑体字部分。这样就可以知道查询出来的每个值代表的是哪个字段了。
输出:

sqlite> select * from images where _id=‘333’;
_id|_data|_size|_display_name|mime_type|title|date_added|date_modified|description|picasa_id|isprivate|latitude|longitude|datetaken|orientation|mini_thumb_magic|bucket_id|bucket_display_name|width|height|parent
333|/storage/emulated/0/Pictures/各种分辨率/480-720/126351Z4562460-3211461.jpg|263141|126351Z4562460-3211461.jpg|image/jpeg|126351Z4562460-3211461|1558000996|1321585798||||||1321585798000|0||-1395347199|480-720|480|720|244

7. 帮助详解

sqlite> .help

查看帮助信息。

8. 其他
进入到 sqlite 终端后,就可以对表进行 「增删改查」命令了,跟普通的 sql 命令没有区别,这里就不再进行拓展了。

欢迎关注我的公众号,一起进步!
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToSimpleL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值