在Linux开发环境下如何直接查看android数据库sqlite3中的表及数据、手机上直接编辑数据库

本文主要是介绍在Linux开发环境下如何直接查看android数据库sqlite3中的表及数据、手机上直接编辑数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近涉及到数据库的操作,要察看手机数据库中的表是否创建成功,表中的信息是否插入成功了,因此,如何在terminal中察看呢?我用的ubuntu11.10,4G.

下面是查到的网址:


今天突然又发现,在手机上早就已经支持可以直接看数据库,对数据库进行管理了。最早是在这个网址发现的:http://www.iteye.com/topic/1117930。然后就去看了看,再看这个网址:http://aaa.andsen.dk/aSQLiteManager.html,里面有个aShell等都是可以在手机上直接查看数据库的。这个aSqliteManager也是可以直接管理的。不过我安装完之后,我手机没有sd卡,因此不能用,就是说,这款软件必须得有sd卡才能使用。大家可以自己去Google Market上下载这两个或者同类的应用。确实很方便的。


两个原因, 促使开发人员必须直接进入sqlite3 核对表及查看相关数据: 

(1)为了节约时间,开发人员不一定每次写入数据后,重新读出到屏幕显示,因为这样费时费力。而数据库本身的数量统计核对等功能则可以很轻松完成这样的任务;

(2)很多开发都有直接进入数据库操作表操作数据的习惯,这样才有淋漓尽致的感觉。举一个例子,在测试批量数据的情况下,直接往数据库里插入数据,比从contentprovider insert 数据来得方便快速。


本文以Ubuntu为例,演示一下如何利用google android自带的adb工具,以在android开发过程中,直接进入sqlit3。 当然,看完本文就了解了如何运行android的shell了。

一个前提: 

0. 以下命令都基于一个前提, 那就是必须在开发环境里运行application, android仿真器必须跑起来。 这个应该很容易理解,因为仿真器没有运行的话,你的电脑上是不存在android这个环境(硬件+操作系统)。 


具体的操作过程如下:

1. 找到adb, 一般位于android sdk的的tools/(老版本)或者 platform-tools/ (新版本) ,如果没有后者,则可以通过 SDK and AVD Manager 来安装 "Android SDK Platform-tools", 本文 为例: 该工具位于 /data/software/android-sdk-linux_x86/platform-tools/

2. 切换到该目录,运行 ./adb help 查看帮助 或者  ./adb shell 直接进入 android shell 管理界面, 

3. ls 命令,获取根目录下的文件列表信息, 如下所示。 可以看到,很多文件都与常见的linux系统相同,作用也大同小异,具体可以参考手册。

# ls
config
cache
sdcard
acct
mnt
d
etc
system
sys
sbin
proc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev

4. 通过cd命令进入数据库表。 一般包括数据库在内的数据信息都位于data目录下。  作为对比,各位看官可以把手中的开发工具ADT切换到DDMS视图, 利用File Explorer 查看文件, 两者应该是一致的。
# cd /data
# ls

misc
local
app-private
backup
property
anr
data
dontpanic
system
app
dalvik-cache
lost+found

5. 进入 /data/data获取 contentprovider信息。 
# cd ./data/
/data/data
# ls

com.***.contactsearcher
com.android.providers.userdictionary
com.android.inputmethod.latin
com.android.quicksearchbox
jp.co.omronsoft.openwnn
com.android.inputmethod.pinyin
com.android.spare_parts
com.android.fallback
com.android.gallery
com.android.htmlviewer
com.android.certinstaller
com.android.wallpaper.livepicker
com.android.netspeed
com.android.packageinstaller
android.tts
com.android.cardock
com.android.development
com.android.defcontainer
com.android.server.vpn
com.android.soundrecorder
com.svox.pico
com.android.sdksetup
com.android.term
com.example.android.livecubes
com.example.android.softkeyboard
com.example.android.apis
com.android.gesture.builder
com.android.phone
com.android.providers.contacts
com.android.providers.applications
com.android.customlocale
com.android.providers.subscribedfeeds
com.android.providers.drm
com.android.providers.settings
com.android.launcher
com.android.speechrecorder
com.android.music
com.android.providers.telephony
com.android.calculator2
com.android.providers.media
com.android.mms
com.android.email
com.android.providers.downloads
com.android.contacts
com.android.browser
com.SC.Android.client
com.android.settings
com.android.alarmclock
com.android.camera
com.android.carhome
com.android.protips

6. 进入目标文件,获取数据库
# cd com.SC.Android.client
# ls
databases
lib
# cd databases
# ls
sc.db


7. 运行数据库, enjoy yourself! 

# sqlite3 SC.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from  entries;
1|201236|0|welcome to go here|||||||1320504306564|1320504306564



另外,sqlite3几条关键的常用命令:

sqlite> .help  帮助信息;
sqlite> .tables 显示数据库表;
android_metadata  entries         
sqlite> .show 显示数据库的属性信息;
     echo: off
  explain: off
  headers: off
     mode: list
nullvalue: ""
   output: stdout
separator: "|"
    width: 
sqlite> .schema entries 查询单个表结构,另外查询所有表的结构信息: select * from sqlite_master where type = "table";

.database 查看当前数据库;
.output 文件名 将查询结果输出的该文件; 而后运行查询语句, 查询将结果输出的该文件;

.output stdout  把查询结果用屏幕输出 



sqlite3 查询数据库表结构(转)  

2011-05-09 14:03:22|  分类:数据库|字号 订阅

遇有未知结构的数据库时,可以通过以下方法来或许数据库中详细信息。

1.   .table命令  可以查询当前数据库中所有的表名

2.   select * from sqlite_master WHERE type = "table";   可以查询到当前数据库中所有表的详细结构信息

[test@localhost ~]$ sqlite3 py.db

SQLite version 3.6.17

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .table

py_phrase   py_pinyin   py_shengmu

sqlite> select * from sqlite_master WHERE type = "table";

table|py_pinyin|py_pinyin|2|CREATE TABLE py_pinyin (pinyin TEXT PREMARY KEY)

table|py_shengmu|py_shengmu|3|CREATE TABLE py_shengmu (shengmu TEXT PREMARY KEY)

table|py_phrase|py_phrase|4|CREATE TABLE py_phrase (

ylen INTEGER,

y0 INTEGER, y1 INTEGER, y2 INTEGER, y3 INTEGER, yx TEXT,

s0 INTEGER, s1 INTEGER, s2 INTEGER, s3 INTEGER,

phrase TEXT,

freq INTEGER, user_freq INTEGER)

sqlite>

1)创建数据库文件:  
   >SQLite3 d:\test.db 回车  
   就生成了一个test.db在d盘。  
   这样同时也SQLite3挂上了这个test.db  
   2)   
   用.help可以看看有什么命令  
   >.help 回车即可  
   3)可以在这里直接输入SQL语句创建表格 用;结束,然后回车就可以看到了  
   4)看看有创建了多少表  
   >.tables   
   5)看表结构  
   >.schema 表名  
   6)看看目前挂的数据库  
   >.database 
   7)如果要把查询输出到文件  
   >.output 文件名  
   > 查询语句;  
   查询结果就输出到了文件c:\query.txt   
 
   把查询结果用屏幕输出  
   >.output stdout  
 
   8)把表结构输出,同时索引也会输出  
     .dump 表名  
   9)退出  
   >.exit 或者.quit
普通SQL操作,通用标准SQL语句。

---------------------------------------------------------------------

2014-4-30补充:

linux下sqlite3可视化工具 - [Android]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://www.blogbus.com/java-android-logs/158316464.html

Ubuntu linux下安装sqlite3
1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库。
2.安装:
要安装sqlite3,可以在终端提示符后运行下列命令:
sudo apt-get install sqlite3
检查版本
sqlite3 -version
3.测试
当前目录下建立test.db测试数据库文件
sqlite3 test.db
查询信息
.database
退出
.exit
 4.图形界面(一)
可以选择sqlitebrowser程式(qt3)
sudo apt-get install sqlitebrowser
启动图形界面可以在终端提示符后输入sqlitebrowser

5.图形界面(二) (推荐)
本人经常使用此种方式,
 sudo apt-get install sqliteman


 


这篇关于在Linux开发环境下如何直接查看android数据库sqlite3中的表及数据、手机上直接编辑数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/634813

相关文章

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免