本文主要介紹Android開發中如何一鍵直接查看sqlite數據庫中的數據以及sqlite3的常用命令。
1、原始查看sqlite數據方法
Eclipse菜單Window - Open Perspective - DDMS進入DDMS視圖。然后File Explorer View中依次展開路徑/data/data/package_name/databases/,將其中的db文件pull from device保存到電腦上,再使用navicat、SQLiteSpy或其他軟件打開查看,整個過程相當復雜,而且數據變動一次又需要重新操作一次。
那么能不能窗口模式下實時查看sqlite中數據呢,不能,不過我們可以在命令行模式下實時查看sqlite中數據,如下:
2、實時查看sqlite數據
嘿嘿,不必每次敲幾十個字符,只需一個批處理文件每次運行即可進入數據庫,新建文件enterDb.bat,內容為
adb shell sqlite3 /data/data/package_name/databases/dbName
表示先執行adb shell進入shell模式,再執行sqlite3 /data/data/package_name/databases/dbName進入dbName這個數據庫,是不是一鍵就完成了,^_*。
下面詳細進行各個命令的介紹
(1) 進入AVD的shell模式
打開命令行,輸入
adb shell
進入shell模式,如果adb未綁定到path中,則到android-sdk的platform-tools目錄下運行此命令。
如果同時存在多個AVD,那么需要指定設備號。可通過
adb devices adb -s emulator-5554 shell
adb devices表示查看當前所有設備,adb -s emulator-5554 shell指定設備,其中emulator-5554為設備id
(2) 進入數據庫目錄查看數據庫
cd /data/data/package_name;ls
其中的package_name為應用的包名,即AndroidManifest.xml中manifest節點的package屬性值。
(3) 操作數據庫
sqlite3 dbName
進入sqlite命令行模式,輸入.tables查看所有表,輸入select * from tabelName查看某個表的所有數據,如下
3、sqlite3的常用命令
.tables 顯示所有表
.schema 顯示數據庫的schema
.schema table_name 顯示表的schema
.headers on 顯示標題欄,即字段名欄,如在查看數據中數據時,默認select * from table_name不顯示字段名。
alter table 修改表。改變表名 - ALTER TABLE 舊表名 RENAME TO 新表名;增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 數據類型 限定符
select * from sqlite_master where type="table"; 顯示所有表的結構
select * from sqlite_master where type="table" and name="table_name"; 顯示某個表的結構
drop table table_name 刪除表
.quit 退出
.read FileName 執行FileName中的sql
標准的sql語句也可以用,但必須用分號結束,如下
select語句;
delete語句;
update語句;
insert語句;