数据库与身份认证
1.数据库的基本概念
2.安装并配置MySQL
3.MySQL的基本使用
3.1使用MySQL workbench管理数据库
- 1.连接数据库
- 2.了解主界面的组成部分
- 3.创建数据库
- 4.创建数据表:DataType数据类型—int整数;varchar(len)字符串;tinyint(1)布尔值 ; 字段的特殊标识—PK 主键、唯一标识;NN 值不允许为空;UQ值唯一;AI 值自动增长
- 5.向表中写入数据
3.2 使用SQL管理数据库
- 1.什么是SQL:结构化查询语言,专门用来访问和处理数据库的编程语言,能够让我们以编程的形式,操作数据库里面的数据
- SQL是一门数据库编程语言;使用SQL语言编程出来的代码,叫做SQL语句;SQL语言只能在关系型数据库中使用(如 MySQL、Oracle、SQL server),非关系型数据库(Mongodb)不支持
- 2.SQL能做什么
- 3.SQL的学习目标:增删改查
3.3 SQL的SELECT语句
- 查询所有数据:SELECT * FORM 表名称 ;SELECT 列名称 FORM 表名称
3.4 SQL的INSERT INTO语句
- 插入新数据: insert into table_name (列1,列2,…) values(值1,值2,…)
3.5 SQL的update语句
- 更新数据: update 表名称 set 列名称1 = 新值1,列名称2 = 新值2 where id=2
3.6 SQL的delete语句
- 删除数据: delete from 表名称 where id=4
3.7 SQL的where子句:
- 选定选择的标准 <>表示‘不等于’
3.8 SQL的and和or运算符
- 用在where里
3.9 SQL的order by子句
- 升序排序 默认ASC;降序排序 desc;多重排序 ‘,’
3.10 SQL的count(*)函数
- 返回查询结果的总数据条数;使用AS为列设置别名
select count(*) total from users where status=0
4.在项目中操作MySQL
- 4.1在项目中操作数据库的步骤:安装MySQL的第三方模块;连接到MySQL数据库;MySQL语句
- 4.2安装与配置mysql模块:安装包
npm i mysql
; js中导入模块,建立于MySQL数据库的联系mysql.createPool({host:'127.0.0.1', user:'root', password:'admin123', database:'my_db_01',})
- 4,3 测试mysql模块是否正常工作:db.query()
- 4.4 使用mysql模块操作MySQL数据库:
- 查询数据:
db.query('select * from users ', (err,results)=>{ console.log(results)})
- 插入数据:可用’?'占位,使用数组的形式,依次为?占位符指定具体的值;可用
results.affectRows===1
来判断是否插入成功; - 更新数据:
- 删除数据:推荐根据id这样的唯一标识,来删除数据;标记删除,通过status这样的状态字段来更新数据
- 查询数据:
5.前后端身份认证
- 5.1 Web开发模式:服务器渲染的Web开发模式;前后端分离的开发模式(后端提供API接口,前端通过AJAX调用接口)
- 5.2 身份认证:通过一定的手段,完成对用户身份的确认;服务器渲染—Session认证机制,前后端分离—JWT认证机制
- 5.3 Session认证机制
- HTTP协议的无状态性
- 如何突破HTTP无状态的限制:Cookie(会员卡身份认证方式)
- Cookie:键值对和可选属性(有效期、安全性、适用范围)组成;自动发送、域名独立、过期实现、4KB限制;不具有安全性;精髓—“会员卡+刷卡认证”
- 5.4 在Express中使用Session认证
- 5.5 JWT认证机制
- 跨域认证解决方法
- 5.6 在Express中使用JWT