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

如何将MySQL查询结果按行提取并保存为变量

提取MySQL查询结果中的字段并赋值变量

你当前通过mysql模块查询得到的result是一个数组,数组内的RowDataPacket对象可以像普通JavaScript对象一样直接访问属性,下面分两种场景说明提取字段的方法:

处理单条数据(LIMIT 1的情况)

直接通过数组索引获取第一个结果对象,再访问email属性即可完成赋值:

var mysql = require('mysql');

var con = mysql.createConnection({
    host: "123.456.123.456",
    user: "user",
    password: "pass",
    database: "db"
});

con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT * FROM orders LIMIT 1", function (err, result, fields) {
        if (err) throw err;
        // 提取email字段赋值给变量
        const email = result[0].email;
        console.log(email); // 输出对应的邮箱地址
        // 后续流程可直接使用email变量
        con.end();
    });
});

处理多条数据(表内三行数据的情况)

如果要查询所有三行数据并提取每一行的email,可以遍历结果数组来处理:

var mysql = require('mysql');

var con = mysql.createConnection({
    host: "123.456.123.456",
    user: "user",
    password: "pass",
    database: "db"
});

con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT * FROM orders", function (err, result, fields) {
        if (err) throw err;
        // 用数组存储所有提取出的email
        const emails = [];
        // 遍历每一行数据
        result.forEach(row => {
            const email = row.email;
            emails.push(email);
            // 此处可对单个email执行后续业务逻辑
            console.log(email);
        });
        // 后续可通过emails[0]、emails[1]、emails[2]分别调用三行数据的邮箱
        con.end();
    });
});

额外提示

为避免查询结果为空时出现报错,建议增加非空判断:

if (result.length > 0) {
    const email = result[0].email;
    // 执行后续操作
} else {
    console.log("未查询到任何数据");
}

内容的提问来源于stack exchange,提问作者Kyle T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:42:51