导入mysql模板,并配置。host为ip地址;user登录数据库的账户;password登录数据库的密码;database是数据库的名称
// 导入mysql模板
const mysql=require('mysql')
const db=mysql.createPool({
host:'127.0.0.1',
user:'root',
password:'admin123',
database:'my_db_01',
})
测试配置mysql是否成功 ,SELECT 1这儿可以输入任意值
db.query('SELECT 1',(err,results)=>{
if(err) return console.log(err.message)
console.log(results)
终端输入node 加文件的项目。出现一下的情况说明配置成功。
查询数据库中users表中的数据
const sqlstr='select * from users'
db.query(sqlstr,(err,results)=>{
if(err) return console.log(err.message);
// 执行的结果是数组
console.log(results);
})
输入node加文件名执行
插入数据:向users表中,新增一条数据
const user={username:'Tony',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert into users(username,password) values(?,?)'
// 执行sql语句
db.query(sqlStr,[user.username,user.password],(err,results)=>{
if(err) return console.log(err.message)
// 如果执行的是insert into 插入语句,那么执行results是个对象
// 可以通过affectedRows来判断
if(results.affectedRows===1) {
console.log("插入数据成功");
}
})
node加文件名执行文件
数据库中users表新增的smart
插入数据的便捷方法
数据对象的每个属性和数据表的字段一一对应,那么可以使用下列方法
const user={username:'quit',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert users set ?'
// 执行sql语句
db.query(sqlStr,user,(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("插入数据成功");
}
})
node加文件名执行文件,成功后会输入插入数据成功。如上图
数据库中增加了quit这行数据
更新用户数据的两种方法
-
const user={id:5,username:'smart',password:'123456'} // 定义sql语句 const sqlStr='update users set username=?,password=? where id=?' // 执行sql语句 db.query(sqlStr,[user.username,user.password,user.id],(err,results)=>{ if(err) return console.log(err.message); if(results.affectedRows===1){ console.log("更新数据成功") } })
-
const user={id:5,username:'jood',password:'abcbca'} const sqlStr='update users set ? where id=?' db.query(sqlStr,[user,user.id],(err,results)=>{ if(err) return console.log(err.message); if(results.affectedRows===1){ console.log("更新数据成功") } })
删除数据的两种方法
const sqlStr='delete from users where id=?'
// 一个占位符可以省略数组
db.query(sqlStr,7,(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("数据删除成功")
}
})
数据库展示
一般采用标记删除的方法对数据进行处理
// 推荐使用标记删除的方法,模拟删除
const sqlStr='update users set status=? where id=?'
db.query(sqlStr,[1,4],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("标记删除成功")
}
})
展示最终所有代码
// 导入mysql模板
const mysql=require('mysql')
const db=mysql.createPool({
host:'127.0.0.1',
user:'root',
password:'admin123',
database:'my_db_01',
})
// 测试mysql能否正常工作
/* db.query('SELECT 1',(err,results)=>{
if(err) return console.log(err.message);
console.log(results);
}) */
// 查询users表中所有的数据
/* const sqlstr='select * from users'
db.query(sqlstr,(err,results)=>{
if(err) return console.log(err.message);
// 执行的结果是数组
console.log(results);
})
*/
// 向users表中,新增一条数据
/* const user={username:'smart',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert into users(username,password) values(?,?)'
// 执行sql语句
db.query(sqlStr,[user.username,user.password],(err,results)=>{
if(err) return console.log(err.message)
// 如果执行的是insert into 插入语句,那么执行results是个对象
// 可以通过affectedRows来判断
if(results.affectedRows===1) {
console.log("插入数据成功");
}
}) */
// 插入数据的便捷方法
// 数据对象的每个属性和数据表的字段一一对应,那么可以使用下列方法
/* const user={username:'quit',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert users set ?'
// 执行sql语句
db.query(sqlStr,user,(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("插入数据成功");
}
})
*/
// 更新用户数据
/* const user={id:5,username:'smart',password:'123456'}
// 定义sql语句
const sqlStr='update users set username=?,password=? where id=?'
// 执行sql语句
db.query(sqlStr,[user.username,user.password,user.id],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("更新数据成功")
}
}) */
// 更新数据的简便方式
/* console.log("正在更新数据....");
setTimeout(() => {
const user={id:5,username:'jood',password:'abcbca'}
const sqlStr='update users set ? where id=?'
db.query(sqlStr,[user,user.id],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("更新数据成功")
}
})
}, 2000); */
// 删除数据
/* const sqlStr='delete from users where id=?'
// 一个占位符可以省略数组
db.query(sqlStr,7,(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("数据删除成功")
}
}) */
// 标记删除
// 推荐使用标记删除的方法,模拟删除
const sqlStr='update users set status=? where id=?'
db.query(sqlStr,[1,4],(err,results)=>{
if(err) return console.log(err.message);
if(results.affectedRows===1){
console.log("标记删除成功")
}
})