nodeJS 一次执行多条MySQL语句

本文介绍如何在NodeJS中使用mysql模块,通过设置multipleStatements属性为true,实现一次执行多条SQL语句。示例代码展示了如何获取数据库的所有表名及表结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在某些场景下,需要同时执行多条sql语句。nodeJS 中,如果希望执行多条 mysql 语句,只用在 createConnection 的方法中,设置 multipleStatements 属性的值为 true,即可。


var obj = {
        host: '127.0.0.1', //IP
        port: 3306, //端口
        database: 'page_incubator', //库名
        user: 'root', //用户名
        password: '123456', //密码
        multipleStatements: true // 支持执行多条 sql 语句
    },
    connPool = mysql.createPool(obj);

        connPool.getConnection(function (err, connection) {
            //获取数据库的所有表名
            var SQL = "select table_name from information_schema.tables where table_schema = '" +  obj.database + "'";

            connection.query(SQL, function (err, result) {
                if (err) throw err;

                var tableSQL = '',
                    str = 'show create table ';

                result.forEach( (item,index) => {
                    var tableName = item.TABLE_NAME || item.table_name;

                    tableSQL += str + "`" + tableName + "`" + '; '
                })

                if (tableSQL != '') {
                    //执行多条sql语句,获取数据库里的所有表的建表语句
                    connection.query(tableSQL, function (err, result) {
                        if (err) throw err;
                        event.returnValue = result;
                        connection.release();//释放链接
                    });

                } else {
                    event.returnValue = result;
                    connection.release();//释放链接
                }
            });

 查询结果的数据结构为一个数组,然后数组中的每个元素依次是 mysql 语句的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值