前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP使用SQLite3嵌入式关系型数据库

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

作者头像
Tinywan
发布2024-04-15 10:53:37
640
发布2024-04-15 10:53:37
举报
文章被收录于专栏:开源技术小栈开源技术小栈

介绍

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对象,并传入数据库文件的路径作为参数,可以创建一个数据库连接。

代码语言:javascript
复制
$dbFile = runtime_path() . DIRECTORY_SEPARATOR . 'tinywan.db';
$database = new SQLite3($dbFile);
var_dump($database);

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

打印输出

代码语言:javascript
复制
class SQLite3#2 (0) {
}

创建表

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

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

代码语言:javascript
复制
$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表中插入一条数据:

代码语言:javascript
复制
$database->exec("INSERT INTO resty_user (username, age) VALUES ('Tinywan', 24)");

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

查询数据

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

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

代码语言:javascript
复制
$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表中查询了所有数据,并通过循环遍历结果集来输出查询结果。

代码语言:javascript
复制
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表中的数据:

代码语言:javascript
复制
$database->exec("UPDATE resty_user SET age = 25 WHERE id = 1");

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

删除数据

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

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

代码语言:javascript
复制
$database->exec('DELETE FROM resty_user WHERE id = 1');

关闭数据库连接

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

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

代码语言:javascript
复制
$database->close();

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

总结

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

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-09,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
  • 使用
    • 连接
      • 创建表
        • 插入数据
          • 查询数据
            • 更新数据
              • 删除数据
                • 关闭数据库连接
                • 通过IDE数据库管理器查看数据
                • 总结
                相关产品与服务
                数据库智能管家 DBbrain
                数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com