- 浏览: 43204 次
- 性别:
- 来自: 成都
文章分类
最新评论
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
发表评论
-
如何手动编译一个APK
2011-07-07 14:55 1865he good thing about building ma ... -
android上一些方法的区别和用法的注意事项
2011-07-07 10:03 2011Intent中的addflags()和se ... -
编译Android源码的全过程
2011-05-17 23:56 975在网上看到一篇编译android源码的文章,照着做挺行的, ... -
ubuntu 10.04和10.10上下载编译环境配置android2.2-froyo
2011-05-17 23:11 1954ubuntu 10.04和10.10上下载编译环境配置andr ... -
android进程间通信:使用AIDL
2011-05-17 15:07 1298欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AID ... -
android 设置线程的优先级
2011-05-17 15:03 3899有两处API可以设置线程的优先级: (1)an ... -
StatusBar (状态栏)的架构(Android 2.3)
2011-05-17 15:02 1104以前我的文章分析过 StatusBar上图标显示的流程, ... -
对Task和Activity在ANDROID中的解释
2011-03-25 10:39 1359android:allowTaskReparenting ... -
Android IPC机制详解
2010-12-13 16:40 843o IBinder接口 IBinder接口是对跨进程 ... -
android 多线程
2010-12-11 17:47 954在Android下面也有多线程 ... -
android中activity的四种加载模式
2010-12-11 16:46 1152一、何为加载模式 在android的多activ ...
相关推荐
方便对SQLite数据库加密解密的小工具 功能实现参考了此网文:https://www.cnblogs.com/landv/p/11183634.html 要在C#里调用也参考以上连接,文章里有源码范例
Android 提供了一个名为 SQLiteDatabase 的类,该类封装了一些操作数据库的 API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为 CRUD) 。
介绍node-sqlite3 API,并对API初步封装,方便开发人员调用,实现业务逻辑。
非常好用的sqlite数据库管理工具、带.net调用库和java驱动包
封装了SQLite的基本操作,只需要将源码导入工程,修改相应的字段名称,就能直接调用相应的封装好的方法。数据库的使用就是如此简单。
java 操作sqlite 数据库增删改,帮助工具类。 查询数据库集合,新增数据,删除数据,修改数据
这是我工作了一天的成果,压缩包内包括Qt sqlite加密驱动所有的代码,以及一个调用例程,还有一个sqlite3shell.exe工具,用于加密数据库命令行下的分析。 使用这个加密驱动很简单,只需以下3步: 1. 将驱动的代码...
Sqlite 操作类 C# .net,嵌入式SQL //创建一个数据库文件 string datasource = @"d:/ChinaPower.s3db"; // System.Data.SQLite.SQLiteConnection.CreateFile(datasource); //连接数据库 System.Data....
包含三个文件 sqlite.lib sqlite.dll sqlite3.h #include "sqlite3.h" #pragma comment(lib, “sqlite.lib”) 然后可以直接调用啦,要的朋友拿去吧, 是针对wince平台哦
SQLiteSpy是一个快速和紧凑的图形用户界面的SQLite数据库管理软件。它可以读取sqlite3文件并执行SQL。图形用户界面使得它很容易分析和操纵sqlite3的数据库。 注意:SQLiteSpy是免费供个人和教育用途,SQLiteSpy主要...
大家好,个人觉得用Sqlite数据库时,经常需要进行机械性的CRUD操作,故对其进行了一下封装,希望能起到抛砖引玉的作用。 目的:封装共有的CRUD 下面简单的说一下使用步骤,如果觉得多余,可以无视。 1. 实现自己...
它是一款类似Navicat的工具,轻巧易用,可以查看扩展名为sqlite3/sqlite/db3/db的数据库文件,也可以新建New Database/Database URI/New SQL数据库。 了解更多功能: 1、数据库一览 树状显示所有的架构,包括表,列...
####如果是,那就不用担心,SQLite.Helper是旨在帮助您管理SQLite数据库的类。 ####如何使用?####首先,请确保在您的系统上。 将DLL添加到您的项目引用中并使用代码 using SQLite . Helper ; 然后调用该类以...
NULL 博文链接:https://410063005.iteye.com/blog/1567413
这是一个查看由sqlite生成的数据库工具,使用此工具可以打开sqlite的数据库,也可以用此工具新建数据库、创建数据库表等等,然后又sqlite打开调用,非常方便适用。
支持SQL server、SQLite、ACCESS数据库的导入、导出、存储过程调用,支持EXCEL2007、EXCEL2003、ACCESS2007、 CSV文件导入数据库,支持EXCEL、CSV文件方式导出,支持数据拆分导出及自定义SQL查询与导出。
OpenskyRecorder 调用OpenSky REST API并存储对SQLite数据库的响应使用前重要这是与OpenSky REST API进行交互的非正式工具。 有关如何使用所提供数据的条款和条件,请首先访问 ! 该脚本是为我的特定用例构建的。 它...
SQLiteSpysqlitespy是一个快速和紧凑的图形用户界面的SQLite数据库管理。它读取sqlite3的文件和对他们的SQ执行L。它的图形用户界面使得它很容易探讨,分析和操纵sqlite3的数据库。 注意:SQLiteSpy是免费供个人和...
Navicat Premium是一个数据库开发工具,可让您从单个应用程序同时连接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite数据库。与Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure...
zySqlcipher管理工具.e 修改之前的sqlite3管理工具作为Sqlcipher管理工具。sqlcipher4.1 文件夹里面是4.1版的DLL。sqlcipher-3.0-testkey.db 是测试数据库,密码是testkey。@酷宝贝。Tags:sqlcipher数据库。