Javascript Java脚本-如何结束与数据库的连接?

Javascript Java脚本-如何结束与数据库的连接?,javascript,node.js,Javascript,Node.js,我有一个下面的代码,它从数据库中获取数据运行良好,但当我从终端(如node db.js)运行它时,它会返回数据,但不会关闭,不能在终端中键入下一个命令 var mysql = require('mysql'); var connection = mysql.createConnection({ host: '...', user: '...', password: "..., port : ..., //port mysql database: '...

我有一个下面的代码,它从数据库中获取数据运行良好,但当我从终端(如node db.js)运行它时,它会返回数据,但不会关闭,不能在终端中键入下一个命令

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: '...',
    user: '...',
    password: "...,
    port : ..., //port mysql
    database: '...'
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM table", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

应该向.js的结尾添加什么?

因为在结束连接之前必须完成所有查询,所以将以下行放在回调之外:


连接端

您可以通过调用
过程。退出;方法。

完成查询后,您需要告诉MySQL.js关闭连接。例如:

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: '...',
    user: '...',
    password: "...,
    port : ..., //port mysql
    database: '...'
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM table", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
    connection.end(function (err) { if (err) throw err; } });
  });
});

有关更多信息,请参阅MySQL.js文档:

您可以使用connection.end结束连接; 您必须在查询之后添加它,因为查询必须首先完成。这是您修改过的代码:

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: '...',
    user: '...',
    password: "...,
    port : ..., //port mysql
    database: '...'
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM table", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
  connection.end();
});
使用end关闭连接,确保所有 剩余的查询将在向服务器发送quit数据包之前执行 mysql服务器


此外,每次需要与数据库交互时打开和关闭连接的效率极低。我会查看文档并阅读连接池,这是在应用程序中管理MySQL连接的好方法。