1.创建一个文件夹打开文件夹终端输入

npm init -y

  注释:

        如果文件夹的名字中包括中文

npm init  //按回车.就不是npm init -y了

package name: (新建文件夹) mys //这一条是你需要输入的名字.用英文
//剩下的全部回车确定
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:\Users\xx\Desktop\新建文件夹\package.json:

{
  "name": "mys",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)

2.下包

//终端中输入
PS C:\Users\xx\Desktop> npm i mysql

3.在js文件中导入

const mysql = require('mysql')

4.导入其他配置需求

//下载.导入mysql
//npm i mysql
const mysql = require('mysql')
//导入express
const express = require('express')
//创建web
const app = express()

//解析获取的文字    配置中间件
app.use(express.urlencoded({ extended: false}))

//启动
app.listen(3030, () => {
    console.log('http://127.0.0.1:3030');
})

5.创建一个db连接对象

//创建一个db链接对象
const db = mysql.createPool({
    host: '127.0.0.1',//连接哪一个服务器上的mysql IP地址
    user: 'root',//数据库的用户名
    password: 'root',//数据库的密码
    database:'web67'//操作的数据库名称
})

6.创建路由根据db连接对象测试是否获取成功

app.get('/get', (req, res) => {
//通过db连接对象测试是否连接成功  可以通过db.query来执行sql语句
//查询语句data得到的是一个数组  增删改得到的是受影响的语句
db.query('select * FROM users ', (err, data) => {
    //如果连接失败  或者sql语句写错
    if (err) return console.log(err.message);
    if (data.length === 0) return console.log('没有数据');
    res.send({
    status: 0,
    msg: '数据获取成功',
    data
      })
   })
})

通过postman可以查看,在查看前需要开启服务器管理软件并且在终端启动.

因为是get请求,选择的是get方式和 params  然后send

mysql80咋删除_mysql

 7.添加数据

app.post('/post', (req, res) => {
    //获取数据.通过req.body
    const date = req.body
    //获取操作指令
    const sql = 'insert into users set ?'
    db.query(sql, date,(err, data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('添加失败');
        res.send({
            status: 0,
            msg: '添加成功',
       })
    })
})

 

mysql80咋删除_mysql_02

 添加使用的是post请求.postman 需要切换post  根据body打开 选择对应的方式.

因为我们前面配置了中间件解析文字,所以不会出错.如果出错.注意看自己是否配置了解析中间件

username   password   要和你本地数据库里的名字一样.

 8.修改数据

app.post('/updateuser', (req, res) => {
    const date = req.body
    const sql = 'update users set ?  WHERE id = ?'
    db.query(sql, [date, date.id],(err,data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('修改失败');
        res.send({
            status: 0,
            msg: '修改成功',
       })
    })
})

 

mysql80咋删除_sql_03

mysql80咋删除_sql_04

mysql80咋删除_mysql_05

 9.删除

app.get('/shanchu/:id', (req, res) => {
    const date =  req.params.id
    const sql = 'update users set  WHERE id = ?'
    db.query(sql,date,(err,data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('删除失败');
        res.send({
            status: 0,
            msg: '删除成功',
       })
    })
})

mysql80咋删除_mysql80咋删除_06

 注意:

          删除数据会永久删除.所以测试的时候根据status 实现一个类似回收站的操作

const sql = 'update users set status = 0 WHERE id = ?'

 完整代码:

//下载.导入mysql
//npm i mysql
const mysql = require('mysql')
//导入express
const express = require('express')
//创建web
const app = express()

//解析获取的文字    配置中间件
app.use(express.urlencoded({ extended: false}))
//创建一个db链接对象
const db = mysql.createPool({
    host: '127.0.0.1',//连接哪一个服务器上的mysql IP地址
    user: 'root',//数据库的用户名
    password: 'root',//数据库的密码
    database:'web67'//操作的数据库名称
})
//创建路由
app.get('/get', (req, res) => {
//通过db连接对象测试是否连接成功  可以通过db.query来执行sql语句
//查询语句data得到的是一个数组  增删改得到的是受影响的语句
db.query('select * FROM users ', (err, data) => {
    //如果连接失败  或者sql语句写错
    if (err) return console.log(err.message);
    if (data.length === 0) return console.log('没有数据');
    res.send({
    status: 0,
    msg: '数据获取成功',
    data
      })
   })
})
app.post('/post', (req, res) => {
    //获取数据.通过req.body
    const date = req.body
    //获取操作指令
    const sql = 'insert into users set ?'
    db.query(sql, date,(err, data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('添加失败');
        res.send({
            status: 0,
            msg: '添加成功',
       })
    })
})

//根据ID更新username
//创建路由
app.post('/updateuser', (req, res) => {
    const date = req.body
    const sql = 'update users set ? WHERE id = ?'
    db.query(sql, [date, date.id],(err,data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('修改失败');
        res.send({
            status: 0,
            msg: '修改成功',
       })
    })
})
//创建删除
app.get('/shanchu/:id', (req, res) => {
    const date =  req.params.id
    const sql = 'update users set status = 0 WHERE id = ?'
    db.query(sql,date,(err,data)=> {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('删除失败');
        res.send({
            status: 0,
            msg: '删除成功',
       })
    })
})
//假删除  类似
//启动
app.listen(3030, () => {
    console.log('http://127.0.0.1:3030');
})