node.js操作mysql数据库,写一个真实的接口

mysql模块是一个第三方模块,专门用来操作MySQL数据库。 我们可以在npm包中先下载模块才能进行node.js连接操作mysql数据库。
npm包下载方法参考 mysql模块介绍

使用步骤

要想用这个包连接数据库,首先要确保在电脑有mysql(phpstudy 还要启动mysql服务)

一共需要4个步骤:

  1. 加载 MySQL 模块

  2. 创建 MySQL 连接对象

  3. 连接 MySQL 服务器

  4. 执行SQL语句

// 1. 加载msyql
var mysql = require('mysql');

// 2. 创建连接
var connection = mysql.createConnection({
  host     : 'localhost',   // 你要连接的数据库服务器的地址
  port     : 3306,// 端口号
  user     : 'root',        // 连接数据库服务器需要的用户名
  password : 'root',        // 连接数据库服务器需要的密码
  database : 'node136'      //你要连接的数据库的名字
});

// 3. 连接数据库
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log('数据库连接失败')
  // 没有错误对象提示连接成功
  console.log('mysql数据库连接成功')
});

// 4. 执行SQL语句
let sql = 'select id,name,age from student';//想要做不同操作更改不同sql语句即可
connection.query(sql, (err, result) => {
    if (err) {
    	console.log('错误',err)
    } else {
      console.log(result); // result就是查询结果
    }
});

参考地址: https://www.npmjs.com/package/mysql#introduction

写一个真正的接口

目标

基于nodejs 用express + mysql 包 写接口
基于nodejs 用express + mysql 包 写接口,实现学生数据添加。

要求:

接口1

添加学生数据
url: localhost:3000/api/student
method: post
参数格式:普通键值对

  • name: 字符串
  • age: 数值

测试:postman来测试

接口2

获取所有的学生数据

url: localhost:3000/api/student

method: get

参数:无

测试:postman来测试

思路

  1. 创建项目serverAPI
  2. npm init --yes
  3. 安装包: npm i express mysql
  4. restful风格

实现添加

sql.js

// 1. 加载msyql
var mysql = require('mysql');

// 2. 创建连接
var connection = mysql.createConnection({
  host     : 'localhost',   // 你要连接的数据库服务器的地址
  port     : 3306,// 端口号
  user     : 'root',        // 连接数据库服务器需要的用户名
  password : 'root',        // 连接数据库服务器需要的密码
  database : 'node136'      //你要连接的数据库的名字
});

// 3. 连接数据库
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log('数据库连接失败')
  // 没有错误对象提示连接成功
  console.log('mysql数据库连接成功')
});

module.exports = connection

参考代码

const express = require('express')

const app = express()

app.use(express.urlencoded())

const connection = require('./utils/sql')
app.post('/api/student',(req,res)=>{
    console.log(req.body)
    // 1. 接收普通键值对的参数
    const { name, age } = req.body
    // 2. 添加到数据库中
    const sql = `insert into student(name, age) values('${name}',${age})`
    console.log('要执行的sql', sql)
    // connection.query(sql语句,(err, data)=>{
    connection.query(sql,(err, data)=>{
        if(err) {
            console.log(err)
            res.json({msg:'添加失败', code: 0})
        } else {
            console.log(data)
            // 返回
            res.json({msg:'添加成功', code: 1})
        }
    })
})

app.get('/api/student',(req,res)=>{
    // 返回
    res.json({msg:'查询成功', code: 1})
})

app.listen(3000, ()=>{
    console.log('接口服务器启动,3000...')
})

实现查询

app.get('/api/student',(req,res)=>{
    // 创建sql
    // connection.query(sql,(err, data)=> {   })

    const sql = `select * from student`
    connection.query(sql,(err, data)=> {
        if(err) {
            res.json({msg:'查询失败', code: 0})
        } else {
            res.json({msg:'查询成功', code: 1,result: data})
        }
    })
})
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,可以的。首先需要先安装 mysqlmysql2 模块,可以通过以下命令进行安装: ``` npm install mysql mysql2 ``` 然后在 Node.js 中连接数据库出新增和修改接口的代码如下: ```javascript const mysql = require('mysql2'); // 创建连接池 const pool = mysql.createPool({ host: 'localhost', user: 'root', // 数据库账号 password: '123456', // 数据库密码 database: 'test', // 数据库名 waitForConnections: true, connectionLimit: 10, queueLimit: 0 }); // 新增接口 function addUser(name, age, callback) { pool.query('INSERT INTO users (name, age) VALUES (?, ?)', [name, age], (error, results, fields) => { if (error) { callback(error, null); } else { callback(null, results); } }); } // 修改接口 function updateUser(id, name, age, callback) { pool.query('UPDATE users SET name = ?, age = ? WHERE id = ?', [name, age, id], (error, results, fields) => { if (error) { callback(error, null); } else { callback(null, results); } }); } // 调用新增接口 addUser('Tom', 18, (error, results) => { if (error) { console.log(error); } else { console.log('新增成功'); } }); // 调用修改接口 updateUser(1, 'Jerry', 20, (error, results) => { if (error) { console.log(error); } else { console.log('修改成功'); } }); ``` 以上代码中,我们使用了 `mysql2` 模块来连接数据库,并通过 `pool.query` 方法执行 SQL 语句。在新增接口和修改接口中,我们都是通过 SQL 语句来操作数据库的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值