`

如何调用SQLITE工具查看数据库

阅读更多

Find and connect to a database

You can find busybox on Benno’s site . If you can find the location of the .db file, you don’t really need busybox. Though i highly recommend it since it has many useful utilities.

C:\android>adb shell
# export PATH=/data/busybox:$PATH
export PATH=/data/busybox:$PATH
# find data -name "*.db" -print
find data -name "*.db" -print
data/data/com.google.android.providers.contacts/databases/contacts.db
data/data/com.google.android.providers.googleapps/databases/accounts.db
data/data/com.google.android.providers.im/databases/im.db
data/data/com.google.android.providers.media/databases/media.db
data/data/com.google.android.providers.telephony/databases/mms.db
data/data/com.google.android.providers.telephony/databases/sms.db
data/data/com.google.android.providers.telephony/databases/telephony.db
data/data/com.google.android.providers.settings/databases/settings.db
data/data/com.google.android.maps/databases/maps.db
# sqlite3 data/data/com.google.android.providers.contacts/databases/contacts.db
sqlite3 data/data/com.google.android.providers.contacts/databases/contacts.db
SQLite version 3.5.0
Enter ".help" for instructions
sqlite>

Find the list of tables and their structure

sqlite> .tables
.tables
_deleted_people  contact_methods  peopleLookup
calls            people           phones
sqlite> .schema people
.schema people
CREATE TABLE people (_id INTEGER PRIMARY KEY,_sync_account TEXT,_sync_id TEXT,_sync_time TEXT,_sync_version TEXT,_sync_local_id INTEGER,_sync_dirty INTEGER,_sync_mark INTEGER,name TEXT NOT NULL,notes TEXT,photo TEXT,company TEXT,title TEXT,preferred_phone INTEGER,preferred_email INTEGER);
CREATE INDEX peopleSyncIdIndex ON people (_sync_id);
CREATE TRIGGER contact_cleanup DELETE ON people BEGIN DELETE FROM peopleLookup WHERE source = old._id;DELETE FROM phones WHERE person = old._id;DELETE FROM contact_methods WHERE person = old._id;UPDATE calls SET person = NULL WHERE person = old._id;END;
CREATE TRIGGER contact_to_deleted DELETE ON people WHEN old._sync_id is not null BEGIN INSERT INTO _deleted_people (_sync_id, _sync_account, _sync_version) VALUES (old._sync_id, old._sync_account, old._sync_version);END;
CREATE TRIGGER peopleLookup_insert AFTER INSERT ON people BEGIN SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ');END;
CREATE TRIGGER peopleLookup_update UPDATE OF name ON people BEGIN DELETE FROM peopleLookup WHERE source = new._id;SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ');END;
sqlite> .schema phones
.schema phones
CREATE TABLE phones (_id INTEGER PRIMARY KEY,person INTEGER,type INTEGER,number TEXT,number_key TEXT,label TEXT);
CREATE INDEX phonesIndex1 ON phones (person);
CREATE INDEX phonesIndex2 ON phones (number_key);
CREATE TRIGGER phones_delete DELETE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;
CREATE TRIGGER phones_insert INSERT ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END;
CREATE TRIGGER phones_update UPDATE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;
CREATE TRIGGER preferred_phone_cleanup DELETE ON phones BEGIN UPDATE people SET preferred_phone = NULL WHERE preferred_phone = old._id; END;

Print some of the information from the tables

sqlite> .header on
.header on
sqlite> .mode column
.mode column
sqlite> select * from phones;
select * from phones;
_id         person      type        number        number_key    label
----------  ----------  ----------  ------------  ------------  ----------
1           1           1           +15085551212  21215558051+
2           1           0           +17815551212  21215551871+
3           1           2           +16175551212  21215557161+
sqlite> select * from people;
select * from people;
_id         _sync_account  _sync_id    _sync_time  _sync_version  _sync_local_id  _sync_dirty  _sync_mark  name              notes       photo       company     title       preferred_phone  preferred_email
----------  -------------  ----------  ----------  -------------  --------------  -----------  ----------  ----------------  ----------  ----------  ----------  ----------  ---------------  ---------------
1                                                                                 1                        Davanum Srinivas                                                  1

Other commands

sqlite> .help
.help
.bail ON|OFF           Stop after hitting an error.  Default OFF
.databases             List names and files of attached databases
.dump ?TABLE? ...      Dump the database in an SQL text format
.echo ON|OFF           Turn command echo on or off
.exit                  Exit this program
.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.
.header(s) ON|OFF      Turn display of headers on or off
.help                  Show this message
.import FILE TABLE     Import data from FILE into TABLE
.indices TABLE         Show names of all indices on TABLE
.load FILE ?ENTRY?     Load an extension library
.mode MODE ?TABLE?     Set output mode where MODE is one of:
                         csv      Comma-separated values
                         column   Left-aligned columns.  (See .width)
                         html     HTML
code
                         insert   SQL insert statements for TABLE
                         line     One value per line
                         list     Values delimited by .separator string
                         tabs     Tab-separated values
                         tcl      TCL list elements
.nullvalue STRING      Print STRING in place of NULL values
.output FILENAME       Send output to FILENAME
.output stdout         Send output to the screen
.prompt MAIN CONTINUE  Replace the standard prompts
.quit                  Exit this program
.read FILENAME         Execute SQL in FILENAME
.schema ?TABLE?        Show the CREATE statements
.separator STRING      Change separator used by output mode and .import
.show                  Show the current values for various settings
.tables ?PATTERN?      List names of tables matching a LIKE pattern
.timeout MS            Try opening locked tables for MS milliseconds
.width NUM NUM ...     Set column widths for "column" mode

分享到:
评论

相关推荐

    sqlite 无需安装数据库查看工具

    标题提到的"sqlite 无需安装数据库查看工具"指的是能够直接运行,帮助用户方便快捷地查看SQLite数据库的软件。 这个工具的最大优点就是便携性,它不需要像传统的数据库管理系统(如MySQL、PostgreSQL)那样进行繁琐...

    SQLite数据库 加密解密工具

    本文将详细介绍如何使用.NET环境下的SQLite加密解密工具来确保数据库的安全。 首先,SQLite数据库的加密通常涉及到两方面的技术:透明数据加密(TDE)和应用程序级别的加密。TDE是在数据库级别进行的,数据在写入...

    IOS 下SQLite3数据库的连接工具类

    这个标题为"IOS 下SQLite3数据库的连接工具类"的示例代码,提供了在Xcode 4.2环境下连接和操作SQLite3数据库的工具类。 首先,要使用SQLite3,我们需要在项目中引入`libsqlite3.tbd`或`libsqlite3.dylib`库。在...

    JavaScript操作SQLite数据库Demo

    为了验证数据是否正确存储,你可以使用SQLiteStudio等工具,将JavaScript生成的SQLite数据库文件导出并进行查看。SQLiteStudio是一款直观的SQLite数据库管理工具,它提供了GUI界面,方便进行数据查看、编辑和管理。 ...

    Android开发中的SQLite数据库的增删改查工具类

    - 然后,使用这个实例调用SQLiteManager中的方法进行数据的增删改查操作。 - 当数据库需要升级时,SQLiteOpenHelper的`onUpgrade`方法会被调用,开发者可以在此方法中执行升级逻辑,如修改表结构、添加新表等。 4...

    一个小巧快速的Sqlite数据库的连接查看、管理工具,多国语言版。

    1. sqlite3.dll 和 sqlite.dll:这是SQLite数据库引擎的动态链接库文件,工具通过调用这些库来实现与SQLite数据库的交互,执行SQL语句和管理数据库。 2. sqliteadmin.exe:这是SQLite管理工具的主程序,用户通过这个...

    java操作sqlite数据库工具代码及jar包

    本资源提供了一个便捷的方式来与SQLite数据库进行交互,包括必要的jar包和一个预设的工具类。下面将详细介绍如何使用这些资源以及涉及的核心Java和SQLite知识。 首先,`sqlite-jdbc.jar`是Java SQLite驱动,它允许...

    LabVIEW使用SQLite数据库范例(需要自行下载SQLite的工具包)

    在本文中,我们将深入探讨如何在LabVIEW环境中利用SQLite数据库进行数据存储和管理。SQLite是一个轻量级的、自...记得在实际操作中,确保下载并正确集成SQLite工具包,以及遵循最佳实践,以确保代码的稳定性和可靠性。

    Android数据库SQLite详解

    在Android开发中,SQLite...总之,SQLite是Android开发中不可或缺的数据存储工具。理解和熟练运用SQLite能帮助开发者构建高效、稳定的应用程序。在实际项目中,应根据需求灵活运用上述知识,实现高效、安全的数据管理。

    java 调用 sqlite 数据库

    Java调用SQLite数据库是开发移动应用或轻量级桌面应用时常见的技术组合。SQLite是一个开源、自包含、无服务器、零配置、事务性的SQL数据库引擎,适用于资源有限的环境,如嵌入式设备和移动设备。Eclipse作为流行的...

    Windows下SQLite创建数据库的方法

    为了方便使用,建议将包含`sqlite3.exe`的目录添加到系统的环境变量中,这样可以在任意位置通过命令行调用SQLite工具。 ### 创建数据库 在Windows系统中创建SQLite数据库主要通过命令行方式实现,具体步骤如下: ...

    sqlite数据库管理工具、带.net调用库和java驱动包

    在这个名为"sqlite数据库管理工具、带.net调用库和java驱动包"的压缩包中,包含了用于管理和操作SQLite数据库的工具,以及针对.NET和Java平台的驱动程序,使得开发者可以方便地在这些平台上与SQLite进行交互。...

    数据库sqlite 小型数据库

    `sqlite-3_7_2.zip`和`sqlitedll-3_7_2.zip`可能是SQLite的不同版本库,前者可能是SQLite的源代码或编译后的库文件,后者可能是Windows平台下的动态链接库文件,用于在Windows环境中调用SQLite功能。 在实际开发中...

    SQLite数据库使用工具类

    三、SQLite工具类封装 1. 数据库操作接口:定义一个接口,包含增删改查等基本操作方法,如insert()、delete()、update()和query()。 2. 数据库帮助类:继承SQLiteOpenHelper,实现上述接口中的方法。这里需要处理SQL...

    64位C#2012调用SQLite数据库源码,含设置密码

    在本项目中,我们主要探讨的是如何在64位Windows操作系统上使用C# 2012编程语言通过Visual Studio 2012(VS2012)来调用SQLite数据库,并且涉及到数据库的管理和安全性,特别是设置密码。SQLite是一种轻量级的嵌入式...

    sqlite3官方数据库文件打包比官网快

    在Windows环境下,程序运行时需要这个库文件来调用SQLite3的功能。开发者在编写需要使用SQLite3的程序时,可以通过链接此库来实现对数据库的操作。 `sqlite3.exe`是SQLite3的命令行工具,可以直接在命令行界面中...

    sqlite3 数据库命令操作

    SQLite数据库的创建过程极为简便,仅需通过命令行调用`sqlite3`工具并指定数据库文件名即可。若指定的文件不存在,SQLite会自动创建该文件作为数据库载体。例如: ``` sqlite3 user.db ``` 上述命令将创建名为`...

    Nodejs操作Sqlite3数据库封装

    在Node.js环境中,SQLite3是一个常用的轻量级数据库,它不需要单独的服务进程,可以直接在内存中或磁盘上创建数据库文件。本篇文章将深入探讨如何使用`node-sqlite3`库来操作SQLite3数据库,并对其进行封装,以便于...

    sqlite加解密工具.exe

    方便对SQLite数据库加密解密的小工具 功能实现参考了此网文:https://www.cnblogs.com/landv/p/11183634.html 要在C#里调用也参考以上连接,文章里有源码范例

Global site tag (gtag.js) - Google Analytics