一、小程序连接MySql数据库
前言:我用的是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数据库的更多相关文章
- 语言小知识-MySQL数据库引擎
MySQL作为全世界广受欢迎的数据库,被用于很多中小型的项目中,但是你对 MySQL 数据库的存储引擎了解多少呢? 我们将逻辑表中的数据存储到数据库中,数据库又将我们表中的数据存储到物理设备中(如磁盘 ...
- 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题
一.背景 最近在家里捣鼓一个公司自己搭建的demo的时候,发现程序一启动就会出现CommunicationsException: Communications link failure错误,经过一番排 ...
- java程序连接MySQL数据库
驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; ...
- 用微信小程序连接leancloud数据库注意事项~
具体步骤转载如下: 官网教程 大佬提示 注意事项: 1.下载的av-weapp-min.js,需要放在当前项目名称的子目录pages下 2.如上述教程,需要注册leancloud和AppID,并写在a ...
- 【C++】VS2015/VS2017连接Mysql数据库教程
要给C++程序连接MySQL数据库,分别需要: 安装MySQL Server 下载MySQL Connector/C++ 在IDE中配置依赖 然后就可以在代码中调用API,来连接以及操作数据库. 一. ...
- 【转】myeclipse中连接mysql数据库
1. 环境配置 下载地址: http://www.mysql.com/downloads/mysql/ 真麻烦,下载的话还需要注册和登录以及填个表.上面的信息还挺全的,乱填的信息也是可以接受的~~ ...
- 《mysql数据库备份小脚本》(转)
vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...
- 《mysql数据库备份小脚本》
vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...
- mysql数据库小常识
什么是数据库? 计算机处理和存储的一切信息都是数据. 计算机系统中一种用于存储数据的程序. 一种:计算机系统中有很多种能够存取数据的程序. 他们各有特长和长处,有自己的适用范围. 存取:能够保存数据避 ...
随机推荐
- jQuery源代码学习笔记_bind
一般想到JS的兼容性问题的时候,首先会想到addEventListener与attachEvent这一对冤家,那么我们先来看看它们有什么兼容性问题 addEventListener与attachEve ...
- WPF 正確理解ContentPresenter
我們先由下圖來看類層次,可知ContentControl繼承Control,ContentPresenter繼承FrameworkElement(Control也繼承FrameworkElement) ...
- Git 设置 Hook
Git 设置 hook Hook 就是钩子,在需要的时候调用,根据每个钩子脚本(函数)的返回值决定下一步的操作. 在使用 Git 的过程中,有时候需要定制 Git 以便满足实际的需求. 需求 在一个项 ...
- Model对象嵌套list赋值方式(备忘)
首先定义Model对象:var deliveryInfoModel = new DeliveryInfo(); 第二步定义嵌套的list对象:var list = new List<Delive ...
- Eureka与ZooKeeper 的比较
Eureka的优势 1.在Eureka平台中,如果某台服务器宕机,Eureka不会有类似于ZooKeeper的选举leader的过程:客户端请求会自动切换到新的Eureka节点:当宕机的服务器重新恢复 ...
- (生产)js-base64 - 转码
参考:https://github.com/dankogai/js-base64 安装 $ npm install --save js-base64 使用 var Base64 = require(' ...
- Android基础Activity篇——Toast
1.Toast Toast在英文中有烤面包的意思,而在安卓开发中是用来提醒用户的消息显示.我猜这里之所以用Toast为该功能命名可能是因为消息的弹出方式就像面包烤好了从面包机中弹出来一样. 2.使用T ...
- [SVN]TortoiseSVN工具培训4─客户端常用操作命令
1.权限认证 当进行SVN任何操作时,如果是首次操作,SVN会弹出权限认证. 输入用户名和密码点击确认即可完成认证. 勾选保存用户数据信息,可以避免将来重复输入用户名和密码认证. 2.删除权限认证信息 ...
- lucene查询解析器语法
注意:使用QueryParser查询,关键词是会被分词的,如果不需要分词,可以选择使用Lucene提供的API查询类. Lucene提供了丰富的API来组合定制你所需要的查询器,同时也可以利用Quer ...
- Spring Boot入门程序
创建第一个Spring Boot的入门程序. 带你一步一步的,搭建第一个Spring Boot 的入门程序,并成功运行,通过实践过程,初步认识和了解如何使用Spring Boot 创建应用程序. 一. ...