1. 环境配置
- 先创建 mysql-test 文件夹,定位到当前目录
cd mysql-test
- 安装node_modules,配置 package.json 文件
npm init -y
- 安装 mysql
npm i mysql
2.导入并配置mysql
const mysql = require('mysql')
const db = mysql.createPool({
host: '127.0.0.1', //数据库IP地址
user: 'root', //数据库登录账号(修改为自己的登录信息)
password: 'root', //数据库登录密码
database: 'test' //要连接的数据库
})
3.测试连接
const sql = 'select * from user' //查询test数据库中user表的全部数据
db.query(sql, (err, res) => {
if(err) {
return console.log('数据库连接失败:' + err.message);
}
console.log('数据库连接成功:' + res);
})
4.操作数据库
(1)查询数据
const sqlStr = 'select * from books_management.book'
console.log(db)
db.query(sqlStr,(err,results)=>{
if(err) return console.log(err.message);
console.log(results);
})
(2)插入数据
const user = {name:'superman',pwd:'123456'}
const sqlStr = 'insert into books_management.user (name,pwd) values(?,?)'
db.query(sqlStr,[user.name,user.pwd],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('插入数据成功!')
}
})
//或者
const user = {name:'哈尔',pwd:'123456'}
const sqlStr = 'insert into books_management.user set ?'
db.query(sqlStr,user,(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('插入数据成功!')
}
})
(3)更新数据
const user = {name:'苏菲',pwd: 666}
const sqlStr = 'update books_management.user set name=?,pwd=? where id = 3'
db.query(sqlStr,[user.name,user.pwd],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('更新数据成功!');
}
})
//或者
const user = {name:'浪浪',pwd: 778778}
const sqlStr = 'update books_management.user set ? where id = 1'
db.query(sqlStr,[user],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('更新数据成功!');
}
})
(4)删除数据
const sqlStr = 'delete from books_management.user where id = ?';
db.query(sqlStr,[3],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('删除数据成功!');
}
})
//标记删除 delete会真正把数据删除,太危险的,很难找回数据
const sqlStr = 'update books_management.user set status = ? where id = ?'
db.query(sqlStr,[1,1],(err,results)=>{
if(results.affectedRows === 1) {
console.log('标记删除数据成功!');
}
})