npm 包 sqlite-sjs 使用教程

阅读时长 7 分钟读完

前言

在前端开发中,处理本地数据是非常常见的需求。而 SQLite 数据库则是一种轻量级的数据库,很适合用于前端的本地数据存储。在本文中,我们将介绍如何使用 npm 包 sqlite-sjs 来操作 SQLite 数据库。

安装

首先,我们需要在项目中安装 sqlite-sjs:

安装完成后,就可以在项目中使用这个库了。

创建并连接数据库

下面我们将展示如何:在指定路径下创建一个名为 test.db 的 SQLite 数据库,并连接到该数据库。

-- -------------------- ---- -------
----- ---- - ----------------
----- ------- - -------------------
----- - ---- - - ----------------------

----- ------ - ----------------------- --------------

----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们引入了三个库:path、sqlite3、sqlite-sjs。其中,path 用于操作路径,sqlite3 用于底层操作 SQLite 数据库,而 sqlite-sjs 提供了便利的 API,可以更方便地操作数据库。

可以看到,在 open 函数中,我们需要传入以下两个参数:

  • filename: 数据库文件的路径。
  • driver: SQLite 数据库实例的来源。

open 函数返回的是一个 Promise,该 Promise reslove 后,就可以对数据库进行操作。

在上文的代码中,我们使用了 async/await,这是 ES6 中新引入的语法,使异步代码更加直观易懂。

创建数据表

在 SQLite 数据库中,要存储数据,需要先定义一个数据表。下面我们将通过代码创建一个名为 user 的数据表,该数据表包含 id 和 name 两个字段。

-- -------------------- ---- -------
----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  ----- --------
    ------ ----- -- --- ------ ---- -
      -- ------- ------- --- --------------
      ---- ---- --- ----
    -
  ---

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们使用了 db.run 函数来执行 SQL 语句。在该 SQL 语句中,我们创建了一个名为 user 的数据表,并定义了该数据表的两个字段。

插入数据

当我们创建好数据表后,就可以往数据表中插入数据了。如下代码展示如何往 user 表中插入一条数据:

-- -------------------- ---- -------
----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  ----- -------------- ---- ---- ------ ------ ----- --------

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们使用了 db.run 函数插入了一条数据。在该 SQL 语句中,我们指定了插入的数据表名称,以及插入的字段名和值。

查询数据

插入数据后,就可以通过 SQL 查询语句来查询数据了。如下代码展示如何查询 user 表中所有的数据:

-- -------------------- ---- -------
----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  ----- ---- - ----- -------------- - ---- -------

  ------------------

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们使用了 db.all 函数查询了 user 表中的所有数据,并将查询结果打印出来。你也可以使用 db.get 函数查询一条数据,或者使用 db.each 函数遍历查询结果集。

更新数据

对于已存在的数据,我们也可以通过 SQL 语句来更新这些数据。如下代码展示了如何将 user 表中 name 值为 John 的数据更新为 name 值为 Lucy 的数据:

-- -------------------- ---- -------
----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  ----- -------------- ---- --- ---- - - ----- ---- - --- ------- --------

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们使用了 db.run 函数来执行一条 SQL UPDATE 语句。该 SQL 语句中使用了 WHERE 语句限制了更新的数据行,以便更准确地找到需要更新的数据。

删除数据

除了更新数据,我们还可以通过 SQL 语句来删除数据。如下代码展示了如何删除 user 表中 name 值为 Lucy 的数据:

-- -------------------- ---- -------
----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  ----- -------------- ---- ---- ----- ---- - --- --------

  -- -----
  ----- -----------
-

-------

在上面的代码中,我们使用了 db.run 函数来执行一条 SQL DELETE 语句。该 SQL 语句中使用了 WHERE 语句限制了删除的数据行,以便更准确地找到要删除的数据。

总结

在本文中,我们介绍了如何使用 npm 包 sqlite-sjs 来操作 SQLite 数据库。我们从创建并连接数据库开始讲起,接着讲解了创建数据表、插入数据、查询数据、更新数据以及删除数据的代码,这些操作是操作 SQLite 数据库的基本代码,掌握它们可以更好地利用 SQLite 数据库来存储本地数据。

示例代码

完整的示例代码已经上传至 Github,欢迎下载和学习。

Github 地址:https://github.com/xxxxxxx/notebook/tree/main/sqlite-sjs

-- -------------------- ---- -------
----- ---- - ----------------
----- ------- - -------------------
----- - ---- - - ----------------------

----- ------ - ----------------------- --------------

----- -------- ------ -
  -- -----
  ----- -- - ----- ------
    --------- -------
    ------- -----------------
  ---

  -- -----
  ----- --------
    ------ ----- -- --- ------ ---- -
      -- ------- ------- --- --------------
      ---- ---- --- ----
    -
  ---

  -- ----
  ----- -------------- ---- ---- ------ ------ ----- --------

  -- ----
  ----- ---- - ----- -------------- - ---- -------
  ------------------

  -- ----
  ----- -------------- ---- --- ---- - - ----- ---- - --- ------- --------

  -- ----
  ----- -------------- ---- ---- ----- ---- - --- --------

  -- -----
  ----- -----------
-

-------

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005751881e8991b448ea3bc

纠错
反馈