简单的学习一下node吧——还在学习中~~~
运用自己的业余时间学习学习node.js+koa+mysql,制作简单点的小例子,代码写的有点随意,我这里只相当于提供一个引子,升华部分还是需要大家自己去成长,相比来说koa要比express好用许多,没事大家可以自己学习学习,多学习一点东西总是好的!
项目地址https://github.com/iopwanglei...
1.使用数据库管理navicat for MySQL 破解版地址
https://blog.csdn.net/chandddlleerr/article/details/74606548
2.navicat 连接失败解决方案
https://blog.csdn.net/u013700358/article/details/80306560
3.联合查询
* user表CREATE TABLE IF NOT EXISTS user (uid int(11) NOT NULL,username varchar(30) NOT NULL,password char(32) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;+-----+-----------+----------+| uid | username | password |+-----+-----------+----------+| 1 | 张翰 | 123456 || 2 | 李二蛋 | 1235531 || 3 | 李文凯 | 123455 || 4 | 安小超 | 12311q || 5 | 韩小平 | 1asdas || 6 | 张三 | 123555 |+-----+-----------+----------+* order_goods表CREATE TABLE IF NOT EXISTS order_goods (oid int(11) NOT NULL,uid int(11) NOT NULL,name varchar(50) NOT NULL,buytime int(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;+-----+-----------+----------+| oid | uid | name | buytime |+-----+-----------+----------+| 1 | 6 | 张翰 | 123456 || 2 | 1 | 李二蛋| 1235531 || 3 | 2 | 李文凯| 123455 |+-----+-----------+----------+* sql的left join 、right join 、inner join之间的区别left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行* 内连接查询: select表,字段uid,username[as]使用别名,select order_goods表,字段(和前边一样)inner join 表(order_goods)on 条件 = 匹配条件select user.uid ,user.username as username,order_goods.oid,order_goods.uid,order_goods.name as shopname from user inner join order_goods on user.uid = order_goods.uid;* 外连接 左连接:select 表(user)以左表(user)为主,显示, on 条件select * from user left join order_goods on user.uid = order_goods.uid;* 外连接 右连接:以右表为主显示核对成功的即on的条件成立的SELECT * FROM `user` RIGHT JOIN order_goods on user.uid = order_goods.uid;* 子查询 : 子查询的关键字包括in、not in、=、!=、exists、not exists等。select * from user where uid in (1,2,3); 查询user表中uid 为1,2,3的数据select * from user where uid in (select uid from order_goods); 查询order_goods表中uid和user表中相同的,在user表中展示* 交叉连接: CROSS JOINSELECT * FROM user CROSS JOIN order_goods; 自行查看展示
4.安装koa等所需
npm i koa //使用async await 异步须node版本为7.6.0以上npm i koa-routernpm i koa-bodyparser //解析中间件npm i mysql
5.目录结构
6.config文件下mysql.js 数据库连接池
const mysql = require('mysql');
// 创建连接池
let pool = mysql.createPool({host: '127.0.0.1', // 主机user: 'root', // mysql认证用户名password: '789456', // mysql用户密码port: '3306', // 端口database: '数据库'
});let query = ( sql, values ) => {return new Promise(( resolve, reject ) => {pool.getConnection(function(err, connection) {if (err) {reject( err )} else {connection.query(sql, values, ( err, res) => {if ( err ) {reject( err )} else {resolve( res )}connection.release()})}})})
}
module.exports = query;
7.路由user_router.js,这里需要调用servse文件中的user_servse.js里面的方法
const router = require('koa-router')();
const user = require('../servse/user_servse.js');
const routers = router.post('/add', user.selectData);
module.exports = routers;
8.路由index.js使用
const router = require('koa-router')();
const user = require('./user_router.js');router.use(user.routes(), user.allowedMethods())module.exports = router;
9.user_servse.js方法,以及sql语句,引入mysql.js
const query = require('../config/mysql.js');
// 新增插入数据查询条件
let insert = 'INSERT INTO `goods` (`oid`, `uid`, `name`, `buytime`) VALUES (?, ?, ?, ?)';const user = {async selectData(ctx) {let data = ctx.request.bodylet userAddParams = [data.oid,data.uid,data.name,data.buytime];if(Object.keys(data).length > 0) {try {await query(insert, userAddParams);ctx.response.body = {status: 200,description: 'ok',result: data}} catch(err) {ctx.response.body = {status: 404}}}}
}
module.exports = user;
10.app.js启动文件
const Koa = require('koa');
const app = new Koa();
const bodyParser = require('koa-bodyparser');
const routers = require('./router/index');// 配置ctx.body解析中间件
app.use(bodyParser())// 初始化路由中间件
app.use(routers.routes()).use(routers.allowedMethods())app.listen(3000);
学习资料 喜欢的童鞋点个赞
1.http://mysql.phpxy.com/75314
2.http://www.manongjc.com/artic...
3.http://www.runoob.com/mysql/m...
简单的学习一下node吧——还在学习中~~~相关推荐
- vue+node.js前后端交互中的token令牌验证
这篇文章分享一下本人学习vue+node.js前后端交互中的登录token令牌的心得 最近准备写一个个人博客网站,前端采用的是vue+element,后端用node.js 在做用户登录的时候就想到 如 ...
- JavaScript 的进阶学习 (Node.js)_01
Node的学习 Node.js 是一个基于 Google 所开发的浏览器 Chrome V8 引擎的 JavaScript 运行环境. 属于 服务端的 JavaScript . 2019.03.01 ...
- JavaScript之后端Web服务器开发Node.JS基本模块学习篇
JavaScript之后端Web服务器开发Node.JS基本模块学习篇 基本模块 fs文件系统模块 stream支持流模块 http crypto加密模块 基本模块 因为Node.js是运行在服务区端 ...
- 2021 年 Node.js 开发人员学习路线图
前言:总有小伙伴问 Node.js 如何深入学习,本文是一个不错的学习大纲. Node.js 自发布以来,已成为业界重要破局者之一.Uber.Medium.PayPal 和沃尔玛等大型企业,纷纷将技术 ...
- keras实现简单lstm_深度学习(LSTM)在交通建模中的应用
上方点击蓝字关注? 在简单了解了LSTM原理之后,本期我将以航班延误预测为例为大家介绍一下如何利用Python编程来构建LSTM模型. 这里我们要用到一个高级的深度学习链接库--Keras,它以Ten ...
- 学会了PowerBI简单的托托拽拽,是时候学习下DAX了
学会了PowerBI简单的托托拽拽,是时候学习下DAX了 不学好DAX,PowerBI对你来说就是个娱乐工具. 对于学习PowerBI来说,看起来一切都很简单,但是不会DAX的话你永远不能说自己已经会 ...
- js学习(node.js环境)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] javascript之前一般用于web前端开发(比如jquery等等),然而由于node.js的 ...
- 2018年php还是python好_2018年PHP还值得学习吗?
年过完了,也要恢复紧张繁忙的工作状态了.任何事情都有惯性,从一个每天吃喝玩乐+旅游的状态,切换到每天都要写代码.写文章.赶项目的状态,确实有点吃不消. 好了,恢复正题.今年最火的话题莫过于:区块链.人 ...
- 【node学习】node.js
一.node与浏览器的区别 1.生态系统不同 没有document.window以及其他对象(比如cookies) 2.运行环境 在node中,可以选择运行环境,不需要像浏览器端那样去做适配. 3.模 ...
最新文章
- Python学习者可能存在的几个问题,你遇到过吗?
- tomcat默认用户名密码修改
- java学习(9):巩固练习
- thinkphp 5.0 代码执行漏洞
- 计算机的屏幕录像,如何进行电脑屏幕录像?电脑录制屏幕视频的方法|电脑屏幕录像的图文步骤...
- 男人必看十大电影 VS 女人必看十大电影
- 设计模式---外观(Facade)模式
- java 公交管理系统 代码_java公交线路管理系统
- 你可能被openURL给坑了
- php程序员要不要转java
- 【每日早报】2019/08/12
- 并发编程-多线程基础
- python光棍节快乐_2020年光棍节快乐的祝福语10句
- SEO解析:seo优化网站外链建设的方法! ! !
- ERR_SSL_PROTOCOL_ERROR浏览器解决办法
- 用c语言写的跟踪算法,浅谈STC跟踪算法
- CSDN 简单的MD编辑器-基础知识
- linux 显卡检测工具,显卡欺骗器状态检测及安装注意事项
- sqlserver字符串截取
- FamaMacBeth1973两步法详解-xtfmb-asreg