clipboard.png

1. 安装mysql数据库

:::success npm install mysql :::

2. 建立连接

:::success const db = mysql.createPool({
host:’127.0.0.1’,//数据库的IP地址
user:’root’,//数据库的账号
password:’ygn0522’, //数据库密码
database:’my_db_01’ //指定要操作那个数据库
}) :::

3. 检测是否正常工作

  1. db.query('select * from users', (err, result) => {
  2. if(err)return console.log(err.message)
  3. console.log(result)
  4. })

3.1 查询数据

  1. const str = 'select * from users'
  2. db.query(str,(err, res) => {
  3. if(err) return console.log(err.message)
  4. console.log(res)
  5. })
  6. const str = 'select username, passername from users'
  7. db.query(str,(err, res) => {
  8. if(err)
  9. return console.log(err.message)
  10. console.log(res)
  11. })

3.2 插入数据

  1. //要插入的数据对象
  2. const obj = {userName:'OPPO', passername:'OPPO132'}
  3. //待执行的SQL语句, 其中的?表示占位符
  4. const sqlStr = 'insert into users (username, passername) values (?,?)'
  5. db.query(sqlStr, [obj.userName,obj.passername], (err,res) => {
  6. //失败
  7. if(err)return console.log(err.message)
  8. //成功
  9. if(res.affectedRows === 1){
  10. console.log('插入成功')
  11. }
  12. })
  13. const obj ={username:'HHAA', passername:'HHAA123',}
  14. const sqlStr = 'insert into users set ?'
  15. db.query(sqlStr,obj, (err, res) => {
  16. if(err)return console.log(err.message)
  17. if(res.affectedRows === 1){
  18. console.log('插入数据成功')
  19. }
  20. })

3.3 更新数据

  1. const user = { id: 5, username: 'IRIC', passername: '123456' }
  2. const sqlSre = 'update users set username=?,passername=?where id=?'
  3. db.query(sqlSre, [user.username, user.passername, user.id], (err, res) => {
  4. if (err) return console.log(err.message)
  5. if (res.affectedRows === 1) {
  6. console.log('插入数据成功')
  7. }
  8. })
  9. const user = { id: 5, username: 'IRIC22', passername: '123456-22' }
  10. const sqlStr= 'update users set ? where id=?'
  11. db.query(sqlStr,[user, user.id], (err, res) => {
  12. if (err) return console.log(err.message)
  13. if (res.affectedRows === 1) {
  14. console.log('插入数据成功')
  15. }
  16. })

3.4 删除数据

  1. const sqlStr= 'delete from users where id=?'
  2. db.query(sqlStr,5, (err, res) => {
  3. if (err) return console.log(err.message)
  4. if (res.affectedRows === 1) {
  5. console.log('删除成功')
  6. }
  7. })

使用delete语句,会真的把数据从数据表中删除掉。为了保险起见, 推介使用标记删除的形式。
所谓标记删除,就是在表中设置类似status这样的状态字段, 来标记当前数据是否被删除。
当用户执行了删除动作时, 我们并没有执行delete语句把数据删除掉, 而是执行了update语句, 将这条数据对应的status字段标记为删除即可。