Node.js MySQL

网友投稿 297 2022-09-23

Node.js MySQL

简介

一个纯Node.js集成了MySql协议的JS客户端。不需要任何编译,100% MIT licensed。

安装驱动

用阿里的cnpm安装:

cnpm install

用Node自带的npm安装:

npm install

安装最新版:

npm install

连接查询

var mysql = require('mysql');var connection = mysql.createConnection({ host : 'localhost', user : 'me', password : 'secret', database : 'my_db'});connection.connect();connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution);});connection.end();

escape:

var userId = 'some user provided value';var sql = 'SELECT * FROM users WHERE id = ' + connection.escape(userId);connection.query(sql, function (error, results, fields) { if (error) throw error; // ...});

添加

var post = {id: 1, title: 'Hello MySQL'};var query = connection.query('INSERT INTO posts SET ?', post, function (error, results, fields) { if (error) throw error; // Neat!});console.log(query.sql); // INSERT INTO posts SET `id` = 1, `title` = 'Hello MySQL'

获取插入id:

connection.query('INSERT INTO posts SET ?', {title: 'test'}, function (error, results, fields) { if (error) throw error; console.log(results.insertId);});

更新

var CURRENT_TIMESTAMP = { toSqlString: function() { return 'CURRENT_TIMESTAMP()'; } };var sql = mysql.format('UPDATE posts SET modified = ? WHERE id = ?', [CURRENT_TIMESTAMP, 42]);console.log(sql); // UPDATE posts SET modified = CURRENT_TIMESTAMP() WHERE id = 42

自定义格式(字典)

connection.config.queryFormat = function (query, values) { if (!values) return query; return query.replace(/\:(\w+)/g, function (txt, key) { if (values.hasOwnProperty(key)) { return this.escape(values[key]); } return txt; }.bind(this));};connection.query("UPDATE posts SET title = :title", { title: "Hello MySQL" });

参考

​​https://github.com/mysqljs/mysql​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:杨志刚被炸伤后曾抑郁险自杀:哥哥发现异常,赶来救了我!
下一篇:项目范围管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~