Node.js连接Mysql
通过Node.js连接Mysql并且通过其对数据库进行操作
安装驱动
cnpm install mysql
连接数据库
下面是一个实例用于配置连接信息
let mysql = require('mysql');
let connection = mysql.createConnection({
host:'localhost',
user:'root',
password:'123456',
database:'test'
});
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);
});
输出结果为:
The solution is: 2
有关的连接参数说明
https://github.com/mysqljs/mysql
数据库操作说明
- 查询数据
connection.connect();
let sql = 'SELECT * from websites';
connection.query(sql, function(err, result){
if(err){
console.log('[SELECT ERROR]-', err.message);
return;
}
console.log(result);
});
connetion.end();
输出结果为:
[ RowDataPacket {
id: 1,
name: 'Google',
url: 'https://www.google.cm/',
alexa: 1,
country: 'USA' },
RowDataPacket {
id: 2,
name: '淘宝',
url: 'https://www.taobao.com/',
alexa: 13,
country: 'CN' },
RowDataPacket {
id: 3,
name: '菜鸟教程',
url: 'http://www.runoob.com/',
alexa: 4689,
country: 'CN' },
RowDataPacket {
id: 4,
name: '微博',
url: 'http://weibo.com/',
alexa: 20,
country: 'CN' },
RowDataPacket {
id: 5,
name: 'Facebook',
url: 'https://www.facebook.com/',
alexa: 3,
country: 'USA' } ]
- 插入数据
let addSql = 'INSERT INTO websites(ID, name, url, alexa, country) VALUES(0, ?, ?, ?, ?)';
let addSqlParams = ['菜鸟工具', 'https://c.runoob.com','23453', 'CN'];
connection.query(addSql,addSqlParams,function (err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
return;
}
connection.log('INSERT ID: ', result);
connection.end();
- 更新数据
let modSql = 'UPDATE websites SET name=?, url=? WHERE id=?';
let modeSqlParams = ['菜鸟移动站', 'https://m.runoob.com', 6];
connection.query(modSql, modSqlParams, function(err, result){
if(err){
console.log('[UPDATE ERROR]-', err.mesage);
return;
}
console.log('UPDATE affectedRows', result.affectedRows );
});
connection.end();
- 删除数据
let delSql = 'DELECT FROM websites where id = 6';
connection.query(delSql, function(err, result){
if(err){
console.log('[DELETE ERROR]-', err.message);
return;
}
console.log('DELETE affectedRows', result.affectedRows);
});
connection.end();
Node.js JXcore打包
JXcore是一个支持多线程的Node.js发行版本,基本上不需要对现有的代码进行改动就可以直接安全的以多线程的模式来安全运行。
JXcore
下载并且安装JXcore,不赘述
打包代码
jx package index.js index
会生成两个文件
index.jxp和index.jx
index.jxp包含了需要编译的完整项目信息
index.jx是一个完整的包信息的二进制文件,可以运行在客户端上面
运行方式
jx index.jx command_line_arguments