使用JavaScript函数在浏览器中批量生成SQL语句【测试成功】

艺帆风顺 发布于 2025-04-03 27 次阅读


一、需求背景

    存在csv格式的个人信息数据,需要将其中的数据提取身份证字段并匹配已有 PERSONAL_INFO数据库内容,更新IDENTITY_CARD字段

    csv中数据格式如下:

"","孟X","男","汉族","19XX-05-04","研究生","","187XXX66","6105XXXXXX91X","","","","","","","","","","","","西安市XXXX号","","","","","","","","正式党员","2008-12-20","2009-12-20","正式党员","中共XX会","正常"

    根据PERSON_NAME PHONE字段双重匹配。

二、需求实现

function genSql(str) {
    const rows = str.split('n');
    const result = rows.map(row=> {
        const arr = row.split(',');
        return `update PERSONAL_INFO set IDENTITY_CARD=${arr[8]} where PERSON_NAME=${arr[1]} and PHONE=${arr[7]}`
    }).join('n');
    console.log(result);
}

    这是一个JavaScript函数,名为genSql。它接受一个字符串参数str,该字符串包含多行数据,每行数据由逗号分隔。函数的目的是将这些数据转换为SQL更新语句,并将结果打印到控制台。解析:
    使用split('n')方法将输入字符串str按换行符分割成数组rows。使用map()方法遍历rows数组,对每一行进行处理。在处理每一行时,首先使用split(',')方法将其按逗号分割成数组arr。然后,使用模板字符串生成SQL更新语句,其中${arr[8]}、${arr[1]}和${arr[7]}分别表示IDENTITY_CARD、PERSON_NAME和PHONE的值。使用join('n')方法将处理后的SQL更新语句数组连接成一个字符串,并赋值给变量result。最后,使用console.log(result)将结果打印到控制台。

    三、具体效果

        使用gensql(`输入的csv内容`)进行输出SQL。