安装MySQL模块
javascript
npm install mysql
// 或者
npm install mysql2
创建数据库连接
javascript
// 引入mysql
const mysql = require("mysql");
// 连接池
const db = mysql.createPool({
host:"localhost",
user:"xxxx", // 我本地数据库的账户名
password:"xxxxx", // 我本地的数据库登陆密码
database:"xhhcoder", // 我自己创建的数据库名字
})
查询数据
javascript
const sqlStr = 'select * from user';
db.query(sqlStr, (err, result)=>{
if(err) return console.log('连接失败')
select 查询语句,执行的结果是一个数组
console.log('连接成功', result)
})
插入数据
javascript
const user = {username: 'kobe', number: 24}
// 待执行的sql语句, ? 表示占位符
const sqlStr = 'insert into user (username, number) values (?, ?)';
// 使用数组的形式,依次为 ? 占位符指定具体的值
db.query(sqlStr, [user.username, user.number], (err, result) => {
if(err) return console.log('数据插入失败')
// 通过affectedRows属性来判断是否插入成功
if(result.affectedRows == 1){
console.log('数据插入成功')
}
})
插入数据 - 快捷方式
javascript
const user = {username: 'xhhCoder', number: 23}
// 待执行的sql语句, ? 表示占位符
const sqlStr = 'insert into user set ?';
// 使用数组的形式,依次为 ? 占位符指定具体的值
db.query(sqlStr, user, (err, result) => {
if(err) return console.log('数据插入失败')
// 通过affectedRows属性来判断是否插入成功
if(result.affectedRows == 1){
console.log('数据插入成功')
}
})
修改数据
javascript
const user = {username: 'xhhCoder', number: 6};
// 执行语句
const sqlStr = 'update user set number=? where username=?';
// []中的数据顺序,需要跟执行语句中 ? 的顺序保持一致
db.query(sqlStr, [user.number, user.username], (err, result)=>{
if(err) return console.log('数据更新失败', err.message)
// 通过affectedRows属性来判断是否更新成功
if(result.affectedRows == 1){
console.log('数据更新成功')
}
})
修改数据 - 快捷方式
javascript
const user = {username: 'lbj', number: 6};
// 执行语句
const sqlStr = 'update user set ? where username=?';
// []中的数据顺序,需要跟执行语句中 ? 的顺序保持一致
db.query(sqlStr, [user, user.username], (err, result)=>{
if(err) return console.log('数据更新失败', err.message)
// 通过affectedRows属性来判断是否更新成功
if(result.affectedRows == 1){
console.log('数据更新成功')
}
})
删除数据
javascript
const sqlStr = 'delete from user where username=?';
// 只有一个 ? 占位符的时候,可以不需要数组[]包括着参数
db.query(sqlStr, 'xhhCoder', (err, result)=>{
if(err) return console.log('数据删除失败', err.message)
// 通过affectedRows属性来判断是否更新成功
if(result.affectedRows == 1){
console.log('数据删除成功')
}
})