MySQL模块
前言
安装
npm i mysql
配置 mysql 模块
const mysql = require("mysql");
const db = mysql.createPool({
host: "127.0.0.1",
user: "root",
password: "yang",
database: "my_db_01",
});
执行 sql 语句
查询语句
db.query("select 1", (err, results) => {
if (err) console.log(err.message);
console.log(results);
});
插入语句
const user = {
username: "Spider-man",
age: 200,
gender: "男",
email: "111@qq.com",
phone: "188888",
};
const sqlStr = "insert into user values(?,?,?,?,?)";
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);
if (results.affectedRows === 1) console.log("更新成功");
}
);
简写方式
...
const sqlStr = 'update user set ? where id=?'
db.query(sqlStr,[user,user.id],(err,results)=>{
...
})
删除数据
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 字段标记删除即可。
🔥🔥🔥美好的一天,上帝不会就这样给你,需要自己去创造。一起加油学习吧💖🔥 🔥🔥