前面简要的介绍了一下SQLite数据库,下面我们通过操作来了解一下这个数据库的使用。
1. 下载SQLite数据库。
地址是 http://sqlite.org/download.html。我这里是 Win 7,所以选择了 Precompiled Binaries for Windows 下面的 sqlite-shell-win32-x86-3080704.zip 与 sqlite-analyzer-win32-x86-3080704.zip。前者是SQLite数据库引擎,后者是SQLite数据库分析器,主要用于分析数据库的状态等信息。下载完成后分别解压,得到两个可执行文件,如图:
这两个文件可以根据自己的喜好放置在指定的位置,我将其放在E:\SQLite目录下。
2. 创建一个数据库
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\nowamagic>E: E:\>cd SQLite E:\SQLite>sqlite3 nowamagic.db SQLite version 3.8.7.4 2014-12-09 01:34:36 Enter ".help" for usage hints. sqlite> .database seq name file --- --------------- ---------------------------------------------------------- 0 main E:\SQLite\nowamagic.db sqlite>
我们执行了sqlite3命令,参数就是数据库的名称,如果该数据库已存在,则使用,如果不存在,则新建一个,这里我们简单的在当前位置创建了nowamagic.db,效果可以参看上图,你也可以在任何存在的并且可写的目录下创建自己的数据库。
3. 创建一个数据表
sqlite> CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20 ), age SMALLINT); sqlite> .tables user sqlite> .schema user CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S MALLINT);
创建表之后,可以用“.tables”命令去查看已有的表,用“.schema”命令去查看表的结构,如果后面没有表名做参数,则将会输出所有表的建表语句。
4. 插入数据
sqlite> INSERT INTO user VALUES (NULL, 'volen', 20); sqlite> SELECT * FROM user; 1|volen|20
5. 从.sql文件导入数据
sqlite> .read nm.sql sqlite> SELECT * FROM user; 1|volen|20 2|alen|18 3|lulie|17 sqlite>
nm.sql文件内容为:
INSERT INTO user VALUES (NULL, 'alen', 18); INSERT INTO user VALUES (NULL, 'lulie', 17);
6. 备份数据库
备份 SQLite 数据库有两种方法。如果数据库正在使用中,则应从命令行界面使用 .dump 命令。这样可以创建一个包含必要命令和数据的文件,从而重新创建数据库。.dump 命令也可以用于备份数据库表。
E:\SQLite>sqlite3 nowamagic.db SQLite version 3.8.7.4 2014-12-09 01:34:36 Enter ".help" for usage hints. sqlite> .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S MALLINT); INSERT INTO "user" VALUES(1,'volen',20); INSERT INTO "user" VALUES(2,'alen',18); INSERT INTO "user" VALUES(3,'lulie',17); DELETE FROM sqlite_sequence; INSERT INTO "sqlite_sequence" VALUES('user',3); COMMIT; sqlite>
我们可以指定输出的目标为一个文件,然后再使用命令时,输出信息就会写入指定的文件,如果想恢复为标准输出,可以这样设定:
sqlite> .output stdout sqlite> .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S MALLINT); INSERT INTO "user" VALUES(1,'volen',20); INSERT INTO "user" VALUES(2,'alen',18); INSERT INTO "user" VALUES(3,'lulie',17); DELETE FROM sqlite_sequence; INSERT INTO "sqlite_sequence" VALUES('user',3); COMMIT; sqlite>
如果数据库没有处于使用状态,则可以直接将数据库文件复制到安全位置。
最后,我们可以使用“.quit”或“.exit”退出SQLite。
现代魔法 推荐于 2013-02-27 10:23