零基础学MySQL(五)-- 详细讲解数据库中的常用函数

目录
- 🎇一、聚合函数
- 1️⃣count 函数
- (1)基本语法
- (2)基本练习
- (3)注意细节
- 2️⃣sum 函数
- (1)基本语法
- (2)基本练习
- (3)注意细节
- 3️⃣avg 函数
- (1)基本语法
- (2)基本练习
- 4️⃣max/min 函数
- (1)基本语法
- (2)基本练习
- 🎆二、字符串相关函数
- 1️⃣字符串常用函数一览表
- 2️⃣案例演示
- ✨三、数学相关函数
- 1️⃣数学常用函数一览表
- 2️⃣案例演示
- 🎄四、时间日期相关函数
- 1️⃣时间日期常用函数一览表
- 2️⃣案例演示
- 🍱五、加密和系统函数
- 1️⃣加密和系统函数一览表
- 2️⃣案例演示
- 🎋六、流程控制函数
- 1️⃣流程控制函数一览表
- 2️⃣案例演示

🎇一、聚合函数
提供 student 表

1️⃣count 函数
count 表示返回行的总数
(1)基本语法
SELECT COUNT(*|列名) FROM 表名WHERE 条件;
(2)基本练习
统计一个班级共有多少学生?
SELECT COUNT(*) FROM student;
统计数学成绩大于 90 的学生有多少个?
SELECT COUNT(*) FROM studentWHERE math > 90;
统计总分大于 250 的人数有多少?
SELECT COUNT(*) FROM studentWHERE (math + english + chinese) > 250
(3)注意细节
count(*) 和 count(列) 的区别:
count(*) 返回满足条件的记录的行数
count(列): 统计满足条件的某列有多少个,但是会排除为 null 的情况
2️⃣sum 函数
sum函数返回满足where条件的行的和,一般使用于数值列
(1)基本语法
SELECT SUM(列名) FROM 表名WHERE 条件;
(2)基本练习
统计一个班级数学总成绩
SELECT SUM(math) FROM student;
统计一个班级语文、英语、数学各科的总成绩
SELECT SUM(math),SUM(english),SUM(chinese) FROM student;
统计一个班级语文、英语、数学的成绩总和
SELECT SUM(math + english + chinese) FROM student;
统计一个班级语文成绩平均分
SELECT SUM(chinese)/ COUNT(*) FROM student;
(3)注意细节
sum 函数仅对数值起作用,对多行求和需用逗号隔开
3️⃣avg 函数
avg函数返回满足where条件的一列的平均值
(1)基本语法
SELECT AVG(列名) FROM 表名WHERE 条件;
(2)基本练习
求一个班级数学平均分?
SELECT AVG(math) FROM student;
求一个班级总分平均分
SELECT AVG(math + english + chinese) FROM student;
4️⃣max/min 函数
max/min 函数返回满足 where 条件的一列的最大/最小值
(1)基本语法
SELECT MAX(列名) FROM 表名WHERE 条件;SELECT MIN(列名) FROM 表名WHERE 条件;
(2)基本练习
求班级最高分和最低分
SELECT MAX(math + english + chinese), MIN(math + english + chinese) FROM student;
求出班级数学最高分和最低分
SELECT MAX(math), MIN(math) FROM student;
🎆二、字符串相关函数
1️⃣字符串常用函数一览表
| 函数用法 | 说明 |
|---|---|
| CHARSET(str) | 返回字串字符集 |
| CONCAT (string2 [,… ]) | 连接字串, 将多个列拼接成一列 |
| INSTR (string ,substring ) | 返回 substring 在 string 中出现的位置,没有返回 0 |
| UCASE (string2) | 转换成大写 |
| LCASE (string2) | 转换成小写 |
| LEFT (string2 ,length) | 从 string2 中的左边起取 length 个字符 |
| RIGHT (string2 ,length) | 从 string2 中的右边起取 length 个字符 |
| LENGTH (string) | string 长度[按照字节] |
| REPLACE (str ,search_str ,replace_str ) | 在 str 中用 replace_str 替换 search_str |
| STRCMP (string1 ,string2) | 逐字符比较两字串大小 |
| SUBSTRING (str , position [,length ]) | 从 str 的 position 开始【从 1 开始计算】,取 length 个字符 |
| LTRIM (string) | 去除前端空格 |
| RTRIM (string) | 去除后端空格 |
| TRIM(string) | 去除前后两端空格 |
2️⃣案例演示
以 emp 表为例

-- CHARSET(str) 返回字串字符集
SELECT CHARSET(ename) FROM emp;
-- CONCAT (string2 [,... ]) 连接字串, 将多个列拼接成一列
SELECT CONCAT(ename, '工作是', job) FROM emp;
-- INSTR (string ,substring ) 返回 substring 在 string 中出现的位置,没有返回 0
-- dual 亚元表, 系统表 可以作为测试表使用
SELECT INSTR('jack','c') FROM DUAL;
-- UCASE (string2) 转换成大写
SELECT UCASE(ename) FROM emp;
-- LCASE (string2) 转换成小写
SELECT LCASE(ename) FROM emp;
-- LEFT (string2 ,length)从 string2 中的左边起取 length 个字符
SELECT LEFT(ename,2) FROM emp;
-- RIGHT (string2 ,length) 从 string2 中的右边起取 length 个字符
SELECT RIGHT(ename,2) FROM emp;
-- LENGTH (string)string 长度[按照字节]
SELECT LENGTH(ename) FROM emp;
SELECT LENGTH('邱崇源') FROM emp;-- 9个字节
-- REPLACE (str ,search_str ,replace_str )在 str 中用 replace_str 替换 search_str
-- 如果是 manager 就替换成 经理
SELECT ename, REPLACE(job, 'MANAGER', '经理') FROM emp;
-- STRCMP (string1 ,string2) 逐字符比较两字串大小
SELECT STRCMP('abc','bbc') FROM emp;
-- SUBSTRING (str , position [,length ])
-- 从 str 的 position 开始【从 1 开始计算】,取 length 个字符
-- 从 ename 列的第一个位置开始取出 2 个字符
SELECT SUBSTRING(ename,1,2) FROM emp;
-- LTRIM (string2 ) RTRIM (string2 ) TRIM(string)
-- 去除前端空格或后端空格
SELECT LTRIM(' 邱崇源') FROM DUAL;
SELECT RTRIM('邱崇源 ') FROM DUAL;
SELECT TRIM(' 邱崇源 ') FROM DUAL;
✨三、数学相关函数
1️⃣数学常用函数一览表
| 函数用法 | 说明 |
|---|---|
| ABS(num) | 绝对值 |
| BIN (decimal_number) | 十进制转二进制 |
| CEILING (number2) | 向上取整, 得到比 num2 大的最小整数 |
| CONV(number2,from_base,to_base) | 进制转换 |
| FLOOR (number2) | 向下取整,得到比 num2 小的最大整数 |
| FORMAT (number,decimal_places) | 保留小数位数(四舍五入) |
| HEX (DecimalNumber) | 转十六进制 |
| LEAST (number , number2 [,…]) | 求最小值 |
| MOD (numerator ,denominator) | 求余 |
| RAND([seed]) | 返回随机数 其范围为 0 ≤ v ≤ 1.0 |
2️⃣案例演示
-- 演示数学相关函数
-- ABS(num) 绝对值
SELECT ABS(-10) FROM DUAL;
-- BIN (decimal_number )十进制转二进制
SELECT BIN(10) FROM DUAL;
-- CEILING (number2 ) 向上取整, 得到比 num2 大的最小整数
SELECT CEILING(-1.1) FROM DUAL;
-- CONV(number2,from_base,to_base) 进制转换
-- 下面的含义是 8 是十进制的 8, 转成 2 进制输出
SELECT CONV(8, 10, 2) FROM DUAL;
-- 下面的含义是 8 是 16 进制的 8, 转成 2 进制输出
SELECT CONV(16, 16, 10) FROM DUAL;
-- FLOOR (number2 ) 向下取整,得到比 num2 小的最大整数
SELECT FLOOR(1.1) FROM DUAL;
-- FORMAT (number,decimal_places ) 保留小数位数(四舍五入)
SELECT FORMAT(78.125458,2) FROM DUAL;
-- HEX (DecimalNumber ) 转十六进制
-- LEAST (number , number2 [,..]) 求最小值
SELECT LEAST(0,1, -10, 4) FROM DUAL;
-- MOD (numerator ,denominator ) 求余
SELECT MOD(10, 3) FROM DUAL;
-- RAND([seed]) 返回随机数 其范围为 0 ≤ v ≤ 1.0
-- 说明
-- 1. 如果使用 rand() 每次返回不同的随机数 ,在 0 ≤ v ≤ 1.0
-- 2. 如果使用 rand(seed) 返回随机数, 范围 0 ≤ v ≤ 1.0, 如果 seed 不变,
-- 该随机数也不变了
SELECT RAND() FROM DUAL;
🎄四、时间日期相关函数
1️⃣时间日期常用函数一览表
| 函数用法 | 说明 |
|---|---|
| CURRENT_DATE ( ) | 当前日期 |
| CURRENT_TIME ( ) | 当前时间 |
| CURRENT_TIMESTAMP ( ) | 当前时间戳 |
| DATE_ADD(send_time, INTERVAL d_value d_type) | 在date2中加上一个日期或时间 |
| DATE_SUB(send_time, INTERVAL d_value d_type) | 在date2中减去一个日期或时间 |
| DATEDIFF(date1,date2) | 两个日期差(结果是天) |
| TIMEDIFF(date1,date2) | 两个时间差(结果是多少小时多少分钟多少秒) |
| NOW() | 当前时间 |
| YEAR/Month/DAY (datetime) | 取时间的年月日 |
| unix_timestamp() | 返回的是 1970-1-1 到现在的秒数 |
| FROM_UNIXTIME() | 可以把一个 unix_timestamp 秒数[时间戳],转成指定格式的日期 |
2️⃣案例演示
建立mes表
CREATE TABLE mes (id INT,content VARCHAR(30),send_time DATETIME);
INSERT INTO mes VALUES(1,'界面打开',CURRENT_TIMESTAMP());
INSERT INTO mes VALUES(2,'鸡腿肉',NOW());
INSERT INTO mes VALUES(3,'圣诞狗狗',NOW());
-- 日期时间相关函数
-- CURRENT_DATE ( ) 当前日期
SELECT CURRENT_DATE() FROM DUAL;
-- CURRENT_TIME ( )当前时间
SELECT CURRENT_TIME() FROM DUAL;
-- CURRENT_TIMESTAMP ( ) 当前时间戳
SELECT CURRENT_TIMESTAMP() FROM DUAL;
-- 显示所有新闻信息,发布日期只显示 日期,不用显示时间.
SELECT id,content,DATE(send_time) FROM mes;
-- 请查询在 10 分钟内发布的新闻, 思路一定要梳理一下.
SELECT * FROM mes WHERE DATE_ADD(send_time, INTERVAL 10 MINUTE) >= NOW();
-- 请在 mysql 的 sql 语句中求出 2011-11-11 和 1990-1-1 相差多少天
SELECT DATEDIFF('2011-11-11','1990-01-01') FROM DUAL;
-- 请用 mysql 的 sql 语句求出你活了多少天?
SELECT DATEDIFF(NOW(),'2000-05-24') FROM DUAL;
-- 如果你能活 80 岁,求出你还能活多少天.
SELECT DATEDIFF('2080-05-24',NOW()) FROM DUAL;
SELECT TIMEDIFF('10:11:11', '06:10:10') FROM DUAL;
-- YEAR|Month|DAY| (datetime)
SELECT YEAR(NOW()) FROM DUAL;
SELECT MONTH(NOW()) FROM DUAL;
SELECT DAY(NOW()) FROM DUAL;
-- unix_timestamp() : 返回的是 1970-1-1 到现在的秒数
SELECT UNIX_TIMESTAMP() FROM DUAL;
-- FROM_UNIXTIME() : 可以把一个 unix_timestamp 秒数[时间戳],转成指定格式的日期
-- %Y-%m-%d 格式是规定好的,表示年月日
-- 意义:在开发中,可以存放一个整数,然后表示时间,通过 FROM_UNIXTIME 转换
SELECT FROM_UNIXTIME(1672307500, '%Y-%m-%d %H:%i:%s');
🍱五、加密和系统函数
1️⃣加密和系统函数一览表
| 函数用法 | 说明 |
|---|---|
| USER() | 查询用户 |
| DATABASE() | 查询当前使用数据库名称 |
| MD5(str) | 为字符串算出一个 MD5 32 的字符串,常用(用户密码)加密 |
| PASSWORD(str) | 加密函数, MySQL 数据库的用户密码就是 PASSWORD 函数加密 |
2️⃣案例演示
-- 演示加密函数和系统函数
-- USER() 查询用户
-- 可以查看登录到 mysql 的有哪些用户,以及登录的 IP
SELECT USER() FROM DUAL; -- 用户@IP 地址
-- DATABASE()查询当前使用数据库名称
SELECT DATABASE();
-- MD5(str) 为字符串算出一个 MD5 32 的字符串,常用(用户密码)加密
-- root 密码是 qcy -> 加密 md5 -> 在数据库中存放的是加密后的密码
SELECT MD5('qcy') FROM DUAL;
SELECT LENGTH(MD5('qcy')); -- 32
-- PASSWORD(str) -- 加密函数, MySQL 数据库的用户密码就是 PASSWORD 函数加密
SELECT PASSWORD('qcy') FROM DUAL;
🎋六、流程控制函数
1️⃣流程控制函数一览表
| 函数用法 | 说明 |
|---|---|
| IF(expr1,expr2,expr3) | 如果 expr1 为 True ,则返回 expr2 否则返回 expr3 |
| IFNULL(expr1,expr2) | 如果 expr1 不为空 NULL,则返回 expr1,否则返回 expr2 |
| SELECT CASE WHEN expr1 THEN expr2 WHEN expr3 THEN expr4 ELSE expr5 END; [类似多重分支.] | 如果 expr1 为 TRUE,则返回 expr2,如果 expr3 为 TRUE, 返回 expr4, 否则返回 expr5 |
2️⃣案例演示
# 演示流程控制语句
# IF(expr1,expr2,expr3) 如果 expr1 为 True ,则返回 expr2 否则返回 expr3
SELECT IF(TRUE, '北京', '上海') FROM DUAL;
# IFNULL(expr1,expr2) 如果 expr1 不为空 NULL,则返回 expr1,否则返回 expr2
SELECT IFNULL( NULL, '韩顺平教育') FROM DUAL;
# SELECT CASE WHEN expr1 THEN expr2 WHEN expr3 THEN expr4 ELSE expr5 END; [类似多重分支.]
# 如果 expr1 为 TRUE,则返回 expr2,如果 expr3 为 TRUE, 返回 expr4, 否则返回 expr5
SELECT CASEWHEN TRUE THEN 'jack' -- jackWHEN FALSE THEN 'tom' ELSE 'mary' END-- 1. 查询 emp 表, 如果 comm 是 null , 则显示 0.0
-- 说明,判断是否为 null 要使用 is null, 判断不为空 使用 is not null
SELECT ename,IFNULL(comm,0.0) FROM emp;-- 2. 如果 emp 表的 job 是 CLERK 则显示 职员, 如果是 MANAGER 则显示经理
-- 如果是 SALESMAN 则显示 销售人员,其它正常显示
SELECT ename, (SELECT CASEWHEN job = 'CLERK' THEN '职员' WHEN job = 'MANAGER' THEN '经理' WHEN job = 'SALESMAN' THEN '销售人员' ELSE job END) AS 'job' FROM emp;
相关文章:
零基础学MySQL(五)-- 详细讲解数据库中的常用函数
目录🎇一、聚合函数1️⃣count 函数(1)基本语法(2)基本练习(3)注意细节2️⃣sum 函数(1)基本语法(2)基本练习(3)注意细节3…...
第4章 流程控制-if-else,Switch,For循环(循环守卫,循环步长,倒叙打印),While循环,多重循环...
第 4 章 流程控制-if-else,Switch,For循环(循环守卫,循环步长,倒叙打印),While循环,多重循环 4.1 分支控制 if-else 让程序有选择的的执行,分支控制有三种:单分支、双分支、多分支 4.1.1 单分支 1)基本语法…...
2.4G-WiFi连接路由器过程
一、概述 WiFi的数据通信基于802.11协议进行,无线AP在工作时会定时向空中发送beacon数据包,基站(STA)从beacon中解析出AP的名称、加密方式等信息,从而发起连接。 二、WiFi连接路由器的详细过程 WiFi连接过程主要可以…...
3. SpringMVC Rest 风格
1. REST 简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格。 当要表示一个网络资源的时候,可以使用两种方式: 传统风格资源描述形式 http://localhost/user/getById?…...
Python3简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 Python 是面向对象语言: 这意味着P…...
如何学习PMP?
★基础要打牢 方法:“基础不牢,地动山摇”,如果基础不牢那么就很难拿高分,因为连最基础的题目分都不一定能拿到。 可以在针对基础知识,把PMBOK看一两遍,再次加深印象,再把平时做章节练习、每日5…...
【DSP视频教程】第11期:插补算法,曲线拟合丝滑顺畅,统计函数和基础函数加速实现,汇集SIMD,饱和和MAC乘累加应用实战(2023-02-12)
视频教程汇总帖:https://www.armbbs.cn/forum.php?modviewthread&tid110519 DSP视频教程有段时间没有更新了。 当前DSP库从CMSIS软件包里面独立出来,并且更新非常频繁,所以本期视频教程优先给大家简单介绍下新版DSP, 然后为…...
分类模型评估:混淆矩阵、准确率、召回率、ROC
1. 混淆矩阵 在二分类问题中,混淆矩阵被用来度量模型的准确率。因为在二分类问题中单一样本的预测结果只有Yes or No,即:真或者假两种结果,所以全体样本的经二分类模型处理后,处理结果不外乎四种情况,每种…...
算法 ——世界 一
个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…...
2023年3月AMA-CDGA/CDGP数据治理认证考试这些城市可以报名
目前2023年3月5日CDGA&CDGP开放报名的城市有:北京、上海、广州、深圳、杭州、重庆,西安,成都,长沙,济南,更多考场正在增加中… DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业…...
Java变量和数据类型,超详细整理,适合新手入门
目录 一、什么是变量? 二、变量 变量值互换 三、基本数据类型 1、八种基本数据类型 2、布尔值 3、字符串 四、从控制台输入 一、什么是变量? 变量是一种存储值的容器,它可以在程序的不同部分之间共享;变量可以存储数字、字…...
Echarts 设置折线图拐点的颜色,边框等样式,hover时改变颜色
第014个点击查看专栏目录上一篇文章我们讲到了如何设置拐点大小,图形类型,旋转角度,缩放同比,位置偏移等,这篇文章介绍如何设置拐点的颜色、边框大小颜色等样式。hover轴线时候,拐点的填充颜色改变文章目录示例效果示例…...
做 SQL 性能优化真是让人干瞪眼
很多大数据计算都是用SQL实现的,跑得慢时就要去优化SQL,但常常碰到让人干瞪眼的情况。 比如,存储过程中有三条大概形如这样的语句执行得很慢: select a,b,sum(x) from T group by a,b where …; select c,d,max(y) from T grou…...
SpringBoot(3)之包结构
根据spring可知道,注解之所以可以使用,是因为通过包扫描器,扫描包,然后才能通过注解开发。 那么springboot需要扫描哪里呢? springboot的默认包扫描器,扫描的是自己所在的包和子包,例子如下 我…...
test2
物理层故障分析 一、传输介质故障 a.主要用途简述 传输介质主要分为 导向传输介质和非导向传输介质。前者包括双绞线(两根铜线并排绞合,距离过远会失真)、同轴电缆(铜质芯线屏蔽层,抗干扰性强,传输距离更…...
LoadRunner安装教程
备注:电脑最好安装有IE浏览器或者360极速版浏览器 一、下载安装包 提前下载安装文件,必须下载。 链接: https://pan.baidu.com/s/1blFiMIJcoE8s3uVhAxdzdA?pwdqhpt 提取码: qhpt 包含的文件有: 二、安装loadrunner 注意,以…...
VHDL语言基础-Testbech
目录 VHDL仿真概述: 基本结构: VHDL一般仿真过程: 仿真测试平台文件: 编写测试平台文件的语言: 一个测试平台文件的基本结构如下: 测试平台文件包含的基本语句: 产生激励信号的方式: 时钟信号: 复位信号: 周期信性信号: 使用延迟DELAYD: 一般的激励信号…...
机器学习基础总结
一,机器学习系统分类 机器学习系统分为三个类别,如下图所示: 二,如何处理数据中的缺失值 可以分为以下 2 种情况: 缺失值较多:直接舍弃该列特征,否则可能会带来较大噪声,从而对结果造成不良影…...
linux的三权分立设计思路和用户创建(安全管理员、系统管理员和审计管理员)
目录 一、三权分立设计思路 1、什么是三权 2、三员及权限的理解 3、三员之三权 4、权限划分 5、“三员”职责 6、“三员”配置要求 二、linux三权分立的用户创建 1、系统管理员 2、安全管理员 3、审计管理员 一、三权分立设计思路 1、什么是三权 三权指的是配置、…...
revit中如何创建有坡度的排水沟及基坑?
一、revit中如何创建有坡度的排水沟? 先分享一张有坡度排水沟的族的照片给大家加深一下印象,有了一个粗略的直观认识,小编就来说说做这个族的前期思路吧。 一、前期思路: 1、 用拼接的方式把这个族形状拼出来,先用放样࿰…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
