node 操作数据库
node 操作 mysql数据库
# mysql包的安装 npm install mysql
一、创建数据库:Mysql创建先创建好数据库和数据表。
二、连接数据库:
const mysql = require('mysql') let connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'test_grade' }) connection.connect(err => { if (err) { console.error('连接失败: ' + err.stack); return; } console.log('连接成功'); })
数据库的连接,如果考虑性能的话 还可以通过 连接池 的发生连接。多用户连接数据库,通过连接池就不需要多次创建连接对象了。
var pool = mysql.createPool(optioins);
三、sql语句对数据库的操作(即js中写sql语句):
说明:操作数据库,还是使用sql语句实现的。nodejs只是提供了一个 API【connection.query()】把 sql命令告诉mysql 。(mysql数据库的操作好像基本是这样的)
- 调用sql语句格式:connection.query("sql语句", 回调函数)
connection.query('SELECT 1', function (error, results, fields) { if (error) throw error; // connected! });
- 创建数据表:
const addSql = `create table userinfo ( name CHAR(6), grade INT(3) )`; // sql 语句 connection.query(addSql,(err,result,fields) => { if(err){ console.log(err.sqlMessage); return false; } console.log('表创建成功'); })
- 查询数据:
connection.query('select id, title, author, data from book',function(error, results, fields){ if (error) throw error; console.log('The solution is: ', results); })
因为 sql语句查询出来的数据,都是结构化数据(即表格形式数据)。所以js程序中获取mysql的数据,返回的都是数组,数组中每一项都是一个对象,这个对象就是查询结果的一条记录。
补充:
1、[Node.js与数据库]node-mysql 模块介绍 : https://www.cnblogs.com/zjx2011/p/6380579.html
注:node-mysql 模块 中的connection.query()方法,有3种形式