设为首页 收藏本站
查看: 930|回复: 0

[经验分享] 查看Sqlite 数据库

[复制链接]

尚未签到

发表于 2016-11-29 08:38:35 | 显示全部楼层 |阅读模式

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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306917-1-1.html 上篇帖子: Android 学习之 SQLite操作 下篇帖子: Android SQLite 开发教程(2): android.database.sqlite 类定义
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表