因为这个是为了我自己的博客搭建的,所以里面有个最重要的内容。
文件的增删查改一般会用到数据库的几个最基本的功能。
新增:insert
删除:delete
查询:select
修改:update
已知,文章的主要结构是“标题,内容,时间”,加上次要内容“分类,标签”,新增文章的sql语句可以这样写
createArticle:insert into article(id,title,content,tags,catalogId,createDate) values(0,?,?,?,?,now())
插入的数据,需和前面的内容一一对应。
这里插入插入的now(),是插入当前系统的时间。就是明确的知道自己是在什么时候新增的这条数据
回到node.js里,
此前我们的注册登录功能写再了user.js
里,所以,我们的有关文章得到功能,就可以新建一个article.js
。
//登录功能
router.post('/create',(req,res)=>{
let sql = $sql.article.createArticle //sql语句,为什么这么写上一篇说过
let params = req.body
db.query(sql, [params.title, params.cid, params.tags, params.content, params.createDate], (result, fields) => {
if (result) {
let aid = result.insertId;
//返回了一个文章的id
resData.data = {
'aid': aid
}
resData.message = "创建成功"
res.json(resData)
}
})
})
只要插入不报错,那么文章就是成功的插入去了
删除文章其实就很简单,删除指定的文章,就用文章的id号来删除
比如
delete:delete from article where aid = ?
主要逻辑这么写
router.post('/delete',(req,res)=>{
let sql = $sql.article.delete//sql语句,为什么这么写上一篇说过
let params = req.body
db.query(sql,[params.aid],(result,fields)=>{
if(result){
if(result.length == 0){
resData.code = 300;
resData.message="没有找到你的文章哦~"
res.json(resData)
}else{
resData.message = "删除成功!"
res.json(resData)
}
}
})
})
查询就更简单了
select * from article where aid = ?
逻辑我觉得都可以不写了,因为和上面的都大同小异,没有什么太大的区别。
update:update articles set title = ?,cid = ?,content = ? where aid = ?
这里修改的东西,可以随着自己的功能来修改,主要逻辑和之前也没什么区别。偷个懒也就不写了。
文章里面的东西,其实就这么几样,当然,可能还涉及到文章分类的增删查改,标签的增删查改
查询里面暂且还有一个 分页查询,还再思考sql怎么写…