sqlite3命令详解

1.".dump"命令将把database的内容转化为一个ASCII编码的文本文件。

把一个数据库进行archival备份可以用如下的命令:

$ echo '.dump' | sqlite3 ex1 | gzip -c >ex1.dump.gz

这样将生产一个名叫ex1.dump.gz的文件,它包含了重新构建数据库的所有信息

重新构建数据库。    也可以用sqlite3 data.db .dump(使用后自动关闭数据库)


2. 如何以Shell脚本的方式使用sqlite3命令

一种方式是:用"echo"或"cat"命令输出一些sqlite3命令到一个文件,然后执行程序sqlite3,并把该文件作为sqlite3的输入流。这种方式不错,很多程序都可以这样。

另一种方式是:以SQL语句作为sqlite3的第二个参数,在执行SQL操作。为了方便,sqlite3允许在第一个参数数据库名后,再跟一个参数,来指定要执行的SQL语句。如果sqlite3带2个参数进行启动的话,第二个参数将做为SQL传递给SQLite library来处理, 返回结果将以list模式在标准输出中进行显示,然后sqlite3程序也退出了。

例如:

# sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select * from system;select * from system"

以SQL语句作为sqlite3的第二个参数,这种方式主要是为了sqlite3和其他程序(比如"awk")联合使用.

$ sqlite3 ex1 'select * from tbl1' |

> awk '{printf "<tr><td>%s<td>%s\n",$1,$2 }'


3. SQL语句的结束符

一般sqlite3的SQL语句的结束符是分号";". 然而你在shell中运行sqlite3时你还可以使用"GO" (大写) 或"/"来作为一条SQL语句结束的标志. 他们分别在SQL Server和Oracle中被使用. 但是他在sqlite3_exec()不能使用shell会先把他们转化为分号";",然后再传递到该函数.

4.常用命令:

1.显示当前附加的所有数据库和main数据库
.databases 或 .database

2.显示所有表
.tables 或 .table

3.显示匹配表的所有索引
.indices TableName
.indices %TableName%

4.退出当前程序
.exit 或 .quit

5.备份数据库
.backup 'E:/A.backup'  默认备份main数据库
.backup AAA 'E:/A.backup'

6.还原数据库
.restore 'E:/A.backup' 默认还原到main数据库
.restore AAA 'E:/A.backup'


7.执行指定文件内的SQL
.read FileName


8.格式化显示SELECT的输出信息
.header(s) ON|OFF 显示SELECT结果时,是否显示列的标题
.mode column  以列的形式显示各个字段(mode有多种选项,详细信息请输入.help

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值