切换主题
十三、在Express中操作Mysql
1、在项目中操作数据库的步骤
- 安装操作MySQL数据库的第三方模块
- 通过mysql模块连接到MySQL数据库
- 通过mysql模块执行SQL语句
2、使用mysql模块
1、安装
bash
npm install mysql2、配置MySQL模块
js
//1、导入mysql模块
const mysql=require('mysql');
//2、建立于mysql数据库的连接
const db=mysq;.createPool({
host:'127.0.0.1', //数据量的IP地址
user:"root, //登录数据库的账号
password:"123456", //登录数据库的密码
database:'myDataBase'//指定要操作哪一个数据库
})3、测试mysql模块是否正常工作
js
db.query('select 1',(err,results)=>{
if(err) return console.log(err.message)
console.log(results)
})4、查询数据
js
const mysql=require('mysql');
const db=mysql.createPool({
host:"127.0.0.1",
user:"root",
password:"12345678",
database:"db1"
})
let querySql="select * from user"
db.query(querySql,(err,results)=>{
if(err) return console.log(err)
console.log(results)
})5、插入数据
js
const userObj={
username:"武松",
password:"43136434"
}
const querySql="insert into user (username, password) values (?,?)"
db.query(querySql,[userObj.username,userObj.password],(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows==1) {
console.log("插入数据成功!")
}
})简化
js
const userObj={
username:"武松",
password:"43136434"
}
const insertSql="insert into user set ?"
db.query(insertSql,userObj,(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows==1) {
console.log("插入数据成功!")
}
})6、更新数据
js
const userObj={
id:2,
username:"黄帅哥",
password:"3434343"
}
const updateSql="update user set username=?,password=? where id=?"
db.query(updateSql,[userObj.username,userObj.password,userObj.id],(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows===1){
console.log("修改数据成功!")
}
})简化
js
const userObj={
id:2,
username:"黄帅哥",
password:"3434343"
}
const updateSql="update user set ? where id=?"
db.query(updateSql,[userObj,userObj.id],(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows===1){
console.log("修改数据成功!")
}
})7、删除数据
js
const deleteSql="delete from user where id=?"
db.query(deleteSql,5,(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows) return console.log("删除数据成功!")
})8、标记删除
为了保险起见,推荐使用标记删除的形式,来模拟删除的动作,就是在表中设置类似于status的状态字段,使用update语句,将对应status字段标记为删除即可
js
const deleteSql="delete from user set stauts=? where id=?"
db.query(deleteSql,[0,5],(err,results)=>{
if(err) return console.log(err)
if(results.affectedRows) return console.log("删除数据成功!")
})
DQ博客