如何設置Android手機的sqlite3命令環境

 

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 .

若是打不開則把數據庫的權限改成777755就可以了。

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
CREATETABLE post(
idintegerprimary key autoincrement,
tb_lvarchar(128)notnull
);
把tmp_post的數據導入post,並刪除tmp_post;

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執行了。示例:

ALTER TABLE"store_productcategory"  ADD COLUMN "DisplayOrder" INT DEFAULT(0)

SQLite的最大特點是你可以吧各種類型的數據保存到任何字段中,而不用關心字段的數據類型。主鍵除外。主鍵只能保存64位整數。既然類型不太明確。我想你存的類型是什麼就應該是什麼類型,不會報錯的。也就是無類型。

* SQLite支持表名的修改和增加列
     * 1,修改表名:ALTER TABLE oldtablename RENAME TO newtablename;
     * 2,增加列:ALTER TABLE tablename ADD COLUMN fieldname  fieldtype;

更新數據  update mytab set columon ='date' where id=10;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章