MySQL模块
前言
大佬们好呀,这只是一个需要提前学习了mysql的小伙伴看的node.js的mysql模块,还请大佬们多多支持!🔥
安装
- 安装操作 MySQL 数据库的第三方模块(mysql)
- 通过 mysql 模块连接到 MySQL 数据库
- 通过 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 字段标记删除即可。
🔥🔥🔥美好的一天,上帝不会就这样给你,需要自己去创造。一起加油学习吧💖🔥 🔥🔥