目录
安装与配置MySQL
MySQL的基本使用
使用 MySQL Workbench 管理数据库
1. 连接数据库
2. 了解主界面的组成部分
3. 创建数据库
4. 创建数据表
5. 向表中写入数据
SQL 的 SELECT 语句
1. 语法
2. SELECT * 示例
3. SELECT 列名称 示例
SQL 的 INSERT INTO 语句
1. 语法
2. INSERT INTO 示例
SQL 的 UPDATE 语句
1. 语法
2. UPDATE 示例 - 更新某一行中的一个列
3. UPDATE 示例 - 更新某一行中的若干列
SQL 的 DELETE 语句
1. 语法
2. DELETE 示例
SQL 的 WHERE 子句
1. 语法
2. 可在 WHERE 子句中使用的运算符
3. WHERE 子句示例
SQL 的 AND 和 OR 运算符
1. 语法
2. AND 运算符示例
2. OR 运算符示例
SQL 的 ORDER BY 子句
1. 语法
2. ORDER BY 子句 - 升序排序
3. ORDER BY 子句 – 降序排序
4. ORDER BY 子句 – 多重排序
SQL 的 COUNT(*) 函数
1. 语法
2. COUNT(*) 示例
3. 使用 AS 为列设置别名
在项目中操作MySQL
安装与配置 mysql 模块
1. 安装 mysql 模块
2. 配置 mysql 模块
3. 测试 mysql 模块能否正常工作
使用 mysql 模块操作 MySQL 数据库
1. 查询数据
2. 插入数据
3. 插入数据的便捷方式
4. 更新数据
5. 更新数据的便捷方式
6. 删除数据
7. 标记删除
前后端的身份认证
身份认证
不同开发模式下的身份认证
Session 认证机制
1. HTTP 协议的无状态性
2. 如何突破 HTTP 无状态的限制
3. 什么是 Cookie
4. Cookie 在身份认证中的作用
5. Cookie 不具有安全性
6. 提高身份认证的安全性
7. Session 的工作原理
在 Express 中使用 Session 认证
1. 安装 express-session 中间件
2. 配置 express-session 中间件
3. 向 session 中存数据
4. 从 session 中取数据
5. 清空 session
JWT 认证机制
1. 了解 Session 认证的局限性
2. 什么是 JWT
3. JWT 的工作原理
4. JWT 的组成部分
5. JWT 的三个部分各自代表的含义
6. JWT 的使用方式
在 Express 中使用 JWT
1. 安装 JWT 相关的包
2. 导入 JWT 相关的包
3. 定义 secret 密钥
4. 在登录成功后生成 JWT 字符串
5. 将 JWT 字符串还原为 JSON 对象
6. 使用 req.user 获取用户信息
7. 捕获解析 JWT 失败后产生的错误
安装与配置MySQL
软件安装包与配置详情请参考Node.js-安装与配置MySQL-Node.js文档类资源-CSDN下载
MySQL的基本使用
使用 MySQL Workbench 管理数据库
1. 连接数据库
![](https://i-blog.csdnimg.cn/blog_migrate/87ce6565fc18d3f883ae3adc104d6fe9.png)
2. 了解主界面的组成部分
![](https://i-blog.csdnimg.cn/blog_migrate/a9f3a8a2826b60527a88165ff8d5fd4a.png)
3. 创建数据库
![](https://i-blog.csdnimg.cn/blog_migrate/4603b292e063e332e0b0406f8b551162.png)
4. 创建数据表
![](https://i-blog.csdnimg.cn/blog_migrate/8ac0d188e418b25d5a525bbbd99ac9bd.png)
DataType 数据类型:
①
int
整数
②
varchar
(
len
)
字符串
③
tinyint
(
1
)
布尔值
字段的特殊标识:
①
PK
(
Primary Key
)
主键、唯一标识
②
NN
(
Not Null
)
值不允许为空
③
UQ
(
Unique
)
值唯一
④
AI
(
Auto Increment
)
值自动增长
5. 向表中写入数据
![](https://i-blog.csdnimg.cn/blog_migrate/9a72da401e645d57619ffba172b408c1.png)
SQL 的 SELECT 语句
1. 语法
SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4d0c99f3449c55ea0a382ea007df7efd.png)
注意:SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。
2. SELECT * 示例
我们希望从 users 表中选取所有的列,可以使用符号 * 取代列的名称,示例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/3e040ab288cc8e884a7302f10e081c1b.png)
3. SELECT 列名称 示例
如需获取名为 "username" 和 "password" 的列的内容(从名为 "users" 的数据库表),请使用下面的 SELECT 语句:
![](https://i-blog.csdnimg.cn/blog_migrate/a26b42a74091208e92500af4e80e697d.png)
SQL 的 INSERT INTO 语句
1. 语法
INSERT INTO 语句用于向数据表中插入新的数据行,语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/a4552a19aa42b66ab52d0b67e323fdfe.png)
2. INSERT INTO 示例
向 users 表中,插入一条 username 为 tony stark,password 为 098123 的用户数据,示例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/59d5e96df895ed0d7b870dfb8f26966b.png)
SQL 的 UPDATE 语句
1. 语法
Update 语句用于修改表中的数据。语法格式如下
![](https://i-blog.csdnimg.cn/blog_migrate/364b9af717a3ae799483b20f7b8353ac.png)
2. UPDATE 示例 - 更新某一行中的一个列
把 users 表中 id 为 7 的用户密码,更新为 888888。示例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/21b007787a837dddfb6e43e7c6e04179.png)
3. UPDATE 示例 - 更新某一行中的若干列
把 users 表中 id 为 2 的用户密码和用户状态,分别更新为 admin123 和 1。示例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/574fec559b933c8a2417bcb78072906e.png)
SQL 的 DELETE 语句
1. 语法
DELETE 语句用于删除表中的行。语法格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/9097ef2b56d2cafc203bf636fa36832e.png)
2. DELETE 示例
从 users 表中,删除 id 为 4 的用户,示例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/49645072f7bbbb9336c75d5bd0349e42.png)
SQL 的 WHERE 子句
1. 语法
WHERE 子句用于限定选择的标准。在 SELECT、UPDATE、DELETE 语句中,皆可使用 WHERE 子句来限定选择的标准。
![](https://i-blog.csdnimg.cn/blog_migrate/690ada340e14ce4bf7327e75b68c6ccc.png)
2. 可在 WHERE 子句中使用的运算符
下面的运算符可在 WHERE 子句中使用,用来限定选择的标准:
![](https://i-blog.csdnimg.cn/blog_migrate/1d5151e43156dd527393a1cbde8c845f.png)
注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=
3. WHERE 子句示例
可以通过 WHERE 子句来限定 SELECT