期末九天从入门到精通操作数据库(mysql)

对应资源包名称:

期末九天从入门到精通操作数据库(mysql) 

学习目标:

掌握数据库的基本操作,熟练使用navicat工具.

  • 九天极限掌握数据库

学习内容:

  1. 数据查询实验
  2. 视图管理实验
  3. 索引管理实验
  4. 用户安全性管理实验
  5. MySQL备份和还原实验
  6. MySQL编程基础与函数实验
  7. 存储过程与游标
  8. 触发器和事件管理实验
  9. Python操作MySQL数据库实验

学习时间:

每天完成一个学习内容,花费1~2个小时


学习产出:

实验任务一  数据查询实验任务

1. 实验目的

掌握无条件查询的使用方法;

掌握条件查询的使用方法;

掌握聚合函数查询的使用方法;

掌握分组查询的使用方法;

掌握查询的排序方法;

掌握连接查询的使用方法;

掌握子查询的使用方法;

2. 实验内容

根据实验任务一和实验任务二的实验中创建的学生成绩管理数据库以及其中的学生表、课程表和学生成绩表,进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。

(1)查询各位学生的学号、专业和姓名。

(2)查询课程的全部信息。

(3)查询数据库中有哪些专业。

(4)查询学时数大于60的课程信息。

(5)查询在2003年出生的学生的学号、姓名和出生日期。

(6)查询姓张的学生的学号、姓名和专业。

(7)查询没有考试成绩的学号和课程号。

(8)查询学号为“0538”的学生的平时成绩的总分。

(9)查询选修了K001课程的学生人数。

(10)查询数据库中共有多少个专业。

(11)查询选修三门以上(含三门)课程的学生的学号和考试平均分。

(12)查询“于兰兰”的选课信息,列出学号、姓名、课程名。

(13)查询与“张艳”同一班级的学生的学号和姓名。

(14)查询比“计算机应用基础”学时多的课程的课程号、课程名和课时。

(15)查询选修课程号为K002的学生的学号、姓名。

实验任务二 视图管理实验任务

1. 实验目的

掌握在MySQL中使用Navicat或者SQL语句创建和查询视图的方法(以SQL命令为重点)。

掌握在MySQL中使用Navicat或者SQL语句查看、修改和删除视图的方法(以SQL命令为重点)。

2. 实验内容

根据实验2.1中学生表、课程表和学生成绩表完成如下实验内容,给出实验涉及的SQL语句和执行结果截图。

在MySQL中使用Navicat或者SQL语句创建和查询视图

(1)在Navicat或命令行环境下,创建计算机专业的学生视图s_computer_view,视图包含学生表全部字段。

(2)在Navicat或命令行环境下,查询s_computer_view中内容。

(3)在Navicat或命令行环境下,创建2002年(含)后出生的女学生视图s_female_view,视图显示学生的学号(s_no)、姓名(s_name)、学生性别(s_sex)、出生日期(s_birthday)以及学生的联系方式(s_contact)。

(4)在Navicat或命令行环境下,通过视图s_female_view,查询张姓学生的信息。

(5)在Navicat或命令行环境下,创建学生选课信息视图sc_view,显示选修3学分(含)学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)。

(6)在Navicat或命令行环境下,创建学生选课成绩视图score_view,显示选修3学分(含)学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)、总成绩(total_score)。其中,总成绩按照——平时成绩*平时成绩比重+考试成绩*(1-平时成绩比重)公式计算。

(7)在Navicat或命令行环境下,创建学生成绩汇总视图score_group_view,提供每位学生考试成绩最高的选课信息,要求显示的视图字段包括学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)、考试成绩(total_score)。其中,总成绩按照——平时成绩*平时成绩比重+考试成绩*(1-平时成绩比重)公式计算。

(8)在Navicat或命令行环境下,通过视图score_group_view,按考试成绩降序排列学生成绩汇总情况。

MySQL中使用Navicat或者SQL语句修改和删除视图的方法

(1)使用SQL语句,查看s_computer_view视图的结构信息和状态信息。

(2)使用SQL语句,查看s_female_view视图的创建信息和元信息。

(3)在Navicat或命令行环境下,替换视图s_female_view,替换后的视图提供2003年(含)后出生的女学生信息,具体显示的字段包括学生的学号(s_no)、姓名(s_name)、学生性别(s_sex)、出生日期(s_birthday)。

(4)在Navicat或命令行环境下,修改视图sc_view,显示男同学选课情况,具体显示的字段包括学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)、总成绩(total_score)。其中,总成绩按照——平时成绩*平时成绩比重+考试成绩*(1-平时成绩比重)公式计算。

(5)在Navicat或命令行环境下,删除视图s_female_view。

实验任务三  索引管理实验

1. 实验目的

掌握在MySQL中使用Navicat或者SQL语句创建和使用索引的方法(以SQL命令为重点)。

掌握在MySQL中使用Navicat或者SQL语句查看和删除索引的方法(以SQL命令为重点)。

2. 实验内容

根据实验2.1中学生表、课程表和学生成绩表完成如下实验内容,给出实验涉及的SQL语句和执行结果截图。

在MySQL中使用Navicat或者SQL语句创建和使用索引的方法

(1)在Navicat或命令行环境下,使用CREATE INDEX为课程表上课程名称添加普通索引,索引名称自拟。

(2)在Navicat或命令行环境下,使用EXPLAIN语句分析查询计算机图形学课程信息时,索引的使用情况。

(3)在Navicat或命令行环境下,使用ALTER TABLE为学生表上学生姓名和出生日期附加复合唯一索引,索引名称自拟。

(4)在Navicat或命令行环境下,使用EXPLAIN语句,分析查询学生表时,使用学生姓名为查询条件和使用出生日期为查询条件,在索引使用时的差异性。

(5)在Navicat或命令行环境下,修改学生表,添加学生基本信息字段info,为学生基本信息字段添加全文索引,索引名称自拟。

MySQL中使用Navicat或者SQL语句查看和删除索引的方法

(1)在Navicat或命令行环境下,查看学生表上索引情况。

(2)在Navicat或命令行环境下,删除学生表上姓名和出生日期的复合索引。

实验任务四 用户安全性管理实验任务

1. 实验目的

掌握在MySQL中使用Navicat或者SQL语句用户管理的方法(以SQL命令为重点)。

掌握在MySQL中使用Navicat或者SQL语句权限授予和回收方法(以SQL命令为重点)。

掌握在MySQL中使用SQL语句角色创建、分配和激活方法(以SQL命令为重点)。

2. 实验内容

根据实验2.1中数据库,给出实验涉及的SQL语句和执行结果截图。

1.MySQL中使用Navicat或者SQL语句管理用户

(1)在Navicat或命令行环境下,创建一个允许在任意主机登录的用户,用户名为admin,密码为admin123,使用sha策略加密。

(2)使用SQL语句,创建一个允许在本地登录的用户,用户名为teacher,密码为teacher123,使用sha策略加密。

(3)使用SQL语句,同时创建一个允许在‘202.204.111.111’IP位置登录的2个用户,用户名1为student,密码为student123,用户2位student2,密码为student1233,两个用户均使用sha策略加密。

(4)使用SQL语句,将用户名为student的用户密码修改为123student。

(5)使用SQL语句,用查询语句,查询系统表,查看已经创建的用户情况。

(6)使用SQL语句,删除student2用户,并通过查询系统表,查看已经删除用户的情况。

2.MySQL中使用Navicat或者SQL语句授予和回收权限

(1)使用SQL语句,为admin用户授予全局全部权限,并允许权限转移。

(2)使用Navicat,为teacher语句授予teaching_lab数据库中课程表和成绩表的查找、修改数据权限,不允许权限转移。

(3)使用SQL语句,为student用户授予teaching_lab中学生表s中出生日期和联系方式的查询和修改权限。

(4)使用SQL语句,查询系统数据表,查看为teacher用户和student用户授权情况。

(5)使用SQL语句,回收teacher用户的有关teaching_lab数据中课程表的修改数据权限。

3.MySQL中使用SQL语句创建、分配和激活角色方法

(1)使用SQL语句,创建teach角色。

(2)使用SQL语句,为teach角色授予teaching_lab数据库中课程表的平时分数和考试成绩查询数据、修改数据的权限。

(3)使用SQL语句,将teach角色分配给teacher用户。

(4)使用SQL语句,激活teacher用户的teach角色。

(5)使用SQL语句,查询teacher用户当前活跃的角色情况。

(6)使用SQL语句,删除teach角色。

实验任务五 MySQL备份和还原实验任务

1. 实验目的

掌握使用命令进行MySQL数据库备份和还原的方法。

掌握使用工具进行MySQL数据库备份和还原的方法。

2. 实验内容

在D盘新建一个用于存放备份文件的文件夹bak。

分别选用命令和至少一种工具将实验2.1中所创建的数据库完整备份到文件夹bak中,给出命令和重要步骤的截图。

使用命令将数据库中的学生成绩表备份到文件夹bak中,给出命令。

删除实验2.1所创建的数据库。

使用命令和至少一种工具还原数据库,给出命令和重要步骤的截图。

实验任务六  MySQL编程基础与函数实验任务

1. 实验目的

熟练掌握使用流程控制语句完成简单程序的编写。

掌握常用的系统函数的使用。

掌握在MySQL中使用SQL语句完成自定义函数的创建、调用及管理工作。

2. 实验内容

根据实验2.1中表1所设计的数据库(teaching_lab)和其中的3个数据表(学生表s_lab、课程表c_lab和学生成绩表sc_lab),完成如下实验内容,给出实验涉及的SQL语句和执行结果截图。

(1)编写程序代码完成如下功能,如果学生表中有1988年出生的同学,则把其学号、姓名、性别、出生日期及所属的星期几查询出来,否则输出“没有1988年出生的同学”。

(2)通过MySQL编程,完成用户自定义函数创建、调用、查看和删除等管理工作。

①创建一个函数show_sign,函数的功能是,当向函数传递一个出生日期参数时,函数返回其所属的星座名称;

②调用函数show_sign,显示每位同学的学号、姓名、出生日期和所属的星座;

③分别写出查看函数show_sign的代码定义和状态特征的语句;

④写出删除函数show_sign的语句。

(3)通过MySQL编程,完成用户自定义函数的创建、调用。

①创建一个函数count_number,任意向函数传递一个学号值,如果存在该同学,则能计算并返回该同学的选课门数,否则,返回0;

②编写代码,调用函数count_number,显示每位同学的学号、姓名和选课门数。

(4)通过MySQL编程,完成用户自定义函数的创建、调用。

①创建一个函数show_score,任意向函数传递一个学号值,如果存在该同学,则能计算并返回该同学已经取得的学分总数(课程的考试成绩>=60分表示取得该课程的学分),否则,返回0;

②编写代码,调用函数show_score,显示每位同学的学号、姓名和取得的学分数。

实验任务七 存储过程与游标实验任务

1. 实验目的

掌握在MySQL中使用SQL语句定义和使用游标。

掌握在MySQL中使用SQL语句创建和执行用户自定义存储过程(以SQL命令为重点)。

掌握在MySQL中使用SQL语句完成存储过程的查看、修改、删除等管理任务。

2. 实验内容

根据实验2.1中表1所设计的数据库(teaching_lab)和其中的3个数据表(学生表s_lab、课程表c_lab和学生成绩表sc_lab),成如下实验内容,给出实验涉及的SQL语句和执行结果截图。

(1)通过MySQL编程,完成用户存储过程的创建、调用、查看和删除等管理工作。

①创建存储过程showstudents,显示出生年月在2002年7月前出生的性别为“男”的学生所有信息;

②编写程序代码,调用存储过程showstudents,显示执行结果;

③写出相应语句,分别查看存储过程showstudents的代码定义和状态特征;

④修改存储过程showstudents,将其功能改为:显示出生年月在2002年7月前出生的性别为“女”的学生信息。

(2)通过MySQL编程,利用存储过程向数据表中添加记录。

①创建存储过程insertsc,实现向选课表中添加一条选课记录,记录内容由参数传递完成,当提供的学号和课程号合法(即学号和课程号存在)且不存在该条选课记录时,则向选课表中插入该记录,插入完成后,显示选课表的内容,否则,输出“学号或课程号不存在和重复”的错误提示信息;

②编写程序代码,调用存储过程insertsc,显示执行结果;

③写出相应语句,删除存储过程insertsc。

(3)通过MySQL编程,完成游标的创建与使用。

创建一个名称为showcursor的存储过程,在该存储过程中,创建一个名称为shownum_cursor的游标,对应的结果集为课程号、课程名和选课人数,然后利用游标逐一从结果集中取出每一条记录,并显示各字段的值。

实验任务八  触发器和事件管理实验任务

1. 实验目的

掌握在MySQL中使用Navicat或者SQL语句创建触发器完成复杂数据操作功能。

掌握在MySQL 中使用Navicat或者SQL语句创建事件完成复杂数据操作功能。

2. 实验内容

根据实验2.1中创建的学生成绩管理数据库以及其表1~表3所示的学生表、课程表和学生成绩表,在MySQL中使用Navicat和SQL语句创建触发器完成复杂的数据操作功能。

  1. 为了防止有人随意修改学生成绩,学校规定只能教务处(用户“user2”)才可以修改学生成绩表中的数据,普通教师用户(“user1”)不能随意修改学生成绩,否则输出“用户没有权限”。创建触发器完成上述成绩修改权限问题,具体步骤如下所示:

(1)在数据库中创建两个用户“user1”和“user2”。

(2)查看数据库中所有的用户,确认两名用户创建成功。

(3)创建触发器(名字自拟,符合命名规则即可)完成成绩修改权限限制功能。

(4)分别使用用户“user1”和“user2”修改学生成绩表中任意学生成绩信息,查看结果。

2. 学校规定,所有转入计算机专业的学生都需要重修课程“计算机应用基础(K002)”。在MySQL中使用Navicat和SQL语句创建触发器完成如下操作:

(1)创建触发器(名字自拟,符合命名规则即可)完成以下功能:当往学生表中插入转入学生信息时,需要向学生成绩表中插入该学生的“计算机应用基础(K002)”课程的成绩信息,平时成绩和期末成绩的初始值均为NULL,平时成绩比重为0.3。

(2)往学生表中插入以下学生信息:

0593

王志军

2003-9-2

计算机

信息学院

1588524××××

(3)查询学生成绩表中学号=“0593”的学生的信息来验证触发器的功能。

3. 当某个学生退学,需要把学生表中该学生的信息删除,为了减少数据库中的垃圾数据,需要从学生成绩表中删除该同学相应的成绩信息。

(1)创建触发器(名字自拟,符合命名规则即可)实现以下功能:在删除学生信息之前,把学生成绩表中该同学所有相关数据删除。

(2)删除学生表中学号为“0593”的学生信息。

(3)查询学生成绩表中学号为“0593”的学生的信息来验证触发器功能。

4. 为了更好的了解学生的成绩状况,首先,创建如表4的统计成绩表,用来存放学生的平均成绩和总成绩,其中,

每门课成绩=平时成绩*平时成绩比重+期末成绩*(1-平时成绩比重);

总成绩=所有课程成绩的总和;

平均成绩=总成绩/课程数。

表16.1 统计成绩表

学号

平均成绩

总成绩

统计时间

char(10)

decimal(4,2)

decimal(5,2)

date

在MySQL中使用Navicat或者SQL语句实现下述操作:

(1)在数据库中创建统计成绩表。

(2)创建事件(名字自拟,符合命名规则即可)完成以下功能:每个月统计一次学生的平均分和总分并把结果插入统计成绩表中。

(3)为了防止统计成绩表中的数据过多而影响操作效率,创建事件于今年年底删除统计成绩表中所有的数据。

  1. 教务处想保留统计成绩表中的成绩数据,但是从现在到年底的数据还没有生成,因此,需要阶段性的保存成绩信息。在MySQL中使用Navicat或者SQL语句实现下述操作:  

 (1)首先根据已知的统计成绩表创建一个表结构一样的副表。

 (2)创建事件实现以下功能:从现在开始到年底,把每个月的成绩数据都保存到副表中。

实验任务九  Python操作MySQL数据库实验任务

1. 实验目的

掌握在Python中连接MySQL数据库的方法。

掌握使用Python操纵MySQL数据库数据的方法,包括插入、删除,修改数据。

掌握使用Python查询MySQL数据库数据的方法。

2. 实验内容

根据实验2.1中创建的学生成绩管理数据库以及学生表、课程表和学生成绩表,在Python中使用Python代码和SQL语句完成数据操作功能。按要求完成实验,并给出代码和重要步骤截图:

(1)在Python代码中连接数据库teaching_lab。

(2)使用Python代码往学生成绩表中插入以下两条数据。

M001

0531

2019-2-26 13:15:12

77

0.4

K002

0591

2018-2-26 13:15:12

82.5

0.4

86

(3)使用Python代码把平时成绩和期末成绩为空的学生的成绩修改成0。

(4)使用Python代码查询出所有学生的每门课程的总成绩(总成绩=平时成绩*平时成绩比重+考试成绩*(1-平时成绩比重))并输出。

(5)使用Python代码统计学生期末成绩低于所有学生总平均分的人数。

(6)使用Python代码删除平时成绩和期末成绩都为0的数据,并输出删除的记录数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建自己的金融数据源和量化分析平台(七):定时更新上市公司所属行业门类及大类

0x00 前言 由于此前从深交所下载的股票信息中只有行业门类信息,没有行业大类信息,导致后续解析三大报表和量化选股的时候无法进行: 可以看到深交所的股票是没有大类信息的。 再看看上交所的保险股: 因此需要将深交所股票的所属…

WIFI驱动开发

Linux 4.9 内核驱动移植 Linux 4.9 BSP 内核驱动 下载驱动后获得驱动的 tar.gz 压缩包 解压后找到如下驱动与文件夹 进入内核,找到 linux-4.9/drivers/net/wireless 文件夹中,新建文件夹aic8800 并且把上面的驱动与文件夹放入刚刚创建好的 aic8800 中。…

【MySQL】 黑马 MySQL进阶 笔记

文章目录 存储引擎MySQL的体系结构存储引擎概念存储引擎特点InnoDBMyISAMMemory 存储引擎选择 索引概述结构B Tree(多路平衡查找树)B TreeHash为什么InnoDB存储引擎选择使用Btree索引结构? 分类思考题 语法SQL性能分析(索引相关)SQL执行频率慢查询日志p…

3.3-CoroutineScope/CoroutineContext:从挂起函数里获取 CoroutineContext

文章目录 在 CoroutineScope 获取 CoroutineContext 很简单,只需要在使用的地方使用 coroutineContext 属性就能拿到。比如获取运行的线程: val scope CoroutineScope(EmptyCoroutineContext) scope.launch {val dispatcher coroutineContext[Continu…

SSRF和CSRF实战复现

文章目录 SSRFWeb-Hacking-Lab-master1、Centos未授权访问2、Ubuntu未授权访问3、Ubuntu传入公钥访问4、ssrf_redis_lab_pickle_redis_lab CSRF:windphp SSRF SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 f…

RAG与LLM原理及实践(14)---- Python + MinIO + Kafka进阶

目录 背景 根因分析 配置 构造 创建 network 构造 zookeeper 构造 kafka 参数构造 原理解析 图解 全过程解析 工具使用 kafkacat 查看 broker python 实现 python send + kafka recv python 代码 kafka recv 运行效果 python recv + kafka send python 代…

Pytest学习总结

文章目录 前言一、pytest单元测试框架1.单元测试框架和自动化测试框架的关系2.pytest简介 二、pytest使用1.使用规则2.运行方式参数详解 3.运行顺序4.分组执行(冒烟、分模块执行、分接口和web执行)5.pytest跳过测试用例6.使用pytest.fixture()实现部分测…

Unity 波函数坍缩算法随机地图生成

Unity 波函数坍缩算法随机地图生成 波函数波函数基本概念位置空间波函数动量空间波函数两种波函数之间的关系波函数的本征值和本征态波函数坍缩 熵是什么熵作为状态函数时间之箭 实现原理举个例子:2D迷宫地图生成 Unity 如何实现前期准备单元格代码瓦片地图代码波函…

ComfyUI 常用的节点

总的来说,如果可以的话 最佳实践是直接访问每个节点仓库,仔细阅读作者提供的文档和说明。然后,手动执行 git clone 来获取仓库的代码。 接着,你可以通过手动执行 pip install -r requirements.txt 来安装每个项目的依赖。这种方法…

通过建模走出人工智能寒冬

很多人对 GenAI 是否会产生商业影响持怀疑态度,但我认为他们不仅错了,而且犯了 2001 年人们在互联网上犯下的错误。他们认为硅谷的炒作是无稽之谈,因此其背后的想法也是无稽之谈。 这是很危险的,我认为,这比大多数零售…

nacos 使用 docker 单机部署连接 MySQL 数据库并开启鉴权

文章目录 本地部署的配置启用鉴权(未验证) docker部署的配置修改docker 镜像源启用鉴权,必须添加如下环境变量如何生成鉴权的密钥 完整环境变量docker启动命令 本地部署的配置 文件结构 application.properties #配置文件 mysql-schema.sql …

WPS关闭后,进程依然在后台运行的解决办法

问题 wps启动后 在启动wps后,什么都不做,打开进程管理器,发现居然运行了3个wps进程: win10只会显示wps进程: win11显示比较准确: 关闭后 在关闭wps,再去任务管理器查看,发现在…

nvim变量命名风格的转换插件

变量命名风格的转换插件,可以在驼峰命名、混合命名和蛇形命名等风格之间相互转换 配置 lazy.nvim 使用默认快捷键 {"StubbornVegeta/style-transfer.nvim",event "BufEnter",config function()require("style_transfer").setup…

Python计算机视觉 第3章-图像到图像的映射

Python计算机视觉 第3章-图像到图像的映射 3.1 单应性变换 单应性变换(Homography)是计算机视觉中非常重要的一种几何变换,它用于将一个平面内的点映射到另一个平面内。具体来说,单应性变换可以描述一个图像在摄像机视角变化、…

vue3+vite+axios+mock从接口获取模拟数据实战

文章目录 一、安装相关组件二、在vite.config.js中配置vite-plugin-mock插件三、实现mock服务四、调用api接口请求mock数据方法一、直接使用axios 请求mock 数据方法二、对axios进行封装统一请求mock数据 五、实际运行效果 在用Vue.js开发前端应用时通常要与后端服务进行交互&a…

Linux Ubuntu 桌面环境概览

目录 一、Ubuntu桌面环境的特点:简约而不简单 二、Ubuntu桌面环境的组成:细节见真章 Ubuntu,这个名字在开源操作系统领域如同璀璨明星,以其卓越的桌面环境和用户体验赢得了全球用户的青睐。今天,就让我们一起深入探索…

图神经网络GNN的前世今生

GNN 图神经网络(Graph Neural Network,简称GNN)已经成为处理图形结构数据的一种强大工具,广泛应用于社交网络分析、知识图谱、推荐系统等领域。在本文中,我们将深入探讨图神经网络的历史背景、关键的发展阶段以及未来可…

强制输出wParam 和 lParam,会是什么内容?

当你“强制输出” wParam 和 lParam 时,通常是指在调试或日志记录中直接查看这些参数的原始数值。这些值的内容会根据消息类型的不同而有所变化,因为 wParam 和 lParam 的意义和使用取决于它们所在的消息上下文。 下面我将详细讨论在不同消息情况下&…

白酒与家庭聚会:温馨与和谐的时光

在繁忙的都市生活中,家庭聚会是每个人心中那份较温暖的港湾。每当夜幕降临,灯火通明,家人们围坐在一起,谈笑风生,那份温馨与和谐仿佛能够驱散一切疲惫。而在这个温馨的时刻,白酒——豪迈白酒(HO…

Python 爬虫入门(十二):正则表达式「详细介绍」

Python 爬虫入门(十二):正则表达式 前言一、正则表达式的用途二、正则表达式的基本组成元素2.1 特殊字符2.2 量词2.3 位置锚点2.4 断言2.5 字符集2.6 字符类2.6.1 基本字符类2.6.2 常见字符类简写2.6.3 POSIX字符类2.6.4 组合使用 三、 正则表…