如何将SQL Server连接到app.js文件?

时间:2018-09-13 23:18:43

标签: mysql sql node.js express npm

我有一个名为NEsql的文件夹,位于一个名为sqlnames1的文件夹中。在NEsql文件夹中,我具有以下文件。

sqlcreatedb.js

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "password"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  /*Create a database named "mydb":*/
  con.query("CREATE DATABASE names", function (err, result) {
    if (err) throw err;
    console.log("Database created");
  });
});

sqlcreatetable.js

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "password",
  database: "names"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  /*Create a table named "customers":*/
  var sql = "CREATE TABLE people (id INT AUTO_INCREMENT PRIMARY KEY, firstName VARCHAR(255), lastName VARCHAR(255))";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Table created");
  });
});

sqlinsertvalues.js

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "password",
  database: "names"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO people (firstName, lastName) VALUES ?";
  var peoplenames = [
    ['Vedant', 'Apte'],
    ['Vedant', 'Savalajkar'],
    ['Vinay', 'Apte'],
    ['Varda', 'Apte'],
    ['Mihir', 'Wadekar'],
    ['Mihir', 'Kulkarni'],
    ['Eesha', 'Hazarika'],
    ['Eesha', 'Gupte'],
    ['Raunak', 'Sahu'],
    ['Hritvik', 'Agarwal'],
    ['Mahima', 'Kale'],
    ['Shivani', 'Sheth'],
    ['Arya', 'Chheda'],
    ['Diya', 'Shenoy']
  ];
  con.query(sql, [peoplenames], function (err, result) {
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
  });
});

所有这些文件都可以工作,因为我能够完成所有任务并成功接收所有相应的console.log语句。但是,我不确定如何将这些文件连接到位于sqlnames1文件夹内的app.js文件。有人知道该怎么做吗?

这是我的app.js文件。

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

1 个答案:

答案 0 :(得分:0)

您要尝试做的只是只是app.js文件的内容,您可能需要在其中打包并运行这些功能。但是,如果选择该路线,则可以将其存储在变量中,然后使用module.export这样

  variable_name = [desired content to export]

  module.export = variable_name

如果您想通过不同于app.js的单独文件来构建数据库,则应查看软件包续集。这更符合您要尝试做的事情。

https://www.npmjs.com/package/sequelize

如果您尝试在运行app.js时构建数据库,请回复您的评论。您最好还是再看一个比mysql软件包更好的ORM。有了它,您可以将数据库导入到您的app.js中,只需使用

    require('path to db')

然后以您认为合适的方式使用数据库,但是再次以这种方式构建数据库将很困难,因为您必须运行

    node filename.js

对于每一个,所以再次重申,如果没有续篇,我强烈建议您查看另一个ORM,它将更快,更轻松地为您完成这项工作。只要运行app.js,它就会生成并运行,那么mysql软件包并不是您尝试执行的最佳工具。