Sqlite数据库操作指南(2)

(9.)导出数据库为SQL文件(备份成sql文件)

可以使用.dump命令将数据库导出为SQL格式的文件。不使用任何参数,.dump将导出整个数据库。如果提供参数,CLP把参数理解为表名或视图名。

例如把当前数据库导出为File.sql文件保存,执行下面三条命令就能完成操作:

sqlite> .output File.sql

sqlite> .dump

sqlite> .output stdout

这样在sqlite数据库的.exe可执行程序目录下就保存了一个数据库的SQL语句备份。

 

可以用复制的方法得到一个二进制的数据库文件拷贝。但也许在复制之前你想先抽空(vacuum)它,也就是释放数据库文件中未使用的空间,以得到一个更小的数据库文件。可操作如下:

在cmd的命令行下输入:sqlite3 数据库名  VACUUM   (这个功能好像是压缩数据库)

cp 数据库名   数据库备份名

提示:一般情况下,二进制的备份不如SQL备份兼容性好。尽管SQLite有很好的向上兼容性和各操作系统间文件格式的一致性,但如果想要将备份文件保留很长时间,还是SQL格式保险一些。

当一个数据库你不想再用时,简单地从操作系统中将其文件删除就行了。

清洁数据库

SQLite有两个命令用于数据库清洁——REINDEX和VACUUM。REINDEX用于重建索引,有两种形式:

REINDEX collation_name;

REINDEX table_name|index_name;

第一种形式利用给定的排序法名称重新建立所有的索引。

VACUUM通过重建数据库文件来清除数据库内所有的未用空间。

(10.).sql数据库备份的数据导入

有两种方法可以导入数据,用哪种方法决定于要导入的文件的格式。如果文件由SQL语句构成,可以使用.read命令导入(执行)文件。如果文件是由逗号或其它定界符分隔的值(comma-separated values,CSV)组成,可使用.import [file][table]命令。此命令将解析指定的文件并尝试将数据插入到指定的表中。

.read命令用来导入由.dump命令创建的文件。如果要使用前面作为备份文件所导出的file.sql,需要先移除已经存在的数据库对象(表和视图),然后用下面方法导入:

sqlite> drop table 表名;

sqlite> drop view 视图名;

sqlite> .read File.sql

 

(11.)查看当前默认设置;修改设置

.show 命令可以查看当前的设置;修改当前设置的命令有:

CLP提供了几个格式化选项命令。最简单的是.echo, 如果设置.echo on,则新输入的命令在执行前都会回显,默认值是off。.headers设置为on时,查询结果显示时带有字段名。当遇到NULL值时,如果需要以一个字符串来显示,使用.nullvalue命令设置,如:

sqlite> .nullvalue NULL

默认情况下使用空串。如果要改变CLP的shell提示符,使用.prompt [value],如:

sqlite> .prompt 'sqlite3> '

sqlite3>

.mode命令可以设置结果数据的几种输出格式。可选的格式为csv、column、html、insert、line、list、tabs和tcl。默认值是list,在此模式下显示结果时列间以默认的分隔符分隔。如果你想以CSV格式输出一个表的数据,可如下操作:

sqlite3> .output file.csv

sqlite3> .separator ,                                      (这个·命令是设置file.csv文件的各个列用,间隔)

sqlite3> select * from test;

sqlite3> .output stdout

文件file.csv的内容为:

1,eenie

2,meenie

3,miny

4,mo

因为有一个CSV模式,所以下面的命令会得到相似的结果:

sqlite3> .output file.csv

sqlite3> .mode csv

sqlite3> select * from test;

sqlite3> .output stdout

所有的数据库管理任务都可以在shell和命令行模式下完成。

 

(12.)获得数据库文件的信息

按前文所述,获得数据库信息的主要途径是使用sqlite_master视图,它提供一个数据库所包含的所有对象的细节信息。

如果你想获得关于物理的数据库结构信息,可以使用一个称为SQLite Analyzer的工具,它可以在SQLite网站上下载得到。SQLiteAnalyzer下载可以提供磁盘SQLite数据库的详细技术信息。

(13)其它SQLite工具

有很多其它开源的或商业的程序可工作于SQLite,其中具有优秀图形化界面且跨平台的有:

SQLite Database Browser (http://sqlitebrowser.sourceforge.net)

 SQLite Control Center(http://bobmanc.home.comcast.net/sqlitecc.html)

 SQLiteManager (www.sqlabs.net/sqlitemanager.php)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值