在前端开发中,我们经常需要访问和操作数据库。其中,SQLite 是一种轻量级的关系型数据库,使用方便,支持多平台,特别适合移动应用和嵌入式系统。而 better-sqlite3
是一个优化后的 Node.js SQLite3 驱动,为我们提供了更好的性能和易用性。在 TypeScript 项目中使用 better-sqlite3
时,需要引入对应的类型定义包 @types/better-sqlite3
。本文就介绍一下如何使用这个包。
安装
在项目中安装 better-sqlite3
和 @types/better-sqlite3
,可以使用以下命令:
npm install better-sqlite3 @types/better-sqlite3 --save
使用
在 TypeScript 项目中,我们需要通过 import
语句引入 better-sqlite3
和 @types/better-sqlite3
,然后创建一个 Database
对象来操作 SQLite 数据库。
-- -------------------- ---- ------- ------ -------- ---- ----------------- ------ - -------- -- ------------ - ---- ----------------- -- ------------ ----- ------ - ---------------- -- -------------- ----- --- ------------ - --- ----------------- -- -- --- -- ----- ------ - ------------------ - ---- ---------------- -- ------- -----------展开代码
以上代码演示了如何创建数据库连接和命令执行对象、执行 SQL 命令以及关闭数据库连接。其中,new Database(dbPath)
会根据参数 dbPath
创建一个 SQLite 数据库连接对象,db.prepare(sql)
会根据参数 sql
创建一个命令对象,并返回一个能够执行 SQL 命令的函数,result
是 SQL 查询结果。
在使用过程中,需要注意以下几点:
- 在命令对象执行前,需要先 prepare 命令。
- 在使用结果集时,注意需要遍历所有结果集。
- 在结束操作后,需要关闭数据库连接。
示例
以下是一个完整的示例代码,演示了如何连接数据库、创建表、插入数据和执行查询。
-- -------------------- ---- ------- ------ -------- ---- ----------------- ------ - -------- -- ------------ - ---- ----------------- -- ------------ ----- ------ - ---------------- -- -------------- ----- --- ------------ - --- ----------------- -- ---- --------- ------ ----- -- --- ------ ---- - -- ------- ------- --- -------------- ---- ---- --- ----- --- ------- - --- -- ---- ----- ---------- - ------------------ ---- ---- ------ ---- ------ --- ----- ----------------------- ---- --------------------- ---- -- ---- ----- --------- - ------------------ - ---- ---- ----- --- - ---- ----- ------ - ------------------ -- ---- -------------------- -- ------- -----------展开代码
在上述代码中,我们首先创建了一个数据库连接对象。然后通过 db.exec(sql)
创建了名为 list
的表格。接着,我们通过 db.prepare(sql).run(params)
插入了两条数据,都是包含姓名和年龄字段的记录。最后,我们通过 db.prepare(sql).all(params)
查询了年龄大于 20 的全部记录,并输出了查询结果。注意,在执行查询语句时,我们使用了参数化查询,避免了 SQL 注入攻击的风险。
总结
使用 better-sqlite3
可以轻松操作 SQLite3 数据库,而使用 @types/better-sqlite3
则能够方便地在 TypeScript 项目中提供类型支持。在使用过程中需要注意 prepare 命令、遍历结果集和关闭连接。本文提供了一个完整的代码示例,能够帮助读者更好地理解如何在 TypeScript 中使用 better-sqlite3
和 @types/better-sqlite3
包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/154737