php sqlite存入文件,php操作文件型数据库SQLite

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 SQLite是什么? 在进入代码之前,让我们确认你对SQLite是什么(及不是什么)有了一个清楚的认识。和MySQL不同,MySQL按照客户-服务器的模式来运行,而SQLite是一种基于文件的数据库引擎,而且使用文

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

SQLite是什么?

在进入代码之前,让我们确认你对SQLite是什么(及不是什么)有了一个清楚的认识。和MySQL不同,MySQL按照客户-服务器的模式来运行,而SQLite是一种基于文件的数据库引擎,而且使用文件I/O(输入/输出)函数来存储和读取来自磁盘上文件的数据库。它也比MySQL小很多很多(SQLite命令行版本的大小小于200KB)而且支持你所熟悉的大部分SQL命令。

这个小尺寸不应该欺骗得了你,然而根据官方SQLite Web站点,SQLite支持数据库增长到2000G字节大小而且实际上在某种情况下要比MySQL速度更快。SQLite数据库文件易于携带,而且创建于Windows平台下的SQLite数据库在*NIX平台下工作的很好,反之亦然。

SQLite最吸引人的方面之一就是它是完全无类型的。SQLite数据库中的字段不需要与特定类型相关联,而且即使它们相关联,你仍然可以向这些字段中插入不同类型的值(对此有一个例外,但我会在稍后谈到它)。这点是重要的,因为它意味着如果你担心错误类型的值进入你的表格,那么你需要在你的应用程序中编写代码来实现类型检查。

在MySQL和SQLite之间另一个重要的差异在于它们的许可策略:与MySQL不同,SQLite源代码是完全公众域的,这意味着你无论在商业还是非商业产品中均可以选择使用和分发它。

为了一起使用SQLite和PHP,你的PHP必须包含SQLite.默认情况下,在PHP5的UNIX和Windows版本中,这个功能是起作用的。

然而,如果你是PHP 4.x版本的用户,那么别灰心,你依然可以通过手动下载和安装php_sqlite.dll文件或者最新的tar格式的包来使用SQLite.你不需要下载其他任何东西;SQLite的'客户端'就是它自身的引擎。

SQL命令

和MySQL一样,你可以使用一般的SQL命令来和SQLite数据库交换作用。SQLite所使用的准确的SQL语法列在上面,但对大部分操作来说,SQL命令是标准的。

下面是一个例子,它建立了我将在本教程中使用的表格:

C:\WINDOWS\Desktop\sqlite>sqlite library.

db SQLite version 2.8.15 Enter ".help" for instructions sqlite>

create table books

(

…>

id integer primary key, …>

title varchar(255) not null, …>

author varchar(255) not null …>);

sqlite> insert into books

(title, author)

values

('The Lord Of The Rings', 'J.R.R. Tolkien');

sqlite> insert into books

(title, author)

values

('The Murders In The Rue Morgue', 'Edgar Allen Poe');

sqlite> insert into books

(title, author)

values

('Three Men In A Boat', 'Jerome K. Jerome');

sqlite> insert into books

(title, author)

values

('A Study In Scarlet', 'Arthur Conan Doyle');

sqlite> insert into books

(title, author)

values

('Alice In Wonderland', 'Lewis Carroll');

sqlite> .exit

你可以通过SQLite命令行程序交互式或者非交互式的输入上述命令,SQLite命令行程序可以Windows和Linux平台下的编译好的二进制文件形式得到。SQLite 2.* 是当前用于PHP两个分支中的版本,同时SQLite 3.*预期支持PDO和之后的PHP5.*版本。

将下载的文件解压到你选择的一个目录中,在你的shell或者DOS窗口中用cd命令进入到该目录然后输入'sqlite'.你可以看到SQLite版本信息和下面的一行:

Enter ".help" for instructions

一旦将资料输入到数据库文件library.db中,立即运行SELECT查询以检查是否一切情况工作良好:

sqlite> select * from books;

1|The Lord Of The Rings|J.R.R. Tolkien 2|The Murders In The Rue Morgue|Edgar Allen Poe 3|Three Men In A Boat|Jerome K. Jerome 4|A Study In Scarlet|Arthur Conan Doyle 5|Alice In Wonderland|Lewis Carroll

如果你看到和上述输出一样的结果,那么你已经准备好可以出发了。

[1] [2] [3] [4]

test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2FLinux.chinaitlab.com%2FPHP%2F884540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值