您现在的位置是:首页 >其他 >nodejs中数据库的连接及操作网站首页其他
nodejs中数据库的连接及操作
数据库的连接:
对于mysql的数据库的连接:
const mysql = require("mysql")
const db = mysql.createPool({
host: "127.0.0.1",
user: 'root',
password: "123456",
database: "my_db_01"
})
//用db进行操作的
module.exports = db
对于sqlite的数据库:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydatabase.db');
module.exports = db
数据库的操作:
以下是使用 db.all 方法查询数据的示例代码:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydatabase.db');
// 查询所有的用户数据
db.all('SELECT * FROM users', (err, rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row);
});
});
db.close();
以下是使用 db.query 方法查询数据的示例代码:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydatabase.db');
// 查询 id 为 1 的用户数据
db.query('SELECT * FROM users WHERE id = ?', [1], (err, row) => {
if (err) {
throw err;
}
console.log(row);
});
db.close();
以下是使用 db.get 方法查询数据的示例代码:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydatabase.db');
// 查询 id 为 1 的用户数据
db.get('SELECT * FROM users WHERE id = ?', [1], (err, row) => {
if (err) {
throw err;
}
console.log(row);
});
db.close();
在上面的示例代码中,我们通过执行 SELECT * FROM users WHERE id = ? 来查询 id 为 1 的用户数据,并将这个查询放到 db.get 方法中去执行。由于我们只需要查询一条数据,所以使用 db.get 方法比使用 db.all 或 db.query 更加合适。当查询结果有多条数据时,我们可以使用 db.all 或 db.query 方法来获取所有的数据行。
所以对于数据库的操作的三个方式 区别都不大
除了 db.all、db.get 和 db.query 这三个方法以外,SQLite 数据库 API 中还有其他的查询方式,例如:
-
db.each:db.each方法用于执行一个 SQL 查询语句,并为查询结果的每一行数据都执行一次回调函数。该方法需要两个参数:第一个参数是要执行的 SQL 查询语句;第二个参数是回调函数,它接收两个参数:第一个参数是错误对象(如果执行查询出错则显示该对象中包含错误信息);第二个参数是返回的每一行数据。该方法适合于需要对每一行数据进行特定处理的场景。 -
db.run:db.run方法用于执行一个 SQL 命令(比如 CREATE TABLE、INSERT 等命令)。与db.all、db.get和db.query不同的是,该方法不返回任何查询结果,而是直接执行给定的 SQL 命令,并在执行完之后调用回调函数(如果有的话)。
下面是使用 db.each 和 db.run 方法的示例代码:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydatabase.db');
// 使用 db.each 查询 users 表中的所有数据,并依次打印每一行数据
db.each('SELECT * FROM users', (err, row) => {
if (err) {
throw err;
}
console.log(row);
});
// 使用 db.run 执行一条 SQL 命令来插入一条新的用户数据
db.run('INSERT INTO users(name, age) VALUES (?, ?)', ['Alice', 20], function (err) {
if (err) {
throw err;
}
console.log(`A new row has been inserted with id ${this.lastID}`);
});
db.close();
在 Node.js 中使用 sqlite3 库来操作 SQLite 数据库时,默认情况下该库并没有提供 query() 方法。 所以对于sqlite的数据库我们一般用all就够用了





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结