介绍
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)\\\');
在上面的示例中,创建了一个具有id、username和age字段的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表中id为1的数据的年龄更新为25。
删除数据
在SQLite3中,我们使用SQL语句的DELETE FROM语句来删除数据。可以通过调用exec()方法并传入相应的SQL语句来删除数据。
下面的代码展示了如何从resty_user表中删除id为1的数据:
$database->exec(\\\'DELETE FROM resty_user WHERE id = 1\\\');
关闭数据库连接
在使用完SQLite3数据库之后,我们应该关闭与数据库的连接,以释放资源。
下面的代码展示了如何关闭与SQLite3数据库的连接:
$database->close();
通过IDE数据库管理器查看数据
总结
通过本教程,了解了如何通过PHP扩展SQLite来进行数据库管理。学习了如何创建数据库、创建表格、插入数据、查询数据、更新数据和删除数据。SQLite是一个强大又简单的数据库解决方案,适用于小型项目和快速开发。希望本教程对您有所帮助!
原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/49866.html