在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

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务