❤Nodejs 第五章(操作本地数据库实现删除)
❤Nodejs 第五章(操作本地数据库实现删除)
前置知识
注:get和delete是在路径中传递数据,而post和put可以在request body中传递数据
删除用户信息(/api/user--delete 删除)
(1)数据库语句
先试试数据库的删除语句,删除id为8的数据
DELETE FROM user WHERE id = 8
id为8的数据我们已经删除成功!
(2)手写删除方法
接下来我们手写我们的删除
先在node之中手写我们的删除delete方法
// 删除用户数据 DELETE请求处理程序
app.delete('/api/user', (req, res) => {
const {id} = req.body; // 从请求体中获取数据
const values = [ id];
const sql = "DELETE FROM user WHERE id = ?";
connection.query(sql, values, (err, results) => {
console.log(err,'err');
console.log(results,'results');
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
(3)axio请求删除数据
接下来拿axio请求删除数据
根据id来删除用户is为5的数据
// 删除用户信息
function handleDelete(row) {
console.log(row, '删除');
let id=row.id;
let api = "http://localhost:8888/api/user";
let data={id:row.id};
console.log(row.id,'row.id');
axios.delete(api,data).then(res => {
if (res.status == 200) {
console.log(res, 'res');
centerDialogVisible.value = false;
}
})
}
点击删除以后删除成功,然后我们刷新数据库数据。
我们的删除成功了,但是数据却依然存在,这是什么原因呢?
查看node控制台输出我们可以发现,原来我们压根没有拿到用户的id
这就需要提到我们一开始上面警示语句:
注:get和delete是在路径中传递数据,而post和put可以在request body中传递数据
(4)优化删除
那我们尝试将用户的id放到我们的地址上试试,node删除方法就跟改为:
// 删除用户数据 DELETE请求处理程序
app.delete('/api/user/:id', (req, res) => {
const {id} = req.body; // 从请求体中获取数据
const values = [id];
const userId = req.params.id;
console.log(userId,'userId');
const sql = "DELETE FROM user WHERE id = ?";
connection.query(sql, values, (err, results) => {
console.log(err,'err');
console.log(results,'results');
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
再来调用我们的删除
// 删除用户数据 DELETE请求处理程序
app.delete('/api/user/:id', (req, res) => {
const id = req.params.id;
const values = [id];
const sql = "DELETE FROM user WHERE id = ?";
connection.query(sql, values, (err, results) => {
console.log(err,'err');
console.log(results,'results');
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
请求发现我们地址已经成为了
http://localhost:8888/api/user/5
刷新数据库,果然我们删除已经成功了!
到这里我们已经实现了增删改查,接下来下一节就是插入一些额外针对我们的增删改查进行优化和处理。
转载自:https://juejin.cn/post/7371680722661965859