在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

相关文章

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.