📅  最后修改于: 2023-12-03 15:33:10.720000             🧑  作者: Mango
MySQL 是一种常用的开源关系型数据库管理系统,Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 的出现使得开发者可以使用 JavaScript 编写服务器端代码,也使得 JavaScript 处理数据变得更加容易。本文将介绍如何使用 Node.js 将 MySQL 和 Node 应用程序进行连接。
在 Node.js 中使用 MySQL,需要先安装相应的 Node.js 第三方模块。可以使用以下命令进行安装:
npm install mysql
在 Node.js 中连接 MySQL 数据库,需要先创建与数据库的连接。可以使用以下代码进行连接:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test'
});
connection.connect((err) => {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
在以上代码中,通过 mysql.createConnection
方法创建了一个连接对象,包含了数据库的连接信息。然后通过 connection.connect()
方法进行连接,并处理连接过程中出现的错误和成功连接后的回调。
连接成功后,就可以对 MySQL 数据库进行查询了。以下是一个简单的查询示例:
connection.query('SELECT * FROM users', (err, rows) => {
if (err) throw err;
console.log('Data received from Db:\n');
console.log(rows);
});
在以上代码中,通过 connection.query
方法进行查询,并处理查询过程中出现的错误和查询结果的回调。SELECT * FROM users
表示查询名为 users
的表的所有记录。
除了查询数据,也可以往 MySQL 数据库中插入数据。以下是一个简单的插入示例:
const user = { name: 'John', age: 25 };
connection.query('INSERT INTO users SET ?', user, (err, res) => {
if (err) throw err;
console.log('Last insert ID:', res.insertId);
});
在以上代码中,通过 connection.query
方法进行插入,并处理插入过程中出现的错误和插入结果的回调。INSERT INTO users SET ?
表示插入数据到名为 users
的表中,?
会被后面的参数 user
替换。
也可以对 MySQL 数据库中的数据进行更新。以下是一个简单的更新示例:
const id = 1,
newAge = 26;
connection.query(
'UPDATE users SET age = ? WHERE id = ?',
[newAge, id],
(err, res) => {
if (err) throw err;
console.log(`Changed ${res.changedRows} rows`);
}
);
在以上代码中,通过 connection.query
方法进行更新,并处理更新过程中出现的错误和更新结果的回调。UPDATE users SET age = ? WHERE id = ?
表示更新名为 users
的表中,指定 id
的行的 age
字段,?
会被后面的参数 [newAge, id]
替换。
也可以从 MySQL 数据库中删除数据。以下是一个简单的删除示例:
const id = 1;
connection.query(
'DELETE FROM users WHERE id = ?',
[id],
(err, res) => {
if (err) throw err;
console.log(`Deleted ${res.affectedRows} rows`);
}
);
在以上代码中,通过 connection.query
方法进行删除,并处理删除过程中出现的错误和删除结果的回调。DELETE FROM users WHERE id = ?
表示删除名为 users
的表中,指定 id
的行,?
会被后面的参数 [id]
替换。
使用完 MySQL 数据库后,需要关闭连接。以下是一个关闭连接的示例:
connection.end((err) => {
if (err) throw err;
console.log('Connection closed');
});
在以上代码中,通过 connection.end()
方法关闭连接,并处理关闭过程中出现的错误和关闭完成后的回调。
通过以上步骤,Node.js 开发者可以使用 Node.js 将 MySQL 和 Node 应用程序进行连接,进行数据的查询、插入、更新和删除。