介绍
better-sqlite3是一个使用C ++编写的SQLite3绑定,旨在提供高效的SQLite3数据库访问,同时仍具有易于使用的API。本文将介绍如何使用better-sqlite3来连接,创建和查询SQLite3数据库。
安装
在使用better-sqlite3之前,你需要先安装它:
npm install better-sqlite3
创建数据库连接
开始之前,假设你已经有一个名为“mydatabase.db”的空数据库。
要连接到数据库,可以使用以下代码:
const sqlite3 = require('better-sqlite3') const db = new sqlite3('mydatabase.db')
此代码将创建一个名为“db”的连接对象,该连接对象将连接到名称为“mydatabase.db”的数据库。如果该数据库不存在,则会创建一个新的空数据库。
创建表
要使用better-sqlite3创建表,请使用以下代码:
db.exec(` CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, age INTEGER ) `)
上述代码将创建一个名为“users”的表,该表具有4个列:id,name,email和age。 id列将作为主键,并自动递增。
插入数据
要使用better-sqlite3插入数据,请使用以下代码:
-- -------------------- ---- ------- ----- ------ - ------------ ------ ---- ----- - ----- ------ --- - ------ --- -- -- -- ------------------ ------------------- --- ------------------- -------------------- ---
上述代码将向“users”表中插入两行数据。此行使用prepare方法准备,并在每次运行时使用run方法运行。 prepare方法允许您预处理SQL查询,并且run方法允许您在查询上运行参数。
查询数据
要使用better-sqlite3查询数据,请使用以下代码:
const query = db.prepare('SELECT * FROM users') const result = query.all() console.log(result)
上述代码将查询“users”表中的所有数据,并将结果存储在名为“result”的数组中。您可以使用all方法来获得所有匹配的行。
您还可以使用以下方法之一来指定过滤器:
- get - 获取单个匹配的行。
- all - 获取所有匹配的行。
- iterate - 处理每个匹配的行。
以下是使用“get”方法查询特定用户的示例代码:
const query = db.prepare('SELECT * FROM users WHERE name = ?') const result = query.get('John') console.log(result)
上述代码将查询“users”表中name为“John”的单个行,并将结果存储在名为“result”的变量中。
更新数据
要使用better-sqlite3更新数据,请使用以下代码:
const update = db.prepare(` UPDATE users SET email = ?, age = ? WHERE id = ? `) update.run('john@example.com', 27, 1)
上述代码将更新id为1的行中的email和age列。
删除数据
要使用better-sqlite3删除数据,请使用以下代码:
const del = db.prepare('DELETE FROM users WHERE id = ?') del.run(1)
上述代码将删除id为1的行。
结论
better-sqlite3是一个非常强大且易于使用的npm包,它可以帮助您更轻松地管理SQLite3数据库。在本文中,我们介绍了如何连接,创建和查询数据库,并提供了示例代码。希望本文可以帮助您更好地理解better-sqlite3,并加快您使用SQLite3数据库的速度!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/90792