要用node操作mysql,需要通过npm安装mysql的依赖:
npm install -S mysql
npm mysql的官方说明文档:https://www.npmjs.com/package/mysql (全是英文…)
下面列出一些常用的操作的样例代码
查询:
var mysql = require('mysql')
var myCon = require('./config/config.js')
var connection = mysql.createConnection({
host: 'localhost', // 连接的服务器
port: 3306, // mysql服务运行的端口
database: 'gis', // 选择的库
user: 'root', // 用户名
password: 'root' // 用户密码
})
connection.connect() // 创建一个mysql的线程
var qursql = "select * from t_gis_road_node" // 查询的sql
connection.query(qursql, (err, results, fields) => {
if (err) {
console.log('QUERY ERROR - ', err.message);
throw err
}
connection.destroy();// 查询玩销毁mysql连接,结束node进程
console.log(results);// 结果为RowDataPacket类的对象
console.log("QUERY SUCCESS");
})
批量插入:
var mysql = require('mysql')
var values = [
[1, 'hu', 2],
[2, 'ke', 0],
[3, 'yi', 1]
]
var connection = mysql.createConnection({
host: 'localhost', // 连接的服务器
port: 3306, // mysql服务运行的端口
database: 'gis', // 选择的库
user: 'root', // 用户名
password: 'root' // 用户密码
})
connection.connect() // 创建一个mysql的线程
var insertsql = 'insert into t_gis_road_node(node_id, node_name, node_type) values ?'
connection.query(insertsql, [values],(err, results, fields) => {
if (err) {
console.log('INSERT ERROR - ', err.message);
throw err
}
connection.destroy();
console.log("INSERT SUCCESS");
})
批量更新:
var mysql = require('mysql')
var connection = mysql.createConnection({
host: 'localhost', // 连接的服务器
port: 3306, // mysql服务运行的端口
database: 'gis', // 选择的库
user: 'root', // 用户名
password: 'root' // 用户密码
})
connection.connect() // 创建一个mysql的线程
var qursql = "update t_gis_road_node rn set rn.all = rn.node_id + rn.node_type"
connection.query(qursql,(err, results, fields) => {
if (err) {
console.log('UPDATE ERROR - ', err.message);
throw err
}
connection.destroy();
console.log(results);
console.log("UPDATE SUCCESS");
})
这种方式本质上是通过执行固定sql实现批量更新的,完全可以直接在数据库中执行对应的sql语句实现,那么如何带参数的批量更新呢,可以看本人的另外一篇博客(node.js中mysql批量更新的三种方法:https://blog.csdn.net/huzhenv5/article/details/103689180)