node.js操作mysql数据库,写一个真实的接口
2021/9/21 19:10:05
本文主要是介绍node.js操作mysql数据库,写一个真实的接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
mysql模块是一个第三方模块,专门用来操作MySQL数据库。 我们可以在npm包中先下载模块才能进行node.js连接操作mysql数据库。
npm包下载方法参考 mysql模块介绍
使用步骤
要想用这个包连接数据库,首先要确保在电脑有mysql(phpstudy 还要启动mysql服务)
一共需要4个步骤:
-
加载 MySQL 模块
-
创建 MySQL 连接对象
-
连接 MySQL 服务器
-
执行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来测试
思路
- 创建项目serverAPI
- npm init --yes
- 安装包: npm i express mysql
- 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}) } }) })
这篇关于node.js操作mysql数据库,写一个真实的接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略