node.js连接mysql

106 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情

连接数据库

创建了一个demo来做演示,里面有个index.js,然后在终端进入当前目录输入npm init -y初始化,就会出现一个package.json文件,然后继续安装一个mysql的工具,使用npm install mysql命令安装

安装完之后在index.js里将mysql引入进来,就可以通过mysql的createConnection()方法创建连接对象,给这个方法传几个数据库相应的信息:

  • host:主机地址
  • user:用户名
  • password:密码
  • port:端口号,默认3306
  • database:数据库名字
const mysql=require('mysql')

//创建连接对象
const connection= mysql.createConnection({
  host:'localhost',
  user:'root',
  password:'',
  port:3306,
  database:'my_db_01'
})

//开始连接
connection.connect()

本地需要使用XAMPP开启mysql服务

图片.png

执行sql语句

连接到数据库之后就可以去执行一些sql语句来对数据库进行操作

//查询语句
const sql='select * from users'

那我们如何对执行这个查询语句呢?在连接对象里有个query()方法,query就是查询的意思,query()就是用来查询sql语句的,里面有两个参数,第一个是查询的语句,第二个是查询的回调函数

//查询语句
const sql='select * from users'

//执行查询
connection.query(sql,(err,res)=>{
  if(err){
    console.log(err);
    return
  }
  console.log(res);
})

在终端执行node index.js运行,可以看到查询成功返回的结果,是一个JSON数组

图片.png

然后再试试其他的执行语句

//插入语句
const user={username:'admin',password:'a00000'}
const sql='insert into users set?'

connection.query(sql,user,(err,res)=>{
  if(err){
    console.log(err);
    return
  }
  console.log(res);
  // 通过affectedRows属性判断是否插入数据成功
  if(res.affectedRows===1){
    console.log('数据插入成功');
  }
})

终端重新运行一下,可以看到成功插入了数据

图片.png

再试试删除语句删除数据库里的数据,也是成功删除了

const sql="delete from users where username = 'zs'"

connection.query(sql,(err,res)=>{
  if(err){
    console.log(err);
    return
  }
  console.log(res);
})

图片.png