Nodejs 操作mysql数据库 超、凢脫俗 2022-08-08 06:26 120阅读 0赞 node对mysql数据库也有非常好的支持 首先需要安装mysql 模块 npm install mysql --save // 加载mysql模块 var mysql = require('mysql'); // 创建连接,指定地址,端口,用户和密码,欲连接数据库 var conn = mysql.createConnection({ 'host':'127.0.0.1', 'port':3306, 'user':'root', 'password':'mysqladmin', 'database':'ajax', // 'charset':'utf-8', 'connectTimeout':1 }) // 连接数据库(但是好像不连接也可以哦) conn.connect(); // 执行操作的sql var sql = 'SELECT * FROM AREA LIMIT 5'; /** * sql要执行的操作语句(查询语句),可以多条sql1,sql2,sql3... * callback(err,rows,fileds) * err:错误信息,rows:查询到的记录,fileds:每一个字段的详细描述 */ conn.query(sql,function(err,rows,fileds){ if(err){ console.log(err) return; } console.log(util.inspect(rows)); console.log(fileds) conn.end();// 操作完成后要关闭数据库连接 }) // 可以使用??占位符表示表名和字段名、?表示值 var sql = 'UPDATE ?? SET ?? = ? WHERE id = ?'; var values = ['area', 'title', '测试更新1', 1]; console.log(mysql.format(usql, values)) /** * 更新操作 * sql:要执行的sql,可以使用??来表示表名和字段名,?表示值 * values:??或者?的值 * 第三个参数为callback */ conn.query(sql, values, function (err, rows, fileds) { console.log('err:' + err); console.log('rows:' + util.inspect(rows)); console.log('fileds:' + fileds); conn.end();// 操作完成后要关闭数据库连接 }) // 删除操作 var sql = 'DELETE FROM area WHERE id = ?'; var values = [1]; conn.query(sql,values,function(err,rows,fileds){ console.log('err:' + err); console.log('rows:' + util.inspect(rows)); console.log('fileds:' + fileds); conn.end();// 操作完成后要关闭数据库连接 }) // 增加操作 var sql = 'INSERT INTO area VALUES(?,?)'; var values = [1,'其他']; conn.query(sql,values,function(err,result){ console.log('err:' + err); // 取得插入数据的ID console.log('insert.id:' + result.insertId); conn.end();// 操作完成后要关闭数据库连接}) // 支持事务 conn.beginTransaction(function (err) { if (err) { throw err; } var sql = 'UPDATE AREA SET title = ? WHERE id = ?'; var values = ['事务更新2', 36]; conn.query(sql, values, function (err, result) { if (err) { // 事务回滚 conn.rollback(function (err) { throw err; }); } }); var ssql = 'SELECT * FROM area'; conn.query(ssql, function (err, rows) { // 事务回滚前数据 console.log('rows1:'+util.inspect(rows)) conn.rollback();// 事务回滚 conn.query(ssql, function (err, rows){ // 事务回滚后数据 console.log('rows2:'+util.inspect(rows)); // 提交事务 conn.commit(function (err) { if (err) { conn.rollback(function () { throw err; }); } }) }) }) });
还没有评论,来说两句吧...