Node操作mysql 配置 mysql 模块
安装 mysql 模块
建立连接
1 2 3 4 5 6 7 8 const mysql = require ('mysql' )const db = mysql.createPool ({ host : '127.0.0.1' , user : 'root' , password : 'root' , database : 'test' , })
测试是否正常工作
1 2 3 4 db.query ('select 1' , (err, results ) => { if (err) return console .log (err.message ) console .log (results) })
操作 mysql 数据库 1.查询数据
1 2 3 db.query ('select * from users' , (err, results ) => { ... })
2.插入数据
1 2 3 4 5 6 7 8 const user={username :'王超' ,password :'pc1234' }const sql = 'insert into user (username,password) values(?, ?)' db.query (sql, [user.username , user.password ], (err, results ) => { if (err) return console .log (err.message ) if (results.affectedRows === 1 ) console .log ('插入成功' ) })
向表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速插入数据:
1 2 3 4 5 const user = {username :'Bruce' , password :'55520' }const sql = 'insert into users set ?' db.query (sql, user, (err, results ) => { ... })
3.更新数据
1 2 3 4 const sql = 'update users set username=?, password=? where id=?' db.query (sql, [username, password, id], (err, results ) => { ... })
快捷方式:
1 2 3 4 5 const user = {id :7 ,username :'Bruce' ,password :'55520' }const sql = 'update users set ? where id=?' db.query (sql, [user, user.id ], (err, results ) => { ... })
4.删除数据
1 2 3 4 const sql = 'delete from users where id=?' db.query (sql, id, (err, results ) => { ... })
使用 delete 语句会真正删除数据,保险起见,使用标记删除的形式,模拟删除的动作。即在表中设置状态字段,标记当前的数据是否被删除。
1 2 3 4 5 const sqlDelet='update user set status =? where id=?' db.query (sqlDelet,[1 ,6 ],(err, results )=> { if (err) return console .log (err.message ) if (results.affectedRows === 1 ) console .log ('删除成功' ) })