Nodejs操作数据库

nodejs操作数据库 可以使用第三方模块 mysql

在vscode操作
1.安装 mysql 模块

cnpm i mysql -S

2.引入mysql模块

let mysql = require('mysql');

3.建立连接对象

let connection=mysql.createConnection({
		host:"",
		database:"",
		user:'',
		password:"",
		port:3306;//可选参数
	});

4.执行sql操作

connection.query(sql,(err,results,field)=>{
		//err--操作mysql失败 
		//results--操作mysql成功
		//field -- 查询数据每一个字段的解释 
	});

5.关闭连接

connection.end();

连接池 同时容纳多个连接对象 操作步骤

1.引入mysql

let mysql = require('mysql');

2.创建连接池对象

let pool=mysql.createPool({
	host:"",
	database:"",
	user:'',
	password:"",
	port:3306;//可选参数,
	//限制连接数量
	connectionLimit:10
});

3.获取连接

pool.getConnection((err,connection)=>{
		err--获取失败
		connection--获取的连接对象 
		//操作sql
		connection.query(sql,(err,results,filed)=>{

		});
		//释放连接对象 
		connection.release();
		//关闭连接池 
		pool.end()
	});

nodemon 自动构建部署服务

查询老师对应的课程 多表操作 单表操作

select * from tbl_teacher t,tbl_course c where c.teacher_id=t.id;

级联查询学生对应的选课信息

select * from tbl_sc sc,tbl_student s,tbl_course c where sc.student_id= s.id and sc.course_id=c.id;
在 Node.js 中使用数据库进行查询操作时,可以使用回调函数或 Promise 来获取查询的返回数据。 使用回调函数的方式,可以在查询语句执行完成后,将查询结果作为参数传递给回调函数。例如: ``` const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'example_db' }); connection.connect(); connection.query('SELECT * FROM users', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end(); ``` 在上面的示例中,当查询语句执行完成后,会调用传递的回调函数,并将查询结果作为第二个参数传递给回调函数。 使用 Promise 的方式,可以使用 Node.js 中的 `util` 模块中的 `promisify` 方法将 Node.js 的回调函数转换为 Promise。例如: ``` const mysql = require('mysql'); const util = require('util'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'example_db' }); const query = util.promisify(connection.query).bind(connection); connection.connect(); query('SELECT * FROM users') .then((results) => { console.log(results); }) .catch((error) => { throw error; }) .finally(() => { connection.end(); }); ``` 在上面的示例中,使用了 `util.promisify` 方法将 `connection.query` 方法转换为 Promise。然后可以通过 `then` 方法获取查询结果,或者通过 `catch` 方法捕获查询错误。最后,使用 `finally` 方法关闭数据库连接。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值