您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页node.js学习(MySQL模块)

node.js学习(MySQL模块)

来源:华佗小知识

MySQL模块
前言
安装
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 字段标记删除即可。

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务