[url][/url]
8月20日
在android命令行下使用sqlite3
现在已经可以在真机(nexus one)下使用sqlite3命令行工具了。不想在模拟器上面使用,android的模拟器和真机比较起来,太慢了,尤其是启动的时候。

如果在android上无法使用下面提到的命令行工具,报告:

sqlite3: not found

那么可能需要安装带sqlite3的ROM,见nexus one更新第三方ROM。另外,想使用sqlite3访问程序私有目录下的文件,需要具备ROOT权限,见nexus one获取root权限。

如果这两条都具备了,可以开始使用。

在android SDK tools目录下,运行命令行:

adb shell

进入adb shell后,应该是直接进入当前通过USB连接的android机器。

应该出现#提示,如果是$提示,请按照上面链接获取ROOT权限。

sqlite3 /data/data/com.easymorse.demo/files/mydb

在这里,com.easymorse.demo是应用的名字(package name),files目录是程序私有的存放文件的目录,如果是通过android创建的sqlite数据库,应该存放在:

/data/data/com.easymorse.demo/databases

然后,就可以使用sql语句的命令了,比如:

SQLite version 3.5.9
Enter ".help" for instructions
sqlite> select * from users;
select * from users;
1|寮犱笁|
sqlite> .exit

这里的乱码部分,应该是中文,可能和命令行的编码格式(GB18030)不匹配造成的。在android中能正常显示汉字。

可以通过sqlite3命令行访问android中的联系人库,比如:

sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db

打开数据库。

然后:

select display_name from contacts;

查询到显示名字。

在android下通过adb shell命令可以进入sqlite3的命令行client,见:在android命令行下使用sqlite3。

如果想列出该数据库中的所有表,可:

.table

如果想查看这些表的结构:

select * from sqlite_master where type="table";

可以看到类似:

默认情况下,不会出现红框中的表头,需要之前设置,命令为:

.header on

如果只想查看具体一张表的表结构,比如查看emperors表,命令为:

select * from sqlite_master where type="table" and name="emperors";

另外,也可以这样:

sqlite> .schema emperors
CREATE TABLE emperors( id integer primary key autoincrement, name text,dynasty text,start_year text);

sqlite> create table t(id int);
sqlite> alter table t add col2 varchar(32);
只能add column不能drop column

要想drop column:
接着:
sqlite> create table t2 as select id from t;
sqlite> drop table t;
sqlite> alter table t2 rename to t;


SQLite的的ALTER TABLE命令允许用户重命名或添加新的字段到已有表中,不能从表中删除字段。

比如,为 Subscription添加两个栏目

ALTER TABLE Subscription ADD COLUMN Activation BLOB;
ALTER TABLE Subscription ADD COLUMN Key BLOB;


转载url]http://cid-857a0e36c6ce41ff.spaces.live.com/blog/cns!857A0E36C6CE41FF!348.entry[/url]

更多相关文章

  1. Android(安卓)命令行手动编译打包详解
  2. android:shape的使用
  3. 安卓巴士总结了近百个Android优秀开源项
  4. Android使用Parcelable传递对象方法及注意事项
  5. 【Android】android模拟器命令详解
  6. Android(安卓)-- ContentProvider的使用及需要注意的点
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android字体样式
  2. android 发短信、打电话、发邮件
  3. android ContextMenu
  4. Android中的布局优化方法
  5. android 通讯录数据表
  6. Android(安卓)Branch deferred deep link
  7. android音乐播放器的service
  8. Android(安卓)自定义实现折线图
  9. Android(安卓)- 使用 多渠道productFlavo
  10. Android(安卓)NDK Sample