SQLite命令行资料汇

前端之家收集整理的这篇文章主要介绍了SQLite命令行资料汇前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


1.Command Line Shell For sqlite


sqlite3查看表结构

在android命令行或cmd下使用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数据库,使用如下方法打开数据库

sqliteDatabase database = sqliteDatabase.openDatabase(PATH,null,sqliteDatabase.OPEN_READONLY);

程序抛出异常:

No such table android_Metadata

解决办法,将openDatabase方法中最后一个参数修改

sqliteDatabase.NO_LOCALIZED_COLLATORS(打开数据库时,不根据本地化语言对数据进行排序

再次运行程序,顺利通过。

3.http://www.jb51.cc/article/p-mrbtlnrj-bcx.html

这个没看懂,但出的错误提示一样,Android(java):database disk image is malformed (code 11)

4.http://stackoverflow.com/questions/5274202/sqlite3-database-or-disk-is-full-the-database-disk-image-is-malformed


5.http://hi.baidu.com/wtl0912/item/69327cfe5542440087d27892

sqliteError:databasediskimage is malformed


android开发中将已有数据库放到raw文件夹中打包,有的机型会出现sqliteError:databasediskimageismalformed错误,上网查了半天,大家也没说出个结果,后来试着在能正常打开数据库的机子安装后,将该库导入raw文件夹,再重试打包运行在出现错误的机型中,问题解决了,个人认为该错误可能是因为android_Metadata这个表无法正常建立造成的。


6.http://www.eoeandroid.com/thread-182159-1-1.html

网上查了一下,好像是sqlite损坏造成的。

http://www.eoeandroid.com/thread-53730-1-1.html
sqlite有一个很严重的缺点就是不提供Repair命令。
导致死亡提示database disk image is malformed
它的产生有很多种可能,比如,磁盘空间不足,还有就是写入数据过程中突然掉电等。
官方对产生原因的一些说明:http://www.sqlite.org/lockingv3.html#how_to_corrupt
sqlitemy.sqlite3
sqlite>PRAGMA integrity_check;
获得提示
*** in database main ***
Page 1518: btreeInitPage() returns error code 11
On tree page 1566 cell 2: Child page depth differs
On tree page 1566 cell 3: Child page depth differs
sql error: database disk image is malformed
可以尝试通过简单的导出导入方式对损坏的库文件回复
首先导出数据
sqlite3 my.sqlite3
sqlite>.output tmp.sql
sqlite>.dump
sqlite>.quit
再倒入到一个新库中
sqlite3 mynew.sqlite3
sqlite>.read tmp.sql
这时新建的mynew.sqlite3一般


http://huaxia524151.iteye.com/blog/1262470

sqlite数据库出现错误database disk image is malformed

修复方法如下:

D:\workspace\ctrguangfa\db>sqlite3 ctrgf.db3

sqlite version 3.4.0

Enter ".help" for instructions

sqlite> .output "_abctemp.tmp"

sqlite> .dump

sqlite> .quit

D:\workspace\ctrguangfa\db>sqlite3 abc.db3

sqlite version 3.4.0

Enter ".help" for instructions

sqlite> .read "_abctemp.tmp"

sqlite> .quit




7.编程中文件读写相关错误

http://stackoverflow.com/questions/8022938/sqlitedatabasecorruptexception-database-disk-image-is-malformed

http://stackoverflow.com/questions/2960015/android-database-disk-image-is-malformed

http://stackoverflow.com/questions/20086427/not-able-to-access-sqlite-database-android


8:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

原文链接:https://www.f2er.com/sqlite/200812.html

猜你在找的Sqlite相关文章