连接 MySQL 数据库的过程可以分为以下几个步骤:
1. 创建数据库
在 MySQL 中通过 SQL 语句来创建一个新的数据库,例如:
CREATE DATABASE database_name CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
其中 database_name
是你想要创建的数据库的名称,utf8mb4
和 utf8mb4_unicode_ci
分别设置字符集和排序规则。
2. 创建数据表
在创建好数据库后,我们需要在其中创建我们需要存储数据的数据表。可以通过 SQL 语句来完成表的创建,例如:
CREATE TABLE table_name (
id INT(11) NOT NULL,
name VARCHAR(50) NOT NULL,
age INT(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
其中 table_name
是你想要创建的数据表的名称,id
、name
和 age
分别为表中的字段名称和数据类型,PRIMARY KEY
用于设置主键。
3. 配置 MySQL 数据库连接
在微信小程序中,可以使用第三方插件 wx-server-sdk
来连接 MySQL 数据库。需要在小程序后台的「设置」-「第三方服务」中申请使用插件并获取 appid
和 appsecret
。然后在 app.js
文件中添加以下代码:
// 引入模块
const cloud = require('wx-server-sdk')
const mysql = require('mysql2/promise')
// 初始化云开发
cloud.init()
// 导出云函数
exports.main = async (event, context) => {
// 创建数据库连接
const connection = await mysql.createConnection({
host: 'localhost',
user: 'user_name',
password: 'user_password',
database: 'database_name'
})
// 查询数据库
const [rows] = await connection.execute('SELECT * FROM table_name')
// 返回查询结果
return {
code: 0,
data: rows
}
}
其中 host
、user
、password
和 database
分别为 MySQL 数据库的连接信息,execute
方法用于执行 SQL 语句并返回结果。
4. 在小程序中调用云函数
在小程序中通过 wx.cloud.callFunction
方法调用云函数,并在回调函数中处理返回结果。例如:
wx.cloud.callFunction({
name: 'mysql',
success: res => {
console.log(res.result)
},
fail: err => {
console.log(err)
}
})
其中 mysql
为需要调用的云函数的名称。
示例 1:向 MySQL 数据库中插入数据
exports.main = async (event, context) => {
// 解析参数
const { name, age } = event
// 创建数据库连接
const connection = await mysql.createConnection({
host: 'localhost',
user: 'user_name',
password: 'user_password',
database: 'database_name'
})
// 插入数据
await connection.execute('INSERT INTO table_name (name, age) VALUES (?, ?)', [name, age])
// 返回结果
return {
code: 0,
message: 'Success'
}
}
其中 name
和 age
分别为需要插入的数据。通过 execute
方法执行插入操作。
示例 2:查询 MySQL 数据库中的数据
exports.main = async (event, context) => {
// 创建数据库连接
const connection = await mysql.createConnection({
host: 'localhost',
user: 'user_name',
password: 'user_password',
database: 'database_name'
})
// 查询数据
const [rows] = await connection.execute('SELECT * FROM table_name')
// 返回结果
return {
code: 0,
data: rows
}
}
通过 execute
方法执行查询操作,并将结果返回到小程序中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序连接MySQL数据库的全过程 - Python技术站