1.安装操作 MySQL
数据库的第三方模块(mysql
)
2.通过 mysql
模块连接到 MySQL
数据库
3.通过 mysql
模块执行 SQL
语句
2.1安装 mysql 模块
mysql
模块是托管于 npm
上的第三方模块。它提供了在 Node.js
项目中连接和操作 MySQL
数据库的能力。想要在项目中使用它,需要先运行如下命令,将 mysql
安装为项目的依赖包
npm i mysql
2.2配置 mysql 模块
在使用 mysql
模块操作 MySQL
数据库之前,必须先对 mysql
模块进行必要的配置,主要的配置步骤如下
// 1. 导入 mysql 模块
var mysql = require('mysql')
// 2. 建立与 mysql 数据库的连接
var db = mysql.createPool({
host: '127.0.0.1', // 数据库的 ip 地址
user: 'root', // 登录数据库的账号
password: 'root', // 登录数据库的密码2
database: 'my_db_01' // 指定要操作哪个数据库
})
1.调用 db.query()
函数,指定要执行的 SQL
语句,通过回调函数拿到执行的结果
2.以下是示例
//检测mysql模块能否正常工作
db.query("select 1" ,(err,data)=>{
if(err) return console.log(err.message)
//只有能打印出[RowDataPacket{"1":1}]的结果,就证明数据库链接正常
console.log(data)
})
//安装express包
npm i express
//安装mysql包
npm i mysql
//导入mysql
const mysql = require("mysql");
//导入express
const express = require("express");
//创建服务器实例
const app = express();
//配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))
//配置数据库的相关信息
const db = mysql.createPool({
host: '127.0.0.1', // 数据库的 ip 地址
user: 'root', // 登录数据库的账号
password: 'root', // 登录数据库的密码
database: "web67wxw2" //指定操作的数据库
})
1.需求:查询 users 表中所有的数据
2.案例代码
//查询数据
app.get("/books", (req, res) => {
// 用db.query测试 mysql 模块能够正常运行
db.query('select * from books', (err, data) => {
// mysql 模块如果错误,err 中会返回错误信息
if (err) return console.log(err.message)
// 能够成功的执行 SQL 语句
res.send({
status: 0,
message: "获取成功",
data
})
})
})
1.需求: 向 users
表中新增数据
2.案例代码
//向数据库插入数据
app.post("/addbooks", (req, res) => {
const data = req.body
const sql = "insert into books set ?"
// 用db.query测试 mysql 模块能够正常运行
db.query(sql, data, (err, data) => {
// mysql 模块如果错误,err 中会返回错误信息
// console.log(data);
if (err) return console.log(err.message)
if (data.affectedRows !== 1) return console.log("数据插入失败");
// 能够成功的执行 SQL 语句
res.send({
status: 0,
message: "数据插入成功"
})
})
})
1.需求:更新表中的数据
2.案例代码
//向数据库更新数据
app.post("/updatebooks", (req, res) => {
const data = req.body;
// return console.log(data);
//定义更新的sql模板
const sql = "update books set ? where id = ?"
//启动sql
db.query(sql, [data, data.id], (err, data) => {
if (err) return console.log(err.message);
if (data.affectedRows !== 1) return console.log("更新失败");
res.send({
status: 0,
messge: "更新成功"
})
})
})
1.在删除数据时,推荐根据 id
这样的唯一标识,来删除对应的数据
2.注意:如果 sql 语句中有多个占位符,则必须使用数据为每个占位符指定具体的值,如果 sql 语句中只有一个占位符,则可以省略
3.案例代码
//删除数据库数据
//删除id为10的那条数据
const sql = "delete from books where id = ?"
db.query(sql, 10, (err, data) => {
if (err) return console.log(err.message);
//注意:执行delete语句之后,结果也是一个对象,也有affectedRows属性
if (data.affectedRows === 1) return console.log("删除数据成功");
})
以上就是 使用node.js实现对mysql数据库的增删改查的所有内容了,我写的代码均为案例代码,仅供参考,你们可以根据实际情况做一些修改。