我有一个名为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条答案
按热度按时间jk9hmnmh1#
你要做的可能只是app.js文件的内容,你可以在那里要求你的包并运行这些函数。然而,如果你选择了走那条路,你可以把它们存储在一个变量中,然后像这样使用module.export
如果你想通过app.js以外的单独文件来构建数据库,你应该看看sequelize包。这是你想做的。
https://www.npmjs.com/package/sequelize
如果您试图在运行app.js时构建数据库,请回复您的评论。您最好再看看某种比mysql包做得更好的orm。使用它,您可以将db导入app.js并简单地使用
然后使用数据库,你觉得合适,但再次建立你的数据库这样做将是困难的,因为你将不得不运行
对于每一个,所以再次如果不是续集,我强烈建议看另一个orm,它可以让你更快更容易地完成这项工作。一旦你运行app.js,它就会构建并运行,mysql包并不是你想要做的事情的最佳工具。