安装: npm i mysql
步骤:
// 1、创建一个数据库连接对象
let options = {
host:'localhost', //数据库服务器的地址
port:3306, //数据库服务的端口号
user:"root", //数据库管理员账号
password:"root",
database:"ujiuye"
}
let conn = mysql.createConnection(options);
// 2、尝试去连接数据库
conn.connect((err)=>{
if(err){
res.send("数据库连接失败"+err.message)
return;
}
// res.send("数据库连接成功!"+conn.threadId)
console.log("数据库连接成功!"+conn.threadId)
})
// 3、执行sql语句,对表增删改查
let sql = `delete from 班级 where id=${id}`;
conn.query(sql,[],(err,result)=>{
// err 对象,包含执行sql时的错误消息,如果没错误则err为null
// result 对象,包含执行sql成功以后的结果消息。
if(!err){
// sql执行成功了,result对象中affectedRows为受影响的行数,大于0说明数据库有实质性变化,因此需要再通过判断affectedRows才能最终确定数据添加成功。
console.log( result )
if( result.affectedRows>0){
res.send("数据删除成功")
}else{
res.send("没有删除数据,请检查参数id")
}
}else{
// sql执行错误了
console.log( err )
res.send("数据删除失败")
}
})
// 4、断开连接,释放资源
conn.end();
总结
1) 如果是增、删、改的sql语句,执行成功后返回result对象:其中affectedRows为受影响的行数,大于0说明数据库有实质性变化,因此需要再通过判断affectedRows才能最终确定数据添加成功。
{
fieldCount: 0,
affectedRows: 1,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
2) 如果是查询select语句,执行成功后返回的result永远是 数组。 查询的结果转换为数组中的对象
[
{
id: 1,
'班号': '1904B',
'班主任': '侯老师2',
'班长': '斛晓强',
'教室': '412'
},
{
id: 2,
'班号': '1903C',
'班主任': '王老师',
'班长': '张雪媛',
'教室': '205'
}
]