在 Node.js 中连接和操作 MySQL 数据库通常需要使用第三方库,最常见和广泛使用的是 mysql2。下面我们提供一个示例,展示如何通过 Node.js 将当前时间存入 MySQL 数据库中。
npm install mysql2
- 然后,我们可以在项目中创建一个数据库连接工具模块,用于创建和管理数据库连接,以及封装常用的 CRUD 操作。以下是一个简单的示例:
const mysql = require('mysql2/promise');
const dbConfig = require('./config/db');
const pool = mysql.createPool(dbConfig);
const query = async (sql, params) => {
const conn = await pool.getConnection();
try {
const [rows] = await conn.query(sql, params);
return rows;
} finally {
conn.release();
}
};
module.exports = {
query
};
- 接下来,在需要的地方引入该模块,并使用 query 方法向数据库中插入一条记录。以下是一个示例:
const db = require('./db');
async function insertCurrentTime() {
// 获取当前时间并格式化为 MySQL 的时间格式
const currentTime = new Date().toISOString().slice(0, 19).replace('T', ' ');
// 构造 SQL 语句
const sql = 'INSERT INTO mytable (time) VALUES (?)';
// 执行 SQL 语句并传入参数
await db.query(sql, [currentTime]);
console.log('插入成功')
}
insertCurrentTime();
在上面的示例中,我们首先获取当前时间,并将其格式化为 MySQL 的时间格式。然后,我们将当前时间插入到名为 mytable 的表中的 time 字段。
需要注意的是,在执行 SQL 语句时,我们使用了占位符 ?,并在传入的参数数组中传入了 currentTime
变量。这是为了避免 SQL 注入攻击的安全风险。如果需要插入多个参数,可以在 SQL 语句中使用多个问号,并在参数数组中传入相应数量的参数。
当然,这只是一个基本的示例。在实际项目中,我们可能需要更加完整和严格的错误处理、数据库连接管理、日志记录等功能,以确保程序的可靠性和稳定性。