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

若提示不能修改 /system权限则输入:

mount -o remount,rw /system

继续执行:

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就可以了。

 

 

android 第三方打开excel 安卓手机如何打开.exb文件_android

若是能执行则说明数据库安装好了

8

android 数据库是建立在

/data/data/项目com.example.name/databases/数据库名

进入目录下面打开数据库

sqlite3 database_name.db .

若是打不开则把数据库的权限改成777或755就可以了。

Chmod 777 database_name

若是要进行写操作则必须把所有目录的写权限设置了

项目com.example.name/databases/数据库名人

数据库前面所有的权限都改了

chmod 777 data
 cd data
 chmod 777 data
 cd data

然后就可以执行sqlite3 数据库名就可以了。

执行SQLite3若提示:

sh: /system/xbin/sqlite3: not executable: magic 7F45 
表示要使用跟你真机CPU型号相同的sqlite3文件

9帮助 .help 获得帮助

退出数据库.quit 


下面是补充些问题

首先 adb shell 

Mount 

然后会看到下面一行

android 第三方打开excel 安卓手机如何打开.exb文件_sqlite3_02

 

上面在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

CREATETABLEpost( 
          idintegerprimarykeyautoincrement, 
          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;