肝了一周。。终于把 node 、koa 的基础知识学完了。。长舒一口气。。看了一下工作中中间层的代码,大部分都能看懂了,还是很有收获的,下面我就开始实战了,实战中的项目参考了 从0 到 1 搭建微博、书籍《 Koa 和 Node.js 开发实战》这两个项目,下面把项目中的收获记录在这里。这两个项目 的 技术选型:vue + node + koa + mysql + ejs
微博的项目我准备手打代码:https://github.com/123luckybing/sina_weibo.git ,代码放在 github 上了
《 Koa 和 Node.js 开发实战》就准备把书看一遍,不打代码了。。话不多说。。继续开始肝了。。。
时间安排:从 0 到 1 搭建微博准备7天 完成吧,《 Koa 和 Node.js 开发实战》看书的话 3天吧,还有 《深入浅出 Node.js 》这本书也得看一下,先放到以后再说吧。。捂脸哭。。。
(一)数据库知识 增删改查
// 增
insert into <表名> (列名) values (列值)
// 举例
insert into area(province, type, year, firstScore, secondScore, thirdScore) values ('黑龙江', '文科', '2015','495','410','333')
// 删
delete from 表名称 where 列名称 = 值
// 举例
delete from users where username = 'zfb'
// 改
update <表名> set <列名=更新值> where <更新条件>
// 举例
update area set realName='lisi' where id=3
// 查:
select <列名> from <表名> where <查询条件表达试> order by <排序的列名>[asc或desc]
// 举例
select * from area where username='zhangsan' and password='123'
// 模糊查询:
// username中含有zhang的 zhang前后加%
selct * from area where username like '%zhang%' or username='lisi'
// 排序
select * from area where username='zhangsan' order by id; // (按照id排序,默认升序)
select * from area where username='zhangsan' order by id desc; // (降序)
// 查询总数
select count(任意一列的列名) as `count` from 表名
select count(id) as `count` from ' users
// count 是关键字 需要转义一下
// 分页查询
select * from 表名称 order by desc/asc limit 每页数量 offset 页数
select * from blogs order by desc limit 20 offset 20
// 连表查询
select * from 表名 inner join 表名 on 信息=信息
// 举例
select * from blogs inner join user on users.id = blogs.userId
外键:
(1)背景:
比如两个表,博客表以及用户表,当用户改了自己的昵称,不仅仅用户表昵称字段需要修改,博客表用户昵称也需要修改,将这两个表的字段连起来,这就是外键
(二)koa 前缀路由
const router = new Router({
prefix: '/zz' // 定义前缀
});
(三)在项目中安装 mysql 数据
这样就可以通过服务端操控数据库了
具体步骤参考官方文档:https://www.npmjs.com/package/mysql
在项目中把请求的查询自己封装一下,封装成Promise