图 2. 使用 SQLiteManager 管理数据库
备份
备份 SQLite 数据库有两种方法。如果数据库正在使用中,则应从命令行界面使用 .dump 命令。这样可以创建一个包含必要命令和数据的文件,从而重新创建数据库。.dump 命令也可以用于备份数据库表。
清单 4. .dump 命令
sqlite> .dump BEGIN TRANSACTION; CREATE TABLE mytable(name varchar(40), age smallint); INSERT INTO "mytable" VALUES('Nils-Erik', 23); COMMIT; sqlite>
如果数据库没有处于使用状态,则可以直接将数据库文件复制到安全位置。
在 PHP V5 中使用 SQLite
一个好的做法是将 SQLite 数据库与 PHP 代码分开。完成此操作的一个简便方法是创建一个 www 目录。在此目录中,创建一个用于存放 SQLite 数据库的 db 目录、一个用于存放数据库和表创建脚本的 dbscripts 目录和一个用于存放数据库备份的 backups 目录。
清单 5. 使用 PHP V5 组织 SQLite 数据库
2004-12-06 15:43 DIR . 2004-12-06 15:43 DIR .. 2005-04-23 19:55 DIR db 2005-01-02 11:46 DIR dbscripts 2005-01-02 11:46 DIR backups
在 PHP V5 中创建 SQLite 数据库与在命令行界面中创建该数据库非常相似。如果该数据库不存在,则创建一个空数据库。
$db = sqlite_open('../db/ac.db');
创建一个表也非常容易:
清单 6. 创建表
$db = sqlite_open('../db/ac.db'); sqlite_query($db, 'DROP TABLE post'); sqlite_query($db, 'CREATE TABLE post (id INTEGER PRIMARY KEY, kategori VARCHAR(20) NOT NULL, titel VARCHAR(75) NOT NULL, referens VARCHAR(75), status VARCHAR(20) not null, date varchar(10)not null, synopsis VARCHAR(120), inlaegg varchar(8192))');
插入一条记录:
$sqldb = sqlite_open("../db/ac.db"); sqlite_query($sqldb, "INSERT INTO isvs VALUES ('$isvurl' , '$isvname', '$comment')");
并选择数据:
清单 7. 从 SQLite 数据库中选择数据
$sqldb = sqlite_open("www/db/ac.db"); $results = sqlite_query($sqldb, "SELECT * FROM isvs order by isvurl asc ");
while (list($isvurl, $isvname) = sqlite_fetch_array($results)) { sqlite_close($sqldb); }
|