SQLite命令行资料汇

来源:互联网 发布:交易员单干 知乎 编辑:程序博客网 时间:2024/05/01 11:55


1.Command Line Shell For SQLite

http://www.sqlite.org/sqlite.html

sqlite3查看表结构  

参考:http://blog.163.com/yaning_softwo/blog/static/37837721201122984711989/
在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); 


2. http://blog.csdn.net/dark_duke/article/details/11804995

开发中需要连接sqlite数据库,使用如下方法打开数据库:

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

程序抛出异常:

No such table android_metadata

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

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

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

3.http://blog.csdn.net/zhanghongliu1122/article/details/11639467

这个没看懂,但出的错误提示一样,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

sqlite Error: database disk image is malformed


android开发中将已有数据库放到raw文件夹中打包,有的机型会出现sqlite Error: database disk image is malformed  错误,上网查了半天,大家也没说出个结果,后来试着在能正常打开数据库的机子安装后,将该库导入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
sqlite  my.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
sqlite>.quit
这时新建的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/






0 0
原创粉丝点击