查看android数据库sqlite3中的表及数据、手机上直接编辑数据库
生活随笔
收集整理的這篇文章主要介紹了
查看android数据库sqlite3中的表及数据、手机上直接编辑数据库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
找到一篇關(guān)于Sqlite的好文章,擅自保存下來(lái),希望作者不要怪罪。。
轉(zhuǎn)自:?http://www.apkbus.com/android-60977-1-1.html
最近涉及到數(shù)據(jù)庫(kù)的操作,要察看手機(jī)數(shù)據(jù)庫(kù)中的表是否創(chuàng)建成功,表中的信息是否插入成功了,因此,如何在terminal中察看呢?我用的ubuntu11.10,4G.
下面是查到的網(wǎng)址:今天突然又發(fā)現(xiàn),在手機(jī)上早就已經(jīng)支持可以直接看數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理了。最早是在這個(gè)網(wǎng)址發(fā)現(xiàn)的: http://www.iteye.com/topic/1117930 。然后就去看了看,再看這個(gè)網(wǎng)址: http://aaa.andsen.dk/aSQLiteManager.html ,里面有個(gè)aShell等都是可以在手機(jī)上直接查看數(shù)據(jù)庫(kù)的。這個(gè)aSqliteManager也是可以直接管理的。不過(guò)我安裝完之后,我手機(jī)沒(méi)有sd卡,因此不能用,就是說(shuō),這款軟件必須得有sd卡才能使用。大家可以自己去Google Market上下載這兩個(gè)或者同類的應(yīng)用。確實(shí)很方便的。
兩個(gè)原因, 促使開(kāi)發(fā)人員必須直接進(jìn)入sqlite3 核對(duì)表及查看相關(guān)數(shù)據(jù):? (1)為了節(jié)約時(shí)間,開(kāi)發(fā)人員不一定每次寫入數(shù)據(jù)后,重新讀出到屏幕顯示,因?yàn)檫@樣費(fèi)時(shí)費(fèi)力。而數(shù)據(jù)庫(kù)本身的數(shù)量統(tǒng)計(jì)核對(duì)等功能則可以很輕松完成這樣的任務(wù);
(2)很多開(kāi)發(fā)都有直接進(jìn)入數(shù)據(jù)庫(kù)操作表操作數(shù)據(jù)的習(xí)慣,這樣才有淋漓盡致的感覺(jué)。舉一個(gè)例子,在測(cè)試批量數(shù)據(jù)的情況下,直接往數(shù)據(jù)庫(kù)里插入數(shù)據(jù),比從contentprovider insert 數(shù)據(jù)來(lái)得方便快速。
本文以Ubuntu為例,演示一下如何利用google android自帶的adb工具,以在 Android開(kāi)發(fā) 過(guò)程中,直接進(jìn)入sqlit3。 當(dāng)然,看完本文就了解了如何運(yùn)行android的shell了。
一個(gè)前提:? 0. 以下命令都基于一個(gè)前提, 那就是必須在開(kāi)發(fā)環(huán)境里運(yùn)行application, android仿真器必須跑起來(lái)。 這個(gè)應(yīng)該很容易理解,因?yàn)榉抡嫫鳑](méi)有運(yùn)行的話,你的電腦上是不存在android這個(gè)環(huán)境(硬件+操作系統(tǒng))。?
具體的操作過(guò)程如下: 1. 找到adb, 一般位于android sdk的的tools/(老版本)或者 platform-tools/ (新版本) ,如果沒(méi)有后者,則可以通過(guò) SDK and AVD Manager 來(lái)安裝 "Android SDK Platform-tools", 本文 為例: 該工具位于 /data/software/android-sdk-linux_x86/platform-tools/
2. 切換到該目錄,運(yùn)行 ./adb help 查看幫助 或者 ./adb shell 直接進(jìn)入 android shell 管理界面,?
3. ls 命令,獲取根目錄下的文件列表信息, 如下所示。 可以看到,很多文件都與常見(jiàn)的linux系統(tǒng)相同,作用也大同小異,具體可以參考手冊(cè)。
# ls
config
cache
sdcard
acct
mnt
d
etc
system
sys
sbin
proc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
4. 通過(guò)cd命令進(jìn)入數(shù)據(jù)庫(kù)表。 一般包括數(shù)據(jù)庫(kù)在內(nèi)的數(shù)據(jù)信息都位于data目錄下。 作為對(duì)比,各位看官可以把手中的開(kāi)發(fā)工具ADT切換到DDMS視圖, 利用File Explorer 查看文件, 兩者應(yīng)該是一致的。
# cd /data
# ls
misc
local
app-private
backup
property
anr
data
dontpanic
system
app
dalvik-cache
lost+found
5. 進(jìn)入 /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. 進(jìn)入目標(biāo)文件,獲取數(shù)據(jù)庫(kù)
# cd com.SC.Android.client
# ls
databases
lib
# cd databases
# ls
sc.db
7. 運(yùn)行數(shù)據(jù)庫(kù), 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幾條關(guān)鍵的常用命令: sqlite> .help 幫助信息;
sqlite> .tables 顯示數(shù)據(jù)庫(kù)表;
android_metadata entries?
sqlite> .show 顯示數(shù)據(jù)庫(kù)的屬性信息;
echo: off
explain: off
headers: off
mode: list
nullvalue: ""
output: stdout
separator: "|"
width:?
sqlite> .schema entries 查詢單個(gè)表結(jié)構(gòu),另外查詢所有表的結(jié)構(gòu)信息: select * from sqlite_master where type = "table";
.database 查看當(dāng)前數(shù)據(jù)庫(kù);
.output 文件名 將查詢結(jié)果輸出的該文件; 而后運(yùn)行查詢語(yǔ)句, 查詢將結(jié)果輸出的該文件;
.output stdout 把查詢結(jié)果用屏幕輸出?
sqlite3 查詢數(shù)據(jù)庫(kù)表結(jié)構(gòu)(轉(zhuǎn))
2011-05-09 14:03:22| 分類:數(shù)據(jù)庫(kù)|字號(hào) [url=]訂閱[/url]
遇有未知結(jié)構(gòu)的數(shù)據(jù)庫(kù)時(shí),可以通過(guò)以下方法來(lái)或許數(shù)據(jù)庫(kù)中詳細(xì)信息。
1. .table命令 可以查詢當(dāng)前數(shù)據(jù)庫(kù)中所有的表名
2. select * from sqlite_master WHERE type = "table"; 可以查詢到當(dāng)前數(shù)據(jù)庫(kù)中所有表的詳細(xì)結(jié)構(gòu)信息
[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)創(chuàng)建數(shù)據(jù)庫(kù)文件:?
>SQLite3 d:\test.db 回車?
就生成了一個(gè)test.db在d盤。?
這樣同時(shí)也SQLite3掛上了這個(gè)test.db?
2)?
用.help可以看看有什么命令?
>.help 回車即可?
3)可以在這里直接輸入SQL語(yǔ)句創(chuàng)建表格 用;結(jié)束,然后回車就可以看到了?
4)看看有創(chuàng)建了多少表?
>.tables?
5)看表結(jié)構(gòu)?
>.schema 表名?
6)看看目前掛的數(shù)據(jù)庫(kù)?
>.database?
7)如果要把查詢輸出到文件?
>.output 文件名?
> 查詢語(yǔ)句;?
查詢結(jié)果就輸出到了文件c:\query.txt?
把查詢結(jié)果用屏幕輸出?
>.output stdout?
8)把表結(jié)構(gòu)輸出,同時(shí)索引也會(huì)輸出?
.dump 表名?
9)退出?
>.exit 或者.quit
普通SQL操作,通用標(biāo)準(zhǔn)SQL語(yǔ)句。
總結(jié)
以上是生活随笔為你收集整理的查看android数据库sqlite3中的表及数据、手机上直接编辑数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 易烨卿:一场虚拟世界的反歧视大战(转)
- 下一篇: 怎样构建笔记本虚拟wifi热点