因此,我对整个后端世界还算陌生,现在我正在使用node.js进行编码。我有一个项目,我必须存储具有几个字段的用户。但是我不知道如何使用节点连接到数据库并进行查询。
并且,我有WAMP堆栈,因为我曾经编写过PHP(非常麻烦),我也可以将其MySQL服务器用于node.js吗?还是我需要去MySQL网站,下载并安装它?
如果您只需要进行一些SQL访问,而不是Sequelize,则直接使用mysql javascript驱动程序可能会更快乐。
npm install mysql
您应该可以使用现有的mysql服务器,只要您可以从放置节点应用程序的机器上访问它即可(访问=网络访问和mysql帐户访问控制设置)。
一个非常简单的用法示例是:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'locahost',
user : 'foo',
password : 'bar',
database : 'test'
});
// the callback inside connect is called when the connection is good
connection.connect(function(err){
var sql = "select 'Joe' as name from dual";
connection.query(sql, function(err, rows, fields) {
if (err) return console.log(err);
// you need to end your connection inside here.
connection.end();
console.log(rows[0].name);
});
});
在sql
上面可以是任何有效的SQL。如果您要使用变量替换,请插入?
查询并将替换数组作为第二个参数传递给connection.query
,例如:
var sql='update customer set name=? where id=?';
connection.query(sql,[req.body.name,req.body.id], function(...
您可能会发现我回答的有关总体结构的问题很有帮助。请注意大量使用回调。不可避免的菜鸟动作涉及没有正确的回调结构,从而导致部分代码在必要的事情发生之前运行(即,您的代码试图在实际建立数据库连接之前运行查询)。
如果您打算使用MySQL做更多的事情,那么某种抽象的ORM库可能对您更有意义。但是请注意性能的影响-其中一些是重量级的。请以本文为例。
希望这可以帮助。如果遇到问题,请提出问题,并提出导致问题的代码,您将在此处及时获得答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句