PHP使用SQLite3嵌入式关系型数据库

介绍

SQLite是一种嵌入式关系型数据库管理系统,与其他数据库管理系统(如MySQL、PostgreSQL)相比,它是基于文件的、无需服务器的数据库引擎。在PHP中,我们可以使用SQLite3扩展来操作SQLite数据库。

安装

SQLite3 扩展默认启用。允许在编译时使用 --without-sqlite3 禁用。Windows 用户必须启用 php_sqlite3.dll 方可使用该扩展。此扩展的 DLL 文件 包含于 Windows 版的 PHP 发行包中。

注意: 自 PHP 7.4.0 起在 Windows 上的附加设置。为了使此扩展生效, DLL 文件必须能在 Windows 系统的 PATH 指示的路径下找到。如何操作的信息,请参见题为“如何在 Windows 中将 PHP 目录加到 PATH 中”的FAQ。虽然将 DLL 文件从 PHP 文件夹复制到 Windows 系统目录也行,但不建议这样做。此扩展需要下列文件在 PATH 路径中:libsqlite3.dll.

使用

连接

在PHP中,我们可以使用SQLite3类来连接SQLite3数据库。通过实例化一个SQLite3对象,并传入数据库文件的路径作为参数,可以创建一个数据库连接。

$dbFile = runtime_path() . DIRECTORY_SEPARATOR . \\\'tinywan.db\\\';
$database = new SQLite3($dbFile);
var_dump($database);

在上面的示例中,我们连接到了名为tinywan.db的SQLite3数据库。如果tinywan.db不存在,SQLite3会自动创建一个空的数据库文件。

打印输出

class SQLite3#2 (0) {
}

创建表

在SQLite3中,使用SQL语句来创建表。可以通过调用exec()方法并传入创建表的SQL语句来创建表。

下面的代码展示了如何在SQLite3数据库中创建一个名为resty_user的表

$database->exec(\\\'CREATE TABLE IF NOT EXISTS resty_user (id INTEGER PRIMARY KEY, username TEXT, age INTEGER)\\\');

在上面的示例中,创建了一个具有idusernameage字段的resty_user表。id字段被设置为主键,并自动递增。

插入数据

在SQLite3中,我们使用SQL语句的INSERT INTO语句来插入数据。可以通过调用exec()方法并传入相应的SQL语句来插入数据。

下面的代码展示了如何向resty_user表中插入一条数据:

$database->exec(\\\"INSERT INTO resty_user (username, age) VALUES (\\\'Tinywan\\\', 24)\\\");

在上面的示例中,我们向resty_user表中插入了一条姓名为Tinywan、年龄为24的数据。

查询数据

在SQLite3中,我们使用SQL语句的SELECT语句来查询数据。可以通过调用query()方法并传入相应的SQL语句来查询数据。

下面的代码展示了如何从resty_user表中查询所有数据:

$result = $database->query(\\\'SELECT * FROM resty_user\\\');

while ($row = $result->fetchArray()) {
    echo \\\'ID: \\\' . $row[\\\'id\\\'] . \\\', username: \\\' .$row[\\\'name\\\'] . \\\', age: \\\' . $row[\\\'age\\\'] . PHP_EOL;
}

在上面的示例中,从resty_user表中查询了所有数据,并通过循环遍历结果集来输出查询结果。

ID: 1, username: Tinywan, age: 24
ID: 2, username: Tinywan, age: 24
ID: 3, username: Tinywan, age: 24

更新数据

SQLite3中,我们使用SQL语句的UPDATE语句来更新数据。可以通过调用exec()方法并传入相应的SQL语句来更新数据。

下面的代码展示了如何更新resty_user表中的数据:

$database->exec(\\\"UPDATE resty_user SET age = 25 WHERE id = 1\\\");

在上面的示例中,将resty_user表中id1的数据的年龄更新为25

删除数据

在SQLite3中,我们使用SQL语句的DELETE FROM语句来删除数据。可以通过调用exec()方法并传入相应的SQL语句来删除数据。

下面的代码展示了如何从resty_user表中删除id1的数据:

$database->exec(\\\'DELETE FROM resty_user WHERE id = 1\\\');

关闭数据库连接

在使用完SQLite3数据库之后,我们应该关闭与数据库的连接,以释放资源。

下面的代码展示了如何关闭与SQLite3数据库的连接:

$database->close();

通过IDE数据库管理器查看数据

总结

通过本教程,了解了如何通过PHP扩展SQLite来进行数据库管理。学习了如何创建数据库、创建表格、插入数据、查询数据、更新数据和删除数据。SQLite是一个强大又简单的数据库解决方案,适用于小型项目和快速开发。希望本教程对您有所帮助!

原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/49866.html

(0)
网络技术联盟站's avatar网络技术联盟站
上一篇 2024年5月9日 上午11:53
下一篇 2024年5月9日 上午11:55

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注