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();
            }
        });
    }
});

输出效果:

 

posted @ 2017-11-14 10:50  1点  阅读(4593)  评论(0编辑  收藏  举报