You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML转JSON后如何将数据推送至MySQL存储过程(已尝试Postman)

将JSON数据推送至MySQL存储过程

1. 编写支持JSON解析的存储过程

MySQL原生支持JSON类型与JSON处理函数,你可以直接在存储过程中传入JSON参数,解析后执行插入/更新操作。以下是处理单用户数据的示例:

DELIMITER //
CREATE PROCEDURE InsertUserFromJSON(IN user_json JSON)
BEGIN
    -- 提取JSON中的字段值
    SET @name = JSON_UNQUOTE(JSON_EXTRACT(user_json, '$.name'));
    SET @email = JSON_UNQUOTE(JSON_EXTRACT(user_json, '$.email'));
    SET @age = JSON_EXTRACT(user_json, '$.age');
    
    -- 插入到用户表(假设表结构为users(name, email, age))
    INSERT INTO users (name, email, age) VALUES (@name, @email, @age);
END //
DELIMITER ;

如果是批量用户的JSON数组,可使用JSON_TABLE批量解析:

DELIMITER //
CREATE PROCEDURE InsertBatchUsersFromJSON(IN users_json JSON)
BEGIN
    INSERT INTO users (name, email, age)
    SELECT name, email, age
    FROM JSON_TABLE(
        users_json,
        '$[*]' COLUMNS(
            name VARCHAR(50) PATH '$.name',
            email VARCHAR(100) PATH '$.email',
            age INT PATH '$.age'
        )
    ) AS user_data;
END //
DELIMITER ;

2. 调用存储过程

通过SQL客户端直接执行调用语句:

-- 单用户数据
CALL InsertUserFromJSON('{"name":"张三","email":"zhangsan@example.com","age":25}');

-- 批量用户数据
CALL InsertBatchUsersFromJSON('[{"name":"张三","email":"zhangsan@example.com","age":25},{"name":"李四","email":"lisi@example.com","age":30}]');
通过Postman将JSON数据传入MySQL

Postman无法直接连接MySQL,需要通过后端接口作为中间层转发请求,以下是基于Node.js + Express的实现示例:

1. 搭建后端接口

先安装依赖:

npm install express mysql2

编写接口代码(app.js):

const express = require('express');
const mysql = require('mysql2/promise');
const app = express();
app.use(express.json());

// MySQL连接配置
const dbConfig = {
    host: 'localhost',
    user: '你的数据库用户名',
    password: '你的数据库密码',
    database: '你的数据库名'
};

// 接收JSON并调用存储过程的接口
app.post('/submit-user', async (req, res) => {
    try {
        const conn = await mysql.createConnection(dbConfig);
        await conn.execute('CALL InsertUserFromJSON(?)', [JSON.stringify(req.body)]);
        await conn.end();
        res.status(200).send('数据插入成功');
    } catch (err) {
        res.status(500).send('插入失败:' + err.message);
    }
});

app.listen(3000, () => {
    console.log('服务器运行在http://localhost:3000');
});

2. 使用Postman发送请求

  • 选择POST方法,输入接口地址:http://localhost:3000/submit-user
  • 切换到Body标签,选择raw,格式下拉框选JSON
  • 输入用户JSON数据:
    {
        "name": "张三",
        "email": "zhangsan@example.com",
        "age": 25
    }
    
  • 点击Send,即可将JSON数据通过接口传入MySQL

内容的提问来源于stack exchange,提问作者SUMIT KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:33:26