使用Express+Node.js对MySQL进行增、改、查操作的步骤如下:
- 安装依赖库
在终端输入以下命令:
npm install express mysql --save
- 连接到MySQL数据库
在之前所述的程序文件中,require mysql 并定义数据库信息:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database'
});
在连接完成后,使用connection对象来连接数据库:
connection.connect((err) => {
if (err) throw err;
console.log('Connected!');
});
- 执行SQL语句
可使用connection.query方法执行查询语句,该方法有两个参数:SQL字符串和查询结果回调函数,如:
connection.query('SELECT * FROM table_name', (err, rows) => {
if (err) throw err;
console.log(rows);
});
可使用connection.query方法执行添加数据操作,该方法有两个参数:SQL字符串和添加结果回调函数。
connection.query('INSERT INTO table_name SET ?', newRecordObject, (err, result) => {
if (err) throw err;
console.log(result);
});
在新记录对象中声明键值对以设置记录值。
let newRecordObject = {
column_1: 'value_1',
column_2: 2,
column_3: true
};
可使用connection.query方法执行更新记录操作,该方法有两个参数:SQL字符串和更新结果回调函数。
connection.query('UPDATE table_name SET column_1 = ? WHERE id = ?', ['new_value', 1], (err, result) => {
if (err) throw err;
console.log(result);
});
在第二个参数的数组中声明两个元素,第一个为新的列值,第二个为要更新的记录的 ID 值。
示例1:如何使用Express来添加一条新记录?
在app.js中,新增路由/API,通过POST方法向table_name添加一条新记录。
app.post('/add', (req, res) => {
let newRecordObject = req.body;
let sql = 'INSERT INTO table_name SET ?';
connection.query(sql, newRecordObject, (err, result) => {
if (err) throw err;
res.send('New record added!');
});
});
在前端使用AJAX请求并将新添加记录的数据作为参数发送:
let newRecordObject = {
column_1: 'new_value_1',
column_2: 123,
column_3: true
};
$.ajax({
url: '/add',
type: 'POST',
data: newRecordObject,
success: function(result) {
console.log(result);
}
});
示例2:如何使用Express来查询记录?
在app.js中,建立新的路由/API,通过GET方法查询table_name中的数据:
app.get('/list', (req, res) => {
let sql = 'SELECT * FROM table_name';
connection.query(sql, (err, rows) => {
if (err) throw err;
res.send(rows);
});
});
在前端使用AJAX请求并接收服务器返回的JSON对象:
$.ajax({
url: '/list',
type: 'GET',
dataType: 'json',
success: function(result) {
console.log(result);
}
});
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Express+Node.js对mysql进行增改查操作 - Python技术站