node大部分方法都是异步的,在操作数据库方法后面紧接着输出结果,输出的结果只会为空值,使用promise及其方便的解决这个问题,接下来看看node如何使用路由来处理不同请求,进而操作mysql数据库

一、引入相关依赖

node中默认没有mysql,需要使用npm i mysql指令进行安装

const http = require('http');

const url = require('url');

const queryStr = require('querystring');

var mysql = require('mysql');

二、连接mysql数据库

配置本地mysqli数据库相关参数

var connection = mysql.createConnection({

host: 'localhost',*

user: 'root',*

password: '你的数据库密码',

*database: 'xxxx'

});

connection.connect();

三、使用promise async,await封装处理异步问题的函数

// Promise async,await解决异步问题

function fn(sql, data = []) {

return new Promise((success) => {

connection.query(sql, data, function (error, results) {

if (!error) {

success(results)

}

});

})

}

四、node启动服务

通过判断请求路径来给与请求不同的响应,调用promise处理异步问题

var obj = {};*

http.createServer(async (req, res) => {

res.writeHead(200, {*

'Content-Type': 'text/html; charset=utf-8'

});

// 解析请求路径以及参数

const { pathname, query } = url.parse(req.url);

if (pathname != '/favicon.ico') {*

switch (pathname) {

case '/':

var sql = "select * from user";

var result = await fn(sql);

obj = {

code: 1,

data: result

}

break;

case '/list':*

var data = queryStr.parse(query).tel;

console.log(data);*

*var sql = `select * from user where tel =${data}`;

var result = await fn(sql);

console.log(result);

obj = {

code: 2,

data: result

}*

break;

}

}

res.end(JSON.stringify(obj));

}).listen(10086)

console.log('http:localhost:10086');

mysql 数据路由_node-路由操作mysql数据库相关推荐

  1. perl mysql 数据推拉_Perl操作Mysql数据库

    1. CGI变量简介 如果你在以前使用过传统的CGI,你应该对"CGI变量"的概念很熟悉. 由这些变量可以取得一些和请求(Request)有关的信息.其中一些来自于 HTTP 请求 ...

  2. perl mysql 数据推拉_MySQL_Perl操作mysql数据库的方法,Perl对Mysql的操作。 一、标准 - phpStudy...

    Perl对Mysql的操作. 一.标准操作 1.连接.关闭 my $dbh = DBI->connect("DBI:mysql:database=DBname;host=localho ...

  3. 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤

    转载链接 : 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤 :https://www.jianshu.com/p/58093888ee25 本文背景: 现有项目系统 ...

  4. MySql数据库主键外键与数据库设计

    MySql数据库主键外键与数据库设计 首先要指出的: 列.字段.属性是一个概念 行.记录.元组是一个概念 MySQL数据库CONSTRAINT约束:非空约束,唯一约束,主键约束,外键约束 show c ...

  5. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary>/// MySql 数 ...

  6. js修改mysql数据库数据_Node.js操作mysql数据库增删改查

    关于node.js操作mysql数据库的相关介绍请阅读全文吧.下文介绍的非常详细,具体内容如下所示: 安装mysql模块 npm install mysql 数据库准备 mysql server所在的 ...

  7. qt 不显示 mysql 数据表中的内容_qt 数据库操作总结

    整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql ). 转载于:https://www.cnblogs.com/lsgxeva/p/7852102.html 首先,要查 ...

  8. python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...

    Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF- ...

  9. PHP访问mysql的常用函数,PHP操作MySQL数据库常用函数

    PHP操作MySQL数据库常用函数 php操作mysql数据库,俗称天龙八步: 第一步:连接数据库 第二步:判断连接错误 第三步:选择数据库 第四步:设置字符集 第五步:准备SQL语句 第六步:执行并 ...

最新文章

  1. Leetcode 4.28 Tree Easy
  2. find命令应用详解
  3. visual basic6.0企业版
  4. 关于element click intercepted报错解决办法
  5. 在vue单页应用中使用jquery
  6. drbd(三):drbd的状态说明
  7. 2017 最值得关注的十大 APP、Web 界面设计趋势
  8. c linux time微秒_Linux基础知识(Linux系统、Linux中的链表)
  9. 设计模式快速学习(五)原型模式
  10. 循环执行次数 n(n+1)/2
  11. 析砂性土层php泥浆护壁,砂卵石层钻探护壁工艺分析
  12. 批量替换_【脚本】AE照片墙模板图片批量替换脚本Multi Replacer
  13. 快速解决Git最常见问题
  14. ENVI入门系列教程---一、数据预处理---7.图像镶嵌
  15. 2602 最短路径问题
  16. JavaScript 学习笔记4
  17. excel删除行闪退_xp系统打开excel表格就闪退怎么回事_xp打开excel表格闪退如何解决...
  18. 聚类算法-密度聚类算法DBSCAN
  19. 11-TensorFlow 基于ResNet的轴承故障诊断
  20. 互联网最新创新创业项目

热门文章

  1. WebLogic Classloader分析工具
  2. Java依赖注入选项
  3. Java堆空间,本机堆和内存问题
  4. Vaadin应用程序中的EJB查找
  5. Java最佳实践–队列之战和链接的ConcurrentHashMap
  6. MySQL数据库修改用户登录密码的三种方式
  7. IntelliJ IDEA for Windows 默认模式下的快捷键
  8. oracle创建一个表同已存在表结构一样
  9. 类似TH养车的电商系统设计思路
  10. python编写程序时必须遵守的规则被称为_Python程序设计方案习题与答案