前言:我用的是wafer2 node.解决方案 下面连接有环境配置及搭建流程(https://github.com/tencentyun/wafer2-quickstart-nodejs) ,连接是官方的可以点击

一、配置mysql 数据库连接参数

  打开 server下面的config.js

  user  默认都是 'root'

  db     为连接是数据库名

  pass  默认为小程序APPID

  

  注意这里有个坑:host开发环境下要填localhost,不要填分配给你的域名,我就手贱的修改了这里,结果找了1个小时才找到问题原因

二、Hello World

  先说一下文件结构

    server>controllers 文件夹下面放置的都是接口文件

    server>routes 下面的 index.js 为接口路由

  1.在controllers 下建立一个demo.js 的文件 输入下面的代码

 module.exports = ctx => {
ctx.state.data = {
msg: 'Hello World'
}
}

  如图:

  

  2、打开 index.js

  在module.exports = router 前面加入

 router.get('/demo',controllers.demo)

  3.更新腾讯云后

  打开浏览器输入 https://分配的二级域名/weapp/demo

  

  更新后浏览器显示

  

  三、链接MySql

  在 demo.js添加如下代码

 const { mysql } = require('../qcloud')

 module.exports = async ctx => {
var result = await mysql('user')
ctx.state.data = {
msg: result
}
}

  更新腾讯云后访问浏览器就可以获得你想要的数据了

  如图

  

  更多数据操作,knex.js 了解一下

  附上我的demo.js

 // 官网 Demo
// module.exports = ctx => {
// ctx.state.data = {
// msg: 'Hello World'
// }
// } const { mysql } = require('../qcloud') module.exports = async ctx => {
var result = await mysql('user')
//sql:select * from `user`
ctx.state.data = {
msg: result
}
}
// =======================================================================================
// select
// 显示指定字段:var result = await mysql.select('name', 'id').from('user')
// sql:selece 'name', 'id' from `user`; // 条件查询:var result = await mysql.select('id','name','openid' ).from('user').where('id',2)
// sql: select 'id','name','openid' form `user` where id=2; // =======================================================================================
// update
// var result = await mysql('user').update({ name: 'root', openid: 'xubde724xie=395' }).where('id', 2)
// sql:update `user` set name='root', openid='xubde724xie=395' where id=2; // =======================================================================================
// delete
// var result = await mysql('user').del().where('id', 3)
// sql:delete from `user` where id=3 // =======================================================================================
// insect
// var result = await mysql.insert({ name: 'cain' }, { openid: 'Ux6892Drfixbx'}).into('user')
// var result = await mysql('user').insert({ name: 'cain', openid: 'Ux6892Drfixbx' })
// sql: insert into `user` (`name`, `openid`) values (`cain`, `Ux6892Drfixbx`)
// 两种均可
// 会返回插入条目id序号 注意传入的数据类型与表字段的数据类型不符不会报错

【版权声明】转载请注明出处:https://www.cnblogs.com/cain-z/p/9302170.html

一、小程序连接MySql数据库的更多相关文章

  1. 语言小知识-MySQL数据库引擎

    MySQL作为全世界广受欢迎的数据库,被用于很多中小型的项目中,但是你对 MySQL 数据库的存储引擎了解多少呢? 我们将逻辑表中的数据存储到数据库中,数据库又将我们表中的数据存储到物理设备中(如磁盘 ...

  2. 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题

    一.背景 最近在家里捣鼓一个公司自己搭建的demo的时候,发现程序一启动就会出现CommunicationsException: Communications link failure错误,经过一番排 ...

  3. java程序连接MySQL数据库

    驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; ...

  4. 用微信小程序连接leancloud数据库注意事项~

    具体步骤转载如下: 官网教程 大佬提示 注意事项: 1.下载的av-weapp-min.js,需要放在当前项目名称的子目录pages下 2.如上述教程,需要注册leancloud和AppID,并写在a ...

  5. 【C++】VS2015/VS2017连接Mysql数据库教程

    要给C++程序连接MySQL数据库,分别需要: 安装MySQL Server 下载MySQL Connector/C++ 在IDE中配置依赖 然后就可以在代码中调用API,来连接以及操作数据库. 一. ...

  6. 【转】myeclipse中连接mysql数据库

    1. 环境配置 下载地址:   http://www.mysql.com/downloads/mysql/ 真麻烦,下载的话还需要注册和登录以及填个表.上面的信息还挺全的,乱填的信息也是可以接受的~~ ...

  7. 《mysql数据库备份小脚本》(转)

    vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...

  8. 《mysql数据库备份小脚本》

    vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...

  9. mysql数据库小常识

    什么是数据库? 计算机处理和存储的一切信息都是数据. 计算机系统中一种用于存储数据的程序. 一种:计算机系统中有很多种能够存取数据的程序. 他们各有特长和长处,有自己的适用范围. 存取:能够保存数据避 ...

随机推荐

  1. mysql-proxy读写分离,负载均衡

    配置mysql-proxy,创建主配置文件 cd /usr/local/mysql-proxy mkdir lua #创建脚本存放目录 mkdir logs #创建日志目录 cp share/doc/ ...

  2. 《nginx 二》深入理解nginx的各项配置

    Nginx应用场景 1.http服务器.Nginx是一个http服务可以独立提供http服务.可以做网页静态服务器. 2.虚拟主机.可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机. 3. ...

  3. java.lang.IllegalArgumentException: Page directive: invalid value for import 问题处理

    1.问题说明: 项目原来用的tomcat版本是apache-tomcat-6.0,后来为了安全原因将版本升至apache-tomcat-7.0,发现有的jsp页面出现下面的异常: java.lang. ...

  4. android finish和system.exit(0)的区别

    finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理:当调用System.exit(0)时,杀死了整个 ...

  5. 设计模式之工厂模式详细读后感TT!(五)

    一如既往:原文 工厂方法(factory method)模式的意义是定义一个创建产品对象的工厂接口, 将实际创建工作推迟到子类当中. 核心工厂的创建, 这样核心类成为一个抽象工厂角色, 仅仅复制工厂子 ...

  6. JS判断web网站访问端是PC电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! <script type="text/javascript"> <!-- //平台.设备和操 ...

  7. Objective-C #define 用法解析 (转)

    原文地址: http://blog.csdn.net/kindazrael/article/details/8108868 Objective-C : #define 用法解析 在 C 语言中,预处理 ...

  8. gulp 无损压缩图片

    在做项目中,美工有时候会给一些比较大的图片,在做网站的时候,图片太大会影响加载速度.因此,我们需要无损压缩图片. 在尝试过几个压缩图片的方法,发现gulp中的gulp-tinypng-nokey插件是 ...

  9. #include stdio.h(6)

    #include <stdio.h> int main() { //**************3.字符数组************** ] = {'i','P','\0','o','n' ...

  10. One special dictionary

    由于项目一个功能需要,可以将关键字的值叠加加来,最终可以获取对这些关键字都做了些什么操作. Generic Programming is very powerful. /// <summary& ...