自己如何建设刷赞网站,appstore官网入口,wordpress插件支付宝积分,网页制作工具mysql安装操作MySQL数据库的第三方模块#xff08;mysql#xff09;通过第三方模块#xff08;mysql2#xff09;连接到MySQL数据库mysql插入数据mysql插入数据的便捷方式mysql更新数据mysql更新数据的便捷方式mysql删除数据安装操作MySQL数据库的第三方模块#xff08;my…
mysql安装操作MySQL数据库的第三方模块mysql通过第三方模块mysql2连接到MySQL数据库mysql插入数据mysql插入数据的便捷方式mysql更新数据mysql更新数据的便捷方式mysql删除数据安装操作MySQL数据库的第三方模块mysql
npm init -y对项目进行初始化操作对包进行管理npm install mysql 安装第三方模块安装完必须进行配置
// 1.导入mysql模块
// const mysql require(mysql)
// mysql模块不兼容检测时会报错
// 报错Client does not support authentication protocol requested by server; consider upgrading MySQL client
// 所以安装mysql2使用npm i mysql2安装再导入 mysql2通过第三方模块mysql2连接到MySQL数据库
// 1.导入mysql2模块
const mysql require(mysql2)
// 2建立与MySQL数据库的连接
const db mysql.createPool({host: 127.0.0.1, //数据库的IP地址user: root, //登录数据库的账号password: lusheng123, //登录数据库的密码database: my_db_01, //指定要操作哪个数据库
}) //3.检测mysql模块是否正常工作 SELECT 1 无作用只是测试
db.query(SELECT 1,(err, results) {//err为报错信息if (err) return console.log(err)//res是成功的消息console.log(results)
}) 打印出这个就证明成功
mysql插入数据
如果执行的select查询语句则执行的结果是数组insert into执行的结果是对象results.affectedRows代表操作的行数等于1代表插入成功
// 插入新增数据其中username为西游记password是000000
// 定义要插入的对象数据
const user {username: 西游记,password: 000000
}
// 定义待执行的SQL语句,别写错了
const sqlstr insert into users (username,password) values (?,?)
// 使用数组的形式依次为?占位符指定值
db.query(sqlstr,[user.username,user.password], (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if(results.affectedRows1){console.log(插入数据成功)}
}) 数据库查询果然成功了
mysql插入数据的便捷方式
当新增数据时候如果数据对象的每个属性和数据表的字段一一对应set 代表这个对象身上有几个属性就插入几个属性
// 定义要插入的对象数据
const user1 {username: 西游记1,password: 0000001
}
// 定义待执行的SQL语句
const sqlstr1 insert into users set ?
// 使用数组的形式依次为?占位符指定值
db.query(sqlstr1,user1, (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if(results.affectedRows1){console.log(插入数据成功)}
}) mysql更新数据
const user1 {id: 7,username: 红楼梦,password: 0000001
}
// 定义待执行的SQL语句
const sqlstr1 update users set username?,password? where id ?
db.query(sqlstr1, [user1.username, user1.password, user1.id], (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if (results.affectedRows 1) {console.log(更新数据成功)}
})mysql更新数据的便捷方式
const user1 {id: 7,username: 红楼梦1,password: 0000001
}
// 定义待执行的SQL语句
const sqlstr1 update users set ? where id ?
db.query(sqlstr1, [user1, user1.id], (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if (results.affectedRows 1) {console.log(更新数据成功)}
})mysql删除数据 删除数据的时候推荐根据id这样的唯一标识来删除对应的数据 执行delete 语句后结果也是一个对象 如果有多个占位符则必须使用数组为每个占位符指定具体的值 如果只有一个数组可省略
// 定义待执行的SQL语句
const sqlstr delete from users where id?
db.query(sqlstr,6, (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if (results.affectedRows 1) {console.log(删除成功)}
})标记删除当然为了保险起见推荐使用标记删除的形式来模拟删除的动作就是设置状态字段来标记当前数据是否被删除字段参数status为1代表已删除为0代表未删除
// 定义待执行的SQL语句
const sqlstr update users set status? where id?
db.query(sqlstr,[1,7], (err, results) {//err为报错信息if (err) return console.log(err.message)//res.affectedRows是影响的行数if (results.affectedRows 1) {console.log(标记删除数据成功)}
})