nodejs MYSQL数据库执行多表查询


1.设计数据库

2.设计数据库表

genres表:

 

books表:

 

3.安装MySQL模块

 

4. 代码编写

  (1) 第一种方法:

在query中使用nextTables属性,将属性值设置为ture

demo

var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : 'localhost',
    port     : 3300,
    database : 'my',
    user     : 'root',
    password : '123456',
});

connection.connect(function(err) {
    if(err) console.log('数据库建立连接失败。');
    else{
        console.log('数据库建立连接成功。');


            connection.query({sql:'select genres.id,genres.name,books.id,books.genreid,books.name from genres inner join books on genres.id=books.genreid',nestTables:true},function(err,result){
            //connection.query({sql:'select genres.id,genres.name,books.id,books.genreid,books.name from genres inner join books on genres.id=books.genreid',nestTables:'_'},function(err,result){
            if(err) console.log('查询数据失败。');
            else{
                console.log(result);
                connection.end();
            }
        });
    }
});

输出结果:

 

(2)在query中使用nextTables属性,将属性值设置为一个分隔符

demo

var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : 'localhost',
    port     : 3300,
    database : 'my',
    user     : 'root',
    password : '123456',
});

connection.connect(function(err) {
    if(err) console.log('数据库建立连接失败。');
    else{
        console.log('数据库建立连接成功。');


            
            connection.query({sql:'select genres.id,genres.name,books.id,books.genreid,books.name from genres inner join books on genres.id=books.genreid',nestTables:'_'},function(err,result){
            if(err) console.log('查询数据失败。');
            else{
                console.log(result);
                connection.end();
            }
        });
    }
});

输出效果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM