一、下载mysql的模块
npm install mysql
二、步骤
- 导入mysql第三方工具
- 连接数据库 mysql.createPool()
- 测试数据库 query()
// node.js项目接入mysql数据库的方式
/*
1. 导入mysql第三方工具
2. 连接数据库
3. 测试数据库
*/
// 1.导入mysql模块
const { log } = require("console");
const mysql = require("mysql")
// 2. 建立于数据库的链接 createPool
const db = mysql.createPool({
host: '127.0.0.1', // 数据库的IP地址
user: 'root', // 登录数据库的账号
password: 'abc123',//登录数据库的密码
database: 'atguigudb', //指定操作的数据库
})
// 3.测试mysql模块能不能正常工作
// query查询函数调用,返回err与result
/*
db.query('select department_id FROM departments', (err, results) => {
// 打印结果
if (err) return console.log(err.message);
console.log(results);
})
*/
// 插入数据
// ?是占位符
/*
const intoStr = "INSERT INTO student (name,id) VALUES (?,?)"
// 插入的数据,以及返回状态affctedRows === 1全等于
db.query(intoStr,["node.js",4],(err,results)=>{
if(err) return console.log(err.message) // 失败打印
if(results.affectedRows ===1){
console.log("插入数据成功");
}
})
*/
// 快捷插入数据,字段匹配
//
const user = {
id: 5,
name: "哈哈哈哈"
}
// 字符串显示set
const intoStr2 = "INSERT INTO student SET ?"
// 插入
// db.query(intoStr2,user,(err,results)=>{
// if(err) return console.log(err.message);
// if(results.affectedRows === 1){
// console.log("插入数据2成功!");
// }
// })
//
//
// 更新数据
/*
const user2 = {
id: 5,
name: "已更新",
}
// 更新字符串
const updateStr = "UPDATE student set name = ? where id = ?"
db.query(updateStr, [user2.name, user2.id], (err, results) => {
if (err) return console.log(err.message);
if (results.affectedRows === 1) {
console.log("更新成功!");
}
})
*/
// 删除数据
// 删除字符串delete
// const deleteStr = "delete from student where id=?"
//
// db.query(deleteStr,5,(err,results)=>{
// 返回一个对象
// if(err) return console.log(err.message);
// if(results.affectedRows === 1) return console.log("删除成功!")
// })
// 一般不会直接删除,而是标记删除,用update进行修改status状态
const sqlStr = "update student set status = 1 where id =?"
db.query(sqlStr, 8, (err, results) => {
if (err) return console.log(err.message);
console.log("whar");
console.log(results.affectedRows);
if (results.affectedRows === 1) {
console.log("软删除成功!");
}
})