常用网站图标/如何优化关键词
目录
一、安装与配置mysql 模块
1、在项目中操作mysql的步骤
2 安装与配置 mysql 模块
(1) 安装 mysql 模块
(2) 配置 mysql 模块
(3)测试 mysql 模块能否正常工作
二、 使用 mysql 模块操作 MySQL 数据库
1. 查询数据
2. 插入数据
3、更新数据
4、删除数据
一、安装与配置mysql 模块
1、在项目中操作mysql的步骤
- 安装操作 MySQL 数据库的第三方模块(mysql)
- 通过 mysql 模块连接到 MySQL 数据库
- 通过 mysql 模块执行 SQL 语句
2 安装与配置 mysql 模块
(1) 安装 mysql 模块
mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。
想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包:
npm install mysql
(2) 配置 mysql 模块
在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql 模块进行必要的配置,主要的配置步骤如下:
(1)导入mysql模块
(2)创建数据库连接池mysql.createPool({
connectionLimit: 最大连接数,默认为0,
multipleStatements:是否允许执行多条sql语句,默认为false
host: 数据库服务器地址,
database: 数据库名,
user:用户名,
password: 密码
})(3)获取数据库连接对象pool.getConnection(function(err,conn){})
代码演示:
// 1、导入mysql 模块
const mysql = require('mysql');
//2、建立与mysql数据库的链接关系
const db = mysql.createPool({host: '127.0.0.1', //数据库的IP地址user: 'root', // 登录数据库的账号password: '123456', database:'dbtest' // 指定要操作哪个数据库
})
(3)测试 mysql 模块能否正常工作
调用 db.query() 函数,指定要执行的 SQL 语句,通过回调函数拿到执行的结果
// 测试mysql 模块能是否正常工作
db.query('select 1', (err, results) => {// mysql 工作期间报错了if (err) return console.log(err.message);// 能够成功执行SQL语句console.log(results);
})
【注意】:只要能打印出[ RowDatePacket{ ' 1 ' : 1 } ],的结果,就证明数据库能正常连接
二、 使用 mysql 模块操作 MySQL 数据库
1. 查询数据
查询 employees 表中所有的数据:
// 查询表中所有的数据const sqlStr = 'select * from employees';
db.query(sqlStr, (err, results) => {// 如果查询成功if (err) return console.log(err.message);//如果查询成功console.log(results);
})
2. 插入数据
向 employees 表中新增数据
// 插入数据const user = { name: '花少北', gender: '男' }
// 定义待执行的SQL语句 ? 表示占位符
const sqlStr = 'insert into employees(name,gender) values(?,?)';
//执行SQL语句
db.query(sqlStr, [user.name, user.gender], (err, results) => {if (err) return console.error(err);// 执行成功,判断影响的行数是否等于1//注意:如果执行的是insert into语句,则results 是一个对象,//可以通过affectRows属性判断是否插入数据插入成功if (results.affectedRows === 1) {console.log('插入成功');}
})
插入数据的便捷方式:
向employees 表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如
下方式快速插入数据:
// 插入数据便捷方式const user = { name: '某幻', gender: '男', birthday: '1999-04-02', address: '青岛' };
// //待执行的SQL语句const sqlStr = 'insert into employees set ?';
// //执行语句db.query(sqlStr, user, (err, results) => {if (err) return console.log(err.message);if (results.affectedRows===1) {console.log('插入成功');}
})
3、更新数据
更新employees 表数据时,如果数据对象的每个属性和数据表的字段 一一对应,则可以通过如下
方式快速更新表数据
// 更新数据便捷方式const user = { id: 5, name: '花少北', birthday: '1996-09-08', phone: '145875xxxxx' };
//定义SQL语句
const sqlStr = 'update employees set ? where id=?'
//执行语句
db.query(sqlStr, [user, user.id], (err, results) => {if (err) return console.log(err.message);if (results.affectedRows) {console.log('更新数据成功');}
})
4、删除数据
在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据。示例如下:
//删除 id 为 5 的用户//定义SQL语句const sqlStr = 'update employees set ? where id=?'//执行语句db.query(sqlStr, 5, (err, results) => {if (err) return console.log(err.message);if (results.affectedRows==1) {console.log('删除数据成功');}})