node.js学习(MySQL模块)

MySQL模块
前言

大佬们好呀,这只是一个需要提前学习了mysql的小伙伴看的node.js的mysql模块,还请大佬们多多支持!🔥

安装
  1. 安装操作 MySQL 数据库的第三方模块(mysql)
  2. 通过 mysql 模块连接到 MySQL 数据库
  3. 通过 mysql 模块执行 SQL 语句
npm i mysql
配置 mysql 模块
//导入mysql模块
const mysql = require("mysql");
//建立连接
const db = mysql.createPool({
  host: "127.0.0.1", //IP地址
  user: "root", // 数据库账号
  password: "yang", // 密码
  database: "my_db_01", // 操作的数据库
});
执行 sql 语句
查询语句
// select 1 没有实质意义,但可以检验数据库是否连接成功
db.query("select 1", (err, results) => {
  if (err) console.log(err.message);
  // 连接成功  会打印 [RowDataPacket {'1':1}]
  console.log(results);
});
插入语句
// 要插入的数据对象
const user = {
  username: "Spider-man",
  age: 200,
  gender: "男",
  email: "111@qq.com",
  phone: "188888",
};
// 得执行的SQL语句   ?是占位符,防止SQL注入
const sqlStr = "insert into user values(?,?,?,?,?)";
// db.query
db.query(
  sqlStr,
  [user.username, user.age, user.gender, user.email, user.phone],
  (err, results) => {
    if (err) return console.log(err.message);
    if (results.affectedRows === 1) {
      console.log("插入成功");
    }
  }
);

简便写法

.....
const sqlStr = 'insert into user set ?'
db.query(sqlStr,user,(err,results)=>{
  ......
})
// 要求是 数据对象的每个属性和数据表的字段一一对应
更新数据
// 更新数据
const user = {
  id: 12,
  name: "张三",
  age: 10,
  gender: "女",
};

const sqlStr = "update user set name=? , age=? , gender=? where id=?";

db.query(
  sqlStr,
  [user.name, user.age, user.gender, user.id],
  (err, results) => {
    if (err) return console.log(err.message);
    //影响行数等于1  成功
    if (results.affectedRows === 1) console.log("更新成功");
  }
);

简写方式

...
const sqlStr = 'update user set ? where id=?'
db.query(sqlStr,[user,user.id],(err,results)=>{
  ...
})
// 要求是 数据对象的每个属性和数据表的字段一一对应
删除数据
// sql 语句
const sql = "delete from user where id = ?";

db.query(sql, [10], (err, results) => {
  // 失败
  if (err) return console.log(err.message);
  // 成功
  if (results.affectedRows === 1) console.log("删除成功");
});

标记删除

const sql = 'update user status = ? where id = ?'
db.query(sql, [1,10], (err, results) => {
  // 失败
  if (err) return console.log(err.message);
  // 成功
  if (results.affectedRows === 1) console.log("删除成功");
});)
  • 使用 delete 语句会把真正的数据从表中删除掉,为了保险起见,推荐使用标记删除的形式,来模拟删除的动作。
  • 在表中设置类似 status 这样的状态字段,来标记这条数据是否被删除
  • 当用户执行了删除的动作,其实并没有真正删除数据,而是执行 update 语句,把对应的 status 字段标记删除即可。

🔥🔥🔥美好的一天,上帝不会就这样给你,需要自己去创造。一起加油学习吧💖🔥 🔥🔥

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章鱼哥vlog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值