Node.js小记(下)

十六、

16.1 SQL 语法

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

16.2 SQL的WHERE 子句

在这里插入图片描述
在这里插入图片描述

16.3 SQL 的AND和OR 运算符

在这里插入图片描述
AND:
在这里插入图片描述
OR: 在这里插入图片描述

16.4 ORDER BY 子句升序排序

在这里插入图片描述
降序:在这里插入图片描述

16.5 count (*)

在这里插入图片描述

16.6 创建表格

在这里插入图片描述

16.7 操作数据库步骤:

1.`// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与 MySQL 数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1', // 数据库的 IP 地址
  user: 'root', // 登录数据库的账号
  password: 'admin123', // 登录数据库的密码
  database: 'my_db_01', // 指定要操作哪个数据库
})`
2.`// // 测试 mysql 模块能否正常工作
// db.query('select 1', (err, results) => {
//   // mysql 模块工作期间报错了
//   if(err) return console.log(err.message)
//   // 能够成功的执行 SQL 语句
//   console.log(results)
// }) `
3`// 查询 users 表中所有的数据
// const sqlStr = 'select * from users'
// db.query(sqlStr, (err, results) => {
//   // 查询数据失败
//   if (err) return console.log(err.message)
//   // 查询数据成功
//   // 注意:如果执行的是 select 查询语句,则执行的结果是数组
//   console.log(results)
// }) `
4.`// // 向 users 表中,新增一条数据,其中 username 的值为 Spider-Man,password 的值为 pcc123
//  const user = { username: 'Spider-Man', password: 'pcc123' }
// // 定义待执行的 SQL 语句
// const sqlStr = 'insert into users (username, password) values (?, ?)'
// // 执行 SQL 语句
// db.query(sqlStr, [user.username, user.password], (err, results) => {
//   // 执行 SQL 语句失败了
//   if (err) return console.log(err.message)
//   // 成功了
//   // 注意:如果执行的是 insert into 插入语句,则 results 是一个对象
//   // 可以通过 affectedRows 属性,来判断是否插入数据成功
//   if (results.affectedRows === 1) {
//     console.log('插入数据成功!')
//   }
// }) `
5.// 演示插入数据的便捷方式
 const user = { username: 'Spider-Man2', password: 'pcc4321' }
// 定义待执行的 SQL 语句
const sqlStr = 'insert into users set ?'
// 执行 SQL 语句
db.query(sqlStr, user, (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('插入数据成功')
  }
}) 
6.`// 演示如何更新用户的信息
 const user = { id: 6, username: 'aaa', password: '000' }
// 定义 SQL 语句
const sqlStr = 'update users set username=?, password=? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user.username, user.password, user.id], (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行了 update 语句之后,执行的结果,也是一个对象,可以通过 affectedRows 判断是否更新成功
  if (results.affectedRows === 1) {
    console.log('更新成功')
  }
}) `
7.// 演示更新数据的便捷方式
 const user = { id: 6, username: 'aaaa', password: '0000' }
// 定义 SQL 语句
const sqlStr = 'update users set ? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user, user.id], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('更新数据成功')
  }
}) 
8.// 删除 id 为 5 的用户
 const sqlStr = 'delete from users where id=?'
db.query(sqlStr, 5, (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行 delete 语句之后,结果也是一个对象,也会包含 affectedRows 属性
  if (results.affectedRows === 1) {
    console.log('删除数据成功')
  }
}) 
9.// 标记删除
// const sqlStr = 'update users set status=? where id=?'
// db.query(sqlStr, [1, 6], (err, results) => {
//   if (err) return console.log(err.message)
//   if (results.affectedRows === 1) {
//     console.log('标记删除成功')
//   }
// })

16.8 标记删除

标记删除

十七 Web开发模式

17.1 web开发模式

在这里插入图片描述
在这里插入图片描述

17.2 HTTP协议的无状态性

在这里插入图片描述

17.3 什么是Cookie?

在这里插入图片描述
在这里插入图片描述

17.4 前后端的身份认证

cookie 不具有安全性
在这里插入图片描述

17.5 提高身份认证安全性

在这里插入图片描述

17.6 Session 的工作原理

在这里插入图片描述

17.7 配置express-session 中间件

session
所有请求都需要通过中间件处理

17.8 向 session 中存储数据

POST
GET

17.9 清空session

清空session

十八、JWT 认证机制

18.1 了解session 认证

在这里插入图片描述

18.2 JWT 工作原理

在这里插入图片描述

18.3 JWT 组成部分

在这里插入图片描述

18.4 使用方式

安装 JWT 相关的包

在这里插入图片描述

18.5 定义 secret 密钥

在这里插入图片描述

18.6 将 JWT字符串 还原为 JSON 对象

在这里插入图片描述

18.7 捕获解析JWT 失败后产生的错误

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值