在项目中操作Mysql

219 阅读2分钟

在项目中 操作 MySQL

  1. 安装 MYSQL 数据库 第三方模块(mysql)

  2. 通过mysql模块 连接到 MySQL数据库

  3. 通过my sql 模块 执行SQL 语句

     npm init -y
     npm i mysql
    

配置mysql 模块

	// 导入数据库	
	const mysql = requier('mysql')
    // 建立 与 MYSQL 数据库连接
    const db =mysql.createPool({
        host:'127.0.0.1',  //数据库ip地址
        user:'root',		//登录数据库账号
        password:'admin123',	//登录数据库密码
        database:'my_db_01'		//指定摇操作的哪个数据库
    })

测试mysql 是否 正常工作

        // 厕所 mysql 是否 正常工作
    db.query('select 1',(err,result)=>{     //select 1 没有意义   仅测试用
      if(err) return console.log(err.message)
      console.log(result);
    })

操作数据库

插入数据

image.png

    // 插入数据
    const user={username:'zt2',usermessage:'zt123456'}
    const queryStr ="insert into users (username,password) values(?,?)"
    db.query(queryStr,[user.username,user.usermessage],(err,result)=>{    
      if(err) return console.log(err.message)
      // console.log(result);
      if(result.affectedRows ==1) console.log('插入数据成功');
    })

插入数据的便捷方式

​ 如果 数据对象的属性数据表 字段 一 一 对应

	const user={username:'zt2',password:'zt123456'}
    const queryStr ="insert into users set ?"
    db.query(queryStr,user,(err,result)=>{    
      if(err) return console.log(err.message)
      // console.log(result);
      if(result.affectedRows ==1) console.log('插入数据成功');
    })

更新数据

     const user={ id:12, username:'xdf',password:'zdnb'}
    const sqlStr ="update users set username=?, password=? where id=? "
    db.query(sqlStr,[user.username,user.password,user.id],(err,result)=>{    
      if(err) return console.log(err.message)
      // console.log(result);
      if(result.affectedRows ==1) console.log('更新数据成功');
    }) 

注意事项

  1. update 单词
  2. 如果 数据表中 没有可更新的 项不会继续运行
  3. 执行了 update 语句之后 结果 也是一个 对象 可通过 affectRows 判断是否更新成功

更新数据便捷方式

    const user={ id:11, username:'lhh',password:'zdcb'}
    const sqlStr ="update users set ? where id=?"
    db.query(sqlStr,[user,user.id],(err,result)=>{    
      if(err) return console.log(err.message)
      // console.log(result);
      if(result.affectedRows ==1) console.log('更新数据成功');
    }) 

注意事项

  1. set? where id =>[user,user.id]

删除数据

在删除数据是,推荐根据 id 唯一标识 来删除对应的数据

DELETE FORM 数据表 WHERE

    const sqlStr ="delete from users where id=?"
    db.query(sqlStr,7,(err,result)=>{    
      if(err) return console.log(err.message)
      // console.log(result);
      if(result.affectedRows ==1) console.log('删除数据成功');
    }) 


注意事项

​ 调用 db.query() 执行 SQL语句 为占位符指定具体的值

  1. sql语句中有多个 占位符 ,则必须使用数组为每个占位符指定具体的值
  2. 如果 sql 只有一个占位符 则可以省略数组