如何将sql server连接到app.js文件?

waxmsbnn  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(478)

我有一个名为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;
jk9hmnmh

jk9hmnmh1#

你要做的可能只是app.js文件的内容,你可以在那里要求你的包并运行这些函数。然而,如果你选择了走那条路,你可以把它们存储在一个变量中,然后像这样使用module.export

variable_name = [desired content to export]

  module.export = variable_name

如果你想通过app.js以外的单独文件来构建数据库,你应该看看sequelize包。这是你想做的。
https://www.npmjs.com/package/sequelize
如果您试图在运行app.js时构建数据库,请回复您的评论。您最好再看看某种比mysql包做得更好的orm。使用它,您可以将db导入app.js并简单地使用

require('path to db')

然后使用数据库,你觉得合适,但再次建立你的数据库这样做将是困难的,因为你将不得不运行

node filename.js

对于每一个,所以再次如果不是续集,我强烈建议看另一个orm,它可以让你更快更容易地完成这项工作。一旦你运行app.js,它就会构建并运行,mysql包并不是你想要做的事情的最佳工具。

相关问题