重识(拾)Node

2023-08-11  本文已影响0人  羊驼驼驼驼
是谁在敲打我窗😯,是Node.png
nvm

node版本管理工具,可以切换多个nodejs版本

Http请求概述

DNS解析,建立TCP连接(3次握手🤝),发送http请求
server端接收到http请求,处理,并返回
客户端接收到返回数据,处理数据(如渲染页面)

常用的请求方式
const http = require('http')
const querystring = require('querystring')

const server = http.createServer((req, res) => {
  console.log('method:', req.method) // GET
  const url = req.url // 请求完整的url
  console.log('url:', url)
  req.query = querystring.parse(url.split('?')[1]) // 解析querystring
  console.log('query:', req.query)
  res.end(JSON.stringify(req.query)) // 返回querystring
})
server.listen(8002)
console.log('OK啦')
浏览器打开.png

客户端要向服务端传递数据,通过post data传递数据,使用postman或者apifox等工具模拟请求

const http = require('http')
const server = http.createServer((req, res) => {
    if(req.method === 'POST') {
        // 数据格式
        console.log('content-type', req.headers['content-type'])
        // 接收数据
        let postData = ""
        req.on('data', chunk => {
            postData += chunk.toString()
        })
        req.on('end', () => {
            console.log(postData)
            res.end('hello world') // 在这里返回,因为是异步
        })
    }
})
server.listen(8000)
console.log('OK啦')
image.png 模拟.png
测试项目
update user set status='0' where username='lisi';
select * from user where status='1'
// 查询satus不等于0的数据
select * from users where status <> 0
软删除.png

🍬 直接执行会报错提示正在运行安全模式

update user set realname='张三6' where username='zhangsan';  //    
报错啦.png

🍬 解决办法

 // 执行成功后这条命令可以删掉啦
SET SQL_SAFE_UPDATES = 0;

🍬 再次执行更新命令

成功啦.png
   select * from user; // 整张表
   select id,username from user; // 根据列查询
   select * from user where username='zhangsan' and `password` = '123';  // 根据条件查询and-且or-或
   select * from user where username like '%zhang%';  // 模糊查询
   select * from user where password like '%1%' order by id; // 按照id进行正序排列 desc倒序排列
  1. 下载
npm install --save mysql
  1. index.js
const mysql = require('mysql')

// 创建连接对象
const con = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'test',
    database: 'myblog'
})

// 开始连接
con.connect()

// 执行 sql 语句
const sql = 'select * from user;'
con.query(sql, (err, result) => {
    if(err) {
        console.error(err);
    }
    console.log(result);
})

// 关闭连接
con.end()
  1. 坑来了
// 运行
node index.js

// ✨有请咱们第一位坑闪亮登场✨
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support 
authentication protocol requested by server; consider upgrading MySQL client
私密马赛.jpg
终点来啦!!!
// 运行,你就会看到!!
node index.js
喜大乐奔啊兄弟们,谁懂一把辛酸泪.png
感谢感谢感谢这位兄台的倾囊相助啊,解决了俺的燃眉之急,大家多多支持【Node】使用Node.js连接数据库时报错客户端不支持服务器请求的身份验证协议_Genius-Sue的博客-CSDN博客
泪目.gif

未完待续...

诶.png
上一篇 下一篇

猜你喜欢

热点阅读