使用Node.js操作MySQL数据库,需要先安装mysql和mysql2模块,可以通过npm安装:
npm install mysql mysql2
其中mysql2是MySQL的一个纯Node.js驱动程序,提供更好的性能和安全性。接下来,操作MySQL的增删改查可以按如下步骤进行:
连接数据库
首先需要使用mysql2
模块中提供的createConnection()
方法来创建数据库连接:
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test_db'
});
connection.connect((err) => {
if (err) {
console.error('连接数据库出错:', err);
} else {
console.log('数据库已成功连接!');
}
})
其中,host
是数据库服务器的地址,user
和password
是登录数据库的账号和密码,database
是你要连接的数据库名。
插入数据
使用connection.query()
方法可以插入一条数据到数据库中:
const insertSql = 'INSERT INTO users (username, age, gender) VALUES (?, ?, ?)';
const insertValues = ['Tom', 18, 'male'];
connection.query(insertSql, insertValues, (err, results) => {
if (err) {
console.error('插入数据出错:', err);
} else {
console.log('插入数据成功!', results);
}
})
其中,insertSql
为要插入的SQL语句,?
为占位符,insertValues
是要插入的值。
查询数据
使用connection.query()
方法可以查询数据库中的记录:
const querySql = 'SELECT * FROM users WHERE age > ?';
const queryValues = [18];
connection.query(querySql, queryValues, (err, results) => {
if (err) {
console.error('查询数据出错:', err);
} else {
console.log('查询到的数据为:', results);
}
})
其中,querySql
为要查询的SQL语句,queryValues
是查询条件的值。这里的查询结果将会返回一个数组,数组中的每一项是一条记录。
更新数据
使用connection.query()
方法可以更新数据库中的记录:
const updateSql = 'UPDATE users SET gender = ? WHERE id = ?';
const updateValues = ['female', 1];
connection.query(updateSql, updateValues, (err, results) => {
if (err) {
console.error('更新数据出错:', err);
} else {
console.log('更新数据成功!', results);
}
})
其中,updateSql
为要更新的SQL语句,updateValues
是要更新的值。这里的更新结果将会返回一个对象,包含更新的行数。
删除数据
使用connection.query()
方法可以删除数据库中的记录:
const deleteSql = 'DELETE FROM users WHERE id = ?';
const deleteValues = [1];
connection.query(deleteSql, deleteValues, (err, results) => {
if (err) {
console.error('删除数据出错:', err);
} else {
console.log('删除数据成功!', results);
}
})
其中,deleteSql
为要删除的SQL语句,deleteValues
是删除条件的值。这里的删除结果将会返回一个对象,包含删除的行数。
以上就是Node.js操作MySQL(增删改查)的完整攻略。接下来,我们来看两个例子。
示例1:插入一条记录
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test_db'
});
connection.connect((err) => {
if (err) {
console.error('连接数据库出错:', err);
} else {
const insertSql = 'INSERT INTO users (username, age, gender) VALUES (?, ?, ?)';
const insertValues = ['Tom', 18, 'male'];
connection.query(insertSql, insertValues, (err, results) => {
if (err) {
console.error('插入数据出错:', err);
} else {
console.log('插入数据成功!', results);
}
connection.end();
});
}
});
示例2:查询所有年龄大于18岁的记录
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test_db'
});
connection.connect((err) => {
if (err) {
console.error('连接数据库出错:', err);
} else {
const querySql = 'SELECT * FROM users WHERE age > ?';
const queryValues = [18];
connection.query(querySql, queryValues, (err, results) => {
if (err) {
console.error('查询数据出错:', err);
} else {
console.log('查询到的数据为:', results);
}
connection.end();
});
}
});
以上就是Node.js操作MySQL(增删改查)的完整攻略及两个示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js操作mysql(增删改查) - Python技术站