Android(安卓)数据库操作 以及命令行上操作sqlite
16lz
2021-01-24
android上有关 数据库增删改查的例子嗷嗷多,不啰嗦。亲手搞个例子放上来
下面讲如何在命令行上查询在由代码创建的数据库表和相应记录(代码工程详见附件)。
数据库存放在 /data/data/<package_name>/databases当中
背景:1 程序已经建立了一个com.db的包
2 SDK路径: D:\>android-sdk_r06-windows\android-sdk-windows\tools
首先,CMD--》目录到android SDK目录下的tools文件夹上
我的尝试如下:
cd android-sdk_r06-windows\android-sdk-windows\tools
adb shell
cd data
cd data
cd com.db
cd databases
sqlite3 Hello.db
然后输入.tables---查看所有的表
SQLite不支持有损修改,即你可以增加某一列,介你却不能删除某一列,或者修改某一列的名字。要解决这种问题,方案是使用事务来做,先备份表及数据,然后再删掉原表,重新建表,再导入数据。
例子如下:
begin transaction;
create temporary table test_backup(key,desc,temp);
insert into test_backup select key,desc,temp from test;
drop table test;
create table test(key integer primary key,desc text null);
insert into test select key,desc,temp from test_backup;
[color=red]!!!!.....一定要检查一下你的数据是否已经完整无误了才提交,否则就应该使用rollback了[size=small]
[/color][/size]
commit;
常用命令:
显示所有的表:
.tables
查看表结构:
.schema table_name
查看系统自带的联系人的表:
sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db
下面讲如何在命令行上查询在由代码创建的数据库表和相应记录(代码工程详见附件)。
数据库存放在 /data/data/<package_name>/databases当中
背景:1 程序已经建立了一个com.db的包
2 SDK路径: D:\>android-sdk_r06-windows\android-sdk-windows\tools
首先,CMD--》目录到android SDK目录下的tools文件夹上
我的尝试如下:
cd android-sdk_r06-windows\android-sdk-windows\tools
adb shell
cd data
cd data
cd com.db
cd databases
sqlite3 Hello.db
然后输入.tables---查看所有的表
SQLite不支持有损修改,即你可以增加某一列,介你却不能删除某一列,或者修改某一列的名字。要解决这种问题,方案是使用事务来做,先备份表及数据,然后再删掉原表,重新建表,再导入数据。
例子如下:
begin transaction;
create temporary table test_backup(key,desc,temp);
insert into test_backup select key,desc,temp from test;
drop table test;
create table test(key integer primary key,desc text null);
insert into test select key,desc,temp from test_backup;
[color=red]!!!!.....一定要检查一下你的数据是否已经完整无误了才提交,否则就应该使用rollback了[size=small]
[/color][/size]
commit;
常用命令:
显示所有的表:
.tables
查看表结构:
.schema table_name
查看系统自带的联系人的表:
sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db
更多相关文章
- Android(安卓)Binder入门指南之Binder Native Service的Java调用
- 【译】Android:更好的自定义字体方案
- Intent----android中的伟大邮差
- android recyclerview 上下滑动导致点击事件和数据错乱问题解决
- 【android】Sqlite中使用SQL与其他数据库的区别
- [Android]【安卓】Content Provider详解
- android 共享全局数据
- Android(安卓)Studio 配置忽略文件
- 【Android】 NDK开发基础