下面是关于“nodejs中操作mysql数据库示例”的完整攻略。
1. 安装相关模块
首先,我们需要通过npm来安装以下两个模块:
npm install mysql
npm install dotenv
其中,mysql是操作mysql数据库的模块,而dotenv是加载环境变量的模块。在本示例中,我们会将连接数据库的参数存储在环境变量中。
2. 连接数据库
在连接数据库之前,我们需要准备一下数据库的相关信息,例如:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
DB_NAME=my_database
上述参数包括数据库地址(DB_HOST)、用户名(DB_USER)、密码(DB_PASSWORD)以及要连接的数据库名称(DB_NAME)。
在代码中,我们需要使用dotenv模块来加载环境变量,然后使用mysql模块连接数据库。以下是连接数据库的示例代码:
require('dotenv').config();
const mysql = require('mysql');
const connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
});
connection.connect((error) => {
if (error) {
console.error('error connecting: ', error);
return;
}
console.log('connected as id ' + connection.threadId);
});
以上代码中,我们首先使用dotenv模块来加载环境变量,然后使用mysql模块创建一个连接对象(connection)。在调用connection.connect()方法时,我们可以处理连接成功和失败的情况。
3. 查询数据
连接成功后,我们可以通过connection.query()方法来查询数据。以下是示例代码:
// 查询所有数据
connection.query('SELECT * FROM my_table', (error, results, fields) => {
if (error) throw error;
console.log(results);
});
// 查询符合条件的数据
connection.query(
'SELECT * FROM my_table WHERE id = ?',
[1],
(error, results, fields) => {
if (error) throw error;
console.log(results);
}
);
以上代码中,我们使用connection.query()方法来查询数据库中的数据。第一个参数是MySQL查询语句,第二个参数是查询条件(可选),第三个参数是回调函数,用来处理查询结果。
在第一个示例中,我们查询了所有数据,并直接打印出结果。而在第二个示例中,我们查询了id等于1的数据,并打印出结果。
4. 插入数据
除了查询数据,我们还可以使用connection.query()方法来插入数据。以下是示例代码:
const data = {
name: 'John Doe',
age: 30,
email: 'john.doe@example.com',
};
connection.query('INSERT INTO my_table SET ?', data, (error, results, fields) => {
if (error) throw error;
console.log('Inserted ' + results.affectedRows + ' row(s).');
});
以上代码中,我们使用connection.query()方法来插入一条数据。第一个参数是MySQL插入语句,而第二个参数是一个对象,包含要插入的数据。在插入成功后,我们打印出受影响的行数。
5. 更新数据和删除数据
与插入数据类似,我们也可以使用connection.query()方法来更新数据和删除数据。以下是示例代码:
// 更新数据
connection.query(
'UPDATE my_table SET name = ?, age = ? WHERE id = ?',
['John Doe', 40, 1],
(error, results, fields) => {
if (error) throw error;
console.log('Updated ' + results.affectedRows + ' row(s).');
}
);
// 删除数据
connection.query('DELETE FROM my_table WHERE id = ?', [1], (error, results, fields) => {
if (error) throw error;
console.log('Deleted ' + results.affectedRows + ' row(s).');
});
以上代码中,我们使用connection.query()方法来更新和删除数据。在更新数据时,第一个参数是MySQL更新语句,第二个参数是一个数组,包含要更新的值,而第三个参数是回调函数,用来处理操作结果。删除数据与之类似,只是第一个参数是MySQL删除语句。
6. 关闭数据库连接
在完成操作后,我们需要使用connection.end()方法来关闭数据库连接,以释放资源。以下是示例代码:
connection.end((error) => {
if (error) {
console.error('error disconnecting: ', error);
return;
}
console.log('disconnected');
});
以上代码中,我们使用connection.end()方法来关闭数据库连接,并处理关闭成功和失败的情况。当然,如果你需要保持连接不关闭,也可以不调用该方法。
到此为止,我们完成了操作mysql数据库的示例。希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs中操作mysql数据库示例 - Python技术站