1、在PC環境下啓動一個模擬器(不是手機)
2、查看模擬器 /systen/xbin是否有sqlite3命令
adb shell
cd /system/xbin
ls
3、把模擬器 /system/xbin/sqlite3命令文件從模擬器拷到PC上
adb pull /system/xbin/sqlite3 e:/eclipse
4、關閉模擬器,把Android手機連接到PC
5、獲取Android手機 /system 文件夾的讀取權限
adb shell # mout -o remout, rw -t yaffs2 /dev/block/mtdblock3 /system(根據自己的設備網上很多人的設備是這個)
6、把PC上的e:/eclipse/sqlite3文件拷到Android手機的/system/xbin/目錄下
adb push e:/sqlite3 /system/xbin
若是提示permission denial
adb shell
chmod 777 system/
cd system
chmod 777 xbin
然後執行上面的 push
若是還是不行就直接 到eclipse DDMS filter explore 下面 /system/xbin
把所用的數據直接從電腦上拖到 /system/xbin 下面
7、修改Android真機/system/xbin/sqlite3命令的權限
adb shell
chmod 4755 /system/xbin/sqlite3
然後輸入sqlite3
進入到sqlite就可以了。
若是能執行則說明數據庫安裝好了
8
android 數據庫是建立在
/data/data/項目com.example.name/databases/數據庫名
進入目錄下面打開數據庫
sqlite3 database_name.db .
若是打不開則把數據庫的權限改成777或755就可以了。
Chmod 777 database_name.
若是要進行寫操作則必須把所有目錄的寫權限設置了
/data/data/項目com.example.name/databases/數據庫名人
數據庫前面所有的權限都改了
例
chmod 777 data
cd data
chmod 777 data
cd data
chmod 777 項目名稱
然後就可以執行sqlite3 數據庫名就可以了。
9幫助 .help 獲得幫助
退出數據庫.quit
下面是補充些問題
首先 adb shell
Mount
然後會看到下面一行
上面在windows使用的 adb # mount -o ..............
在adb shell 下面可以使用下面命令
Mount -r -w remount -t rfs /dev/block/sti9 /system
rfs 與 sti9 都是根據上面的一個圖看到的。 根據你自己的設備寫
最後
Mount -r -o remount -t rfs /dev/block/sti9 /system
重新remount一下 爲了安全。。。
常用命令;
.databases 查看所有數據庫
.tables 查看所有表
.dump 查看所有插入語句
.schame table_name 查看錶結構
查了半天sqlite的手冊,沒找到怎麼修改列名。最後用了一個很笨的方法。
這裏我要把post的tbl重命名爲tb_l。
首先重命名post表。
ALTER TABLE post RENAME TO tmp_post;
在重新創建post表。
1
2
3
4
|
CREATE TABLE
post( id integer primary
key
autoincrement, tb_l varchar (128) not null ); |
insert into post (tb_l) select tbl from tmp_post;
drop table tmp_post;
如果原表tmp_post和新創建的標post列數一致,並且是一一對應的話,可以用一下語句導入。
insert into post select * from tmp_talbe;
--------------------------------------
使用Sqliteman修改表時,遇到一個問題,每當添加或修改列信息時,作爲主鍵的信息就會丟失,所以只能自己寫Sql執行了。示例:
* SQLite支持表名的修改和增加列
* 1,修改表名:ALTER TABLE oldtablename RENAME TO newtablename;
* 2,增加列:ALTER TABLE tablename ADD COLUMN fieldname fieldtype;
更新數據 update mytab set columon ='date' where id=10;