我有一个名为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;
答案 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软件包并不是您尝试执行的最佳工具。