Home >php教程 >php手册 >php操作文件型数据库SQLite

php操作文件型数据库SQLite

WBOY
WBOYOriginal
2016-06-06 19:52:551381browse

欢迎进入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] 

php操作文件型数据库SQLite

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn