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.alldb.query 更加合适。当查询结果有多条数据时,我们可以使用 db.alldb.query 方法来获取所有的数据行。

所以对于数据库的操作的三个方式  区别都不大 

除了 db.alldb.getdb.query 这三个方法以外,SQLite 数据库 API 中还有其他的查询方式,例如:

  • db.each: db.each 方法用于执行一个 SQL 查询语句,并为查询结果的每一行数据都执行一次回调函数。该方法需要两个参数:第一个参数是要执行的 SQL 查询语句;第二个参数是回调函数,它接收两个参数:第一个参数是错误对象(如果执行查询出错则显示该对象中包含错误信息);第二个参数是返回的每一行数据。该方法适合于需要对每一行数据进行特定处理的场景。

  • db.run: db.run 方法用于执行一个 SQL 命令(比如 CREATE TABLE、INSERT 等命令)。与 db.alldb.getdb.query 不同的是,该方法不返回任何查询结果,而是直接执行给定的 SQL 命令,并在执行完之后调用回调函数(如果有的话)

下面是使用 db.eachdb.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就够用了  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Node.js的一些库来连接数据库。最常用的是`mysql`和`mongodb`。 如果你想连接MySQL数据库,可以使用`mysql`库。首先,你需要在你的项目安装该库: ``` npm install mysql ``` 然后,在你的代码引入它: ```javascript const mysql = require('mysql'); ``` 接下来,你需要创建一个连接连接数据库: ```javascript const connection = mysql.createConnection({ host: 'localhost', // 数据库主机名 user: 'username', // 数据库用户名 password: 'password', // 数据库密码 database: 'database_name' // 数据库名称 }); // 连接数据库 connection.connect((err) => { if (err) throw err; console.log('Connected to the database!'); }); // 在这里执行查询或其他数据库操作 // 最后别忘了关闭连接 connection.end(); ``` 如果你要连接MongoDB数据库,可以使用`mongodb`库。首先,你需要在你的项目安装该库: ``` npm install mongodb ``` 然后,在你的代码引入它: ```javascript const { MongoClient } = require('mongodb'); ``` 接下来,你需要创建一个MongoDB客户端并连接数据库: ```javascript const uri = 'mongodb+srv://<username>:<password>@cluster0.example.com/test?retryWrites=true&w=majority'; const client = new MongoClient(uri, { useUnifiedTopology: true }); // 连接数据库 client.connect((err) => { if (err) throw err; console.log('Connected to the database!'); // 在这里执行查询或其他数据库操作 // 最后别忘了关闭连接 client.close(); }); ``` 你需要替换`<username>`和`<password>`为你的MongoDB数据库的凭据,并将`cluster0.example.com`替换为你的MongoDB连接URI。 这些只是连接数据库的基本示例,具体的使用方法和操作取决于你使用的数据库类型和你的需求。你可以参考相关文档来了解更多细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值