MySQL — 数据库的基本概念、安装并配置MySQL、MySQL的基本使用、在项目中操作MySQL、前后端的身份认证

本文详细介绍了MySQL数据库的基础概念、安装配置、SQL基本使用,包括SELECT、INSERT、UPDATE、DELETE等操作。此外,还探讨了在项目中操作MySQL的步骤,以及如何使用Node.js的mysql模块。最后,深入讲解了Web开发中的身份认证,包括Session和JWT机制,以及在Express中的实现。
摘要由CSDN通过智能技术生成

目录

一、数据库的基本概念

1.什么是数据库

2.常见的数据库及分类

3. 传统型数据库的数据组织结构

(1).Excel的数据组织结构

(2).传统型数据库的数据组织结构

(3).实际开发中库、表、行、字段的关系

二、安装并配置MySQL 

1. 了解需要安装哪些MySQL相关的软件

2.MySQL 在 Windows 环境下的安装

三、MySQL的基本使用

1.创建数据表 

2.使用 SQL 管理数据库

1. 什么是 SQL

(2). SQL 能做什么

(3). SQL 的学习目标

3. SQL 的 SELECT 语句

(1). 语法

4. SQL 的 INSERT INTO 语句

(1). 语法

(2). INSERT INTO 示例

5. SQL 的 UPDATE 语句

(1). 语法

(2). UPDATE 示例 - 更新某一行中的一个列

(3). UPDATE 示例 - 更新某一行中的若干列

6. SQL 的 DELETE 语句

(1). 语法

(2). DELETE 示例

7. SQL 的 WHERE 子句

(1). 语法

(2). 可在 WHERE 子句中使用的运算符

(3). WHERE 子句示例

8. SQL 的 AND 和 OR 运算符

(1). 语法

(2). AND 运算符示例

(3). OR 运算符示例

9. SQL 的 ORDER BY 子句

(1). 语法

(2). ORDER BY 子句 - 升序排序

(3). ORDER BY 子句 – 降序排序

(4). ORDER BY 子句 – 多重排序

10. SQL 的 COUNT(*) 函数

(1). 语法

(2). COUNT(*) 示例

(3). 使用 AS 为列设置别名

四、在项目中操作MySQL

1. 在项目中操作数据库的步骤

2. 安装与配置 mysql 模块

(1). 安装 mysql 模块

(2). 配置 mysql 模块

(3). 测试 mysql 模块能否正常工作

3. 使用 mysql 模块操作 MySQL 数据库

(1). 查询数据

(2). 插入数据

(3). 插入数据的便捷方式

(4). 更新数据

(5). 更新数据的便捷方式

(6). 删除数据

(7). 标记删除

五、前后端的身份认证

1. Web 开发模式

(1). 服务端渲染的 Web 开发模式

(2). 服务端渲染的优缺点

(3). 前后端分离的 Web 开发模式

(4). 前后端分离的优缺点

(5). 如何选择 Web 开发模式

2. 身份认证

(1). 什么是身份认证

(2). 为什么需要身份认证

(3). 不同开发模式下的身份认证

3. Session 认证机制

(1). HTTP 协议的无状态性

(2). 如何突破 HTTP 无状态的限制

(3). 什么是 Cookie

(4). Cookie 在身份认证中的作用

(5). Cookie 不具有安全性

(6). 提高身份认证的安全性

(7). Session 的工作原理 

4. 在 Express 中使用 Session 认证

(1). 安装 express-session 中间件

(2). 配置 express-session 中间件

(3). 向 session 中存数据

(4). 从 session 中取数据

(5). 清空 session

5. JWT 认证机制

(1). 了解 Session 认证的局限性

(2). 什么是 JWT

(3). JWT 的工作原理 

(4). JWT 的组成部分

(6). JWT 的三个部分各自代表的含义

(7). JWT 的使用方式

6. 在 Express 中使用 JWT

(1). 安装 JWT 相关的包

(2). 导入 JWT 相关的包

(3). 定义 secret 密钥

(4). 在登录成功后生成 JWT 字符串

(5). 将 JWT 字符串还原为 JSON 对象

(6). 使用 req.user 获取用户信息

(7). 捕获解析 JWT 失败后产生的错误


一、数据库的基本概念

1.什么是数据库

        数据库(database)是用来组织、存储和管理数据的仓库。

        当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

        为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。

2.常见的数据库及分类

        市面上的数据库有很多种,最常见的数据库有如下几个:

  • MySQL 数据库(目前使用最广泛、流行度最高的开源免费数据库;Community + Enterprise)
  • Oracle 数据库(收费)
  • SQL Server 数据库(收费)
  • Mongodb 数据库(Community + Enterprise)

        其中,MySQL、Oracle、SQL Server 属于传统型数据库(又叫做:关系型数据库 SQL 数据库),这三者的设计理念相同,用法比较类似。

        而 Mongodb 属于新型数据库(又叫做:非关系型数据库NoSQL 数据库),它在一定程度上弥补了传统型数据库的缺陷。

3. 传统型数据库的数据组织结构

        数据的组织结构:指的就是数据以什么样的结构进行存储。

         传统型数据库的数据组织结构,与 Excel 中数据的组织结构比较类似。

        因此,我们可以对比着 Excel 来了解和学习传统型数据库的数据组织结构。

(1).Excel的数据组织结构

        每个Excel中,数据的组织结构分别为工作簿、工作表、数据行、列这四大部分组成。 

        ①整个 Excel 叫做工作簿

        ②users 和 books 是工作表

        ③users 工作表中有 3 行数据

        ④每行数据由 6 列信息组成

        ⑤每列信息都有对应的数据类型

(2).传统型数据库的数据组织结构

        在传统型数据库中,数据的组织结构分为数据库(database)、数据表(table)、数据行(row)、字段(field)这 4 大部分组成。

        ①数据库类似于 Excel 的工作簿

        ②数据表类似于 Excel 的工作表

        ③数据行类似于 Excel 的每一行数据

        ④字段类似于 Excel 的

        ⑤每个字段都有对应的数据类型

(3).实际开发中库、表、行、字段的关系

        ①在实际项目开发中,一般情况下,每个项目都对应独立的数据库

        ②不同的数据,要存储到数据库的不同表中,例如;用户数据存储到 users 表中,图书数据存储到 books 表中。

        ③每个表中具体存储哪些信息,由字段来决定,例如:我们可以为 users 表设计 id、userame,password 这3个字段。

        ④表中的行,代表每一条具体的数据。

二、安装并配置MySQL 

1. 了解需要安装哪些MySQL相关的软件

        对于开发人员来说,只需要安装 MySQL ServerMySQL Workbench 这两个软件,就能满足开发的需要了。

        MySQL Server:专门用来提供数据存储和服务的软件

        MySQL Workbench:可视化的 MySQL 管理工具,通过它,可以方便的操作存储在 MySQL Server 中的数据。

2.MySQL 在 Windows 环境下的安装

        在 Windows 环境下安装 MySQL,只需要运行 mysql-installer-community-8.0.19.0.msi 这个安装包,就能一次性将 MySQL Server 和 MySQL Workbench 安装到自己的电脑上。

三、MySQL的基本使用

1.创建数据表 

  DataType 数据类型:
        ① int 整数
        ② varchar ( len ) 字符串
        ③ tinyint ( 1 ) 布尔值
  字段的特殊标识:
        ① PK (Primary Key) 主键、唯一标识
        ② NN (Not Null) 值不允许为空
        ③ UQ (Unique) 值唯一
        ④ AI (Auto Increment) 值自动增长

2.使用 SQL 管理数据库

1. 什么是 SQL

        SQL(英文全称:Structured Query Language)是 结构化查询语言 ,专门用来 访问和处理数据库 的编程语言。能够让我们 以编程的形式 操作数据库里面的数据
        三个关键点:
  1.  SQL 是一门数据库编程语言
  2.  使用 SQL 语言编写出来的代码,叫做 SQL 语句
  3.  SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言

(2). SQL 能做什么

  1.  从数据库中查询数据
  2.  向数据库中插入新的数据
  3.  更新数据库中的数据
  4.  从数据库删除数据
  5.  可以创建新数据库
  6.  可在数据库中创建新表
  7.  可在数据库中创建存储过程、视图
  8.  etc…

(3). SQL 的学习目标

        重点掌握如何使用 SQL 从数据表中:
查询数据 (select) 、 插入数据 (insert into) 、 更新数据 (update) 、 删除数据 (delete)
        
        额外需要掌握的 4 种 SQL 语法:
where 条件 and 和 or 运算符 order by 排序 count(*) 函数

3. SQL 的 SELECT 语句

(1). 语法

        SELECT 语句用于 从表中查询数据 。执行的结果被存储在一个 结果表 中(称为 结果集 )。语法格式如下:
--从 FROM 指定的表中,查询出所有的数据。 * 表示所有列
SELECT * FROM 表名称
--从 FROM 指定的表中,查询出指定列名称(字段)的数据
SELECT 列名称 FROM 表名称
注意:SQL 语句中的 关键字 大小写不敏感 。SELECT 等效于 select,FROM 等效于 from

4. SQL 的 INSERT INTO 语句

(1). 语法

        INSERT INTO 语句用于 向数据表中 插入新的数据行 ,语法格式如下:
-- 向指定的表中,插入如下几列数据,列的值通过values一一指定
-- 注意:列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...)

(2). INSERT INTO 示例

        向 users 表中,插入一条 username tony stark password 098123 的用户数据,示例如下:

5. SQL 的 UPDATE 语句

(1). 语法

        Update 语句用于 修改表中的数据 。语法格式如下:
-- 语法解读:
-- 1.用UPDATE指定要更新哪个表中的数据
-- 2.用SET指定对应列的新值
-- 3.用WHERE指定更新的条件
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

(2). UPDATE 示例 - 更新某一行中的一个列

        把 users 表中 id 为 4   的用户密码,更新为 888888 。示例如下:

(3). UPDATE 示例 - 更新某一行中的若干列

        把 users 表中 id 2 用户密码 用户状态 ,分别更新为 admin123 1 。示例如下:

6. SQL 的 DELETE 语句

(1). 语法

        DELETE 语句用于删除表中的行。语法格式如下:
-- 语法解读:
-- 从指定的表中,根据 WHERE 条件,删除对应的数据行
DELETE FROM 表名称 WHERE 列名称 = 值

(2). DELETE 示例

        从 users 表中,删除 id 4 的用户,示例如下:

7. SQL 的 WHERE 子句

(1). 语法

        WHERE 子句用于 限定选择的标准 。在 SELECT UPDATE DELETE 语句中, 皆可使用 WHERE 子句来限定选择的标准。
-- 查询语句中的WHERE条件
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
-- 更新语句中的WHERE条件
UPDATE 表名称 SET 列=新值 WHERE 列 运算符 值
-- 删除语句中的WHERE条件
DELETE FROM 表名称 WHERE 列 运算符 值

(2). 可在 WHERE 子句中使用的运算符

        下面的运算符可在 WHERE 子句中使用,用来限定选择的标准:

注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=

(3). WHERE 子句示例

        可以通过 WHERE 子句来限定 SELECT 的查询条件:
-- 查询status为1的所有用户
select * from users where status=1
-- 查询password不为'admin123'的所有用户
select * from users where password!='
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值