Nodejs连接MySQL数据库模块node-mysql的使用
Nodejs连接MySQL数据库模块node-mysql的使用node-mysql
是一个用于 Node.js 的 MySQL 客户端库,但请注意它已经被废弃,推荐使用 mysql2
模块,它是 node-mysql
的改进版,提供了更好的性能和更多的功能。不过,如果你坚持使用 node-mysql
,以下是如何使用它的基本示例。
安装
首先,你需要安装 node-mysql
:
npm install mysql
连接到MySQL数据库
下面是一个简单的例子来展示如何连接到MySQL数据库并执行查询:
const mysql = require('mysql');
// 创建一个连接池
const pool = mysql.createPool({
host: 'localhost', // 数据库服务器地址
user: 'root', // 数据库用户名
password: 'password', // 数据库密码
database: 'testdb' // 要使用的数据库名
});
// 使用连接池连接数据库
pool.getConnection((err, connection) => {
if (err) throw err; // 如果无法获取连接,则抛出错误
console.log('Connected!');
// 执行查询
connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) throw error;
console.log('The solution is: ', results);
// 结束连接
connection.release();
});
});
// 为防止死锁,可以设置连接的最大空闲时间
pool.on('connection', function(connection) {
connection.config.queryTimeout = 30000; // 30秒
});
执行查询
在上面的例子中,我们已经展示了如何执行一个简单的SQL查询。你也可以使用参数化查询来避免SQL注入攻击:
const sql = 'INSERT INTO users (name, email) VALUES (?, ?)';
const inserts = ['John Doe', 'john.doe@example.com'];
const query = mysql.format(sql, inserts);
pool.query(query, (error, results, fields) => {
if (error) throw error;
console.log('User inserted:', results.insertId);
});
错误处理
确保始终检查回调函数中的错误,并且在完成操作后释放连接。如果不这样做,可能会导致连接泄漏,最终耗尽可用的数据库连接。
关闭连接池
当你的应用结束时,记得关闭连接池:
pool.end((err) => {
if (err) throw err;
console.log('Connection pool closed.');
});
以上就是使用 node-mysql
模块的基本指南。如前所述,mysql2
是更推荐的选择,因为它提供了更好的性能和额外的功能。如果你准备切换到 mysql2
,只需要安装它(npm install mysql2
)并稍微调整一下代码即可。
嘿,想要用Node.js连接MySQL数据库,node-mysql
(现在更流行的是mysql
模块)是个不错的选择!首先,确保安装了mysql
模块,你可以用npm install mysql
来搞定。
然后,你可以这样开始:
const mysql = require('mysql');
// 创建一个连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});
// 连接到数据库
connection.connect(error => {
if (error) throw error;
console.log('Connected!');
});
// 执行查询
connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) throw error;
console.log('查询结果:', results);
});
// 最后别忘了关闭连接
connection.end();
记得替换你的数据库信息哦!希望这能帮到你,祝编程愉快!
node-mysql
是一个用于 Node.js 的 MySQL 客户端库。不过需要注意的是,这个项目已经不再积极维护,推荐使用 mysql2
这个更活跃维护的替代品。但是,为了满足你的需求,我将介绍如何使用 node-mysql
来连接和操作 MySQL 数据库。
首先,你需要安装 node-mysql
库。你可以通过 npm 安装它:
npm install mysql
以下是如何使用 node-mysql
连接到 MySQL 数据库并执行基本查询的例子:
- 连接到数据库:
const mysql = require('mysql');
// 创建一个连接池
const pool = mysql.createPool({
connectionLimit : 10, // 池中最大连接数
host : 'localhost',
user : 'yourusername',
password : 'yourpassword',
database : 'yourdatabase'
});
// 使用连接池进行数据库查询
pool.query('SELECT * FROM users', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results);
});
- 处理连接错误: 在连接过程中可能会遇到各种错误(如网络问题或认证失败),你应该捕获这些错误来确保应用程序的健壮性。
pool.getConnection((err, connection) => {
if (err) {
throw err; // 或者可以处理错误
}
// 使用连接
connection.query('SELECT * FROM users', (err, rows) => {
// 释放连接
connection.release();
if (!connection) return;
// 执行完后没有错误,继续处理数据
if (err) throw err;
console.log(rows);
});
// 如果有长时间运行的事务,可以通过超时机制来避免阻塞
connection.config.queryTimeout = 30000; // 30秒超时
});
- 预处理查询: 预处理查询可以防止SQL注入攻击,确保查询安全。
pool.query('INSERT INTO users SET ?', {name: 'John Doe'}, function (error, results, fields) {
if (error) throw error;
console.log("New record has id: " + results.insertId);
});
以上就是使用 node-mysql
的基础示例。再次强调,考虑到 node-mysql
不再维护,推荐使用其改进版 mysql2
。
node-mysql
是一个已停止维护的 Node.js 连接 MySQL 的模块。推荐使用 mysql2
,它是 node-mysql
的一个活跃分支,功能更强大。
首先,安装 mysql2
:
npm install mysql2
然后,可以这样使用它来连接和查询 MySQL 数据库:
const mysql = require('mysql2/promise');
async function queryDatabase() {
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'testdb'
});
const [rows, fields] = await connection.execute('SELECT * FROM users');
console.log(rows);
connection.end();
}
queryDatabase();
这段代码创建了一个到本地 MySQL 数据库的连接,并执行了一个简单的查询。