Mysql8.0安装以及递归表达式使用

2024-09-05 08:36

本文主要是介绍Mysql8.0安装以及递归表达式使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mysql安装

以centos7为例安装!

安装wget

yum install wget -y

给CentOS添加rpm源,并且选择较新的源

官网地址

wget dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
e67b28ebdbb9b107b477e83601c3070e.png

下载安装的rpm源文件

yum install mysql84-community-release-el7-1.noarch.rpm -y

使用yum安装mysql

yum install mysql-community-server -y

mysql相关的设置

启动服务以及开机自启

#启动mysql服务
service mysqld start
#设置mysql开机启动
chkconfig mysqld on

修改密码

变量名
validate_password.changed_characters_percentage0
validate_password.check_user_nameon
validate_password.length8
validate_password.mixed_case_count1
validate_password.number_count1
validate_password.policyMEDIUM
validate_password.special_char_count1
##查看临时密码
grep "password" /var/log/mysqld.log
## 临时密码登录
mysql -uroot -p
##修改密码策略和密码
set global validate_password.policy=LOW;
set global validate_password.length=1;
set global validate_password.special_char_count=0;
set global validate_password.mixed_case_count=0 ;
set global validate_password.number_count =0;ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootA@123456';

授权 8.0有区别

#创建用户
create user 'echo'@'%' identified by '123456';
# 授权
grant all privileges on *.* to 'echo'@'%' with grant option;
# 刷新权限
FLUSH PRIVILEGES;

递归表达式ETC

递归表达式是一种特殊的子查询,它能够引用其本身的查询结果。它包含两部分

SELECT ...      -- return initial row set
UNION ALL
SELECT ...      -- return additional row sets

例如:

WITH RECURSIVE cte (n) AS
(SELECT 1UNION ALLSELECT n + 1 FROM cte WHERE n < 5
)
SELECT * FROM cte;
e10c8802604f3357121402e6adef8eae.png

典型应用

斐波那契数列

WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
(SELECT 1, 0, 1UNION ALLSELECT n + 1, next_fib_n, fib_n + next_fib_nFROM fibonacci WHERE n < 10
)
SELECT * FROM fibonacci;
4b38d671fc1a1f1e8cd9ed967c0c4110.png

时间序列生成

WITH RECURSIVE dates (date) AS
(SELECT MIN(date) FROM salesUNION ALLSELECT date + INTERVAL 1 DAY FROM datesWHERE date + INTERVAL 1 DAY <= (SELECT MAX(date) FROM sales)
)
SELECT * FROM dates;

层次结构遍历

以评论回复为例

WITH RECURSIVE CommentHierarchy AS (SELECT c.comment_id,c.post_id,c.user_id,c.parent_id,c.content,c.created_at,c.updated_at,0 AS levelsFROM Comments cWHERE c.parent_id IS NULLUNION ALLSELECT c.comment_id,c.post_id,c.user_id,c.parent_id,CONCAT(ch.content,'->',c.content) content,c.created_at,c.updated_at,ch.levels + 1 AS levelsFROM Comments cINNER JOIN CommentHierarchy ch ON c.parent_id = ch.comment_id
)
SELECT * FROM CommentHierarchy ORDER BY post_id, levels, created_at;
ca3619e0e45071daec89d1cfa6aef6e4.png

往期推荐

一文带你springai+ollama实现chat

大型语言模型(Large Language Model, LLM)了解一下?

常用的JVM参数与命令你知道吗?

推荐两款程序员高效工作神器

Git命令基操必须要会!

非常nice! IDEA远程Debug调试程序

DataX二次开发之达梦数据库插件


这篇关于Mysql8.0安装以及递归表达式使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Java JSQLParser解析SQL的使用指南

《JavaJSQLParser解析SQL的使用指南》JSQLParser是一个Java语言的SQL语句解析工具,可以将SQL语句解析成为Java类的层次结构,还支持改写SQL,下面我们就来看看它的具... 目录一、引言二、jsQLParser常见类2.1 Class Diagram2.2 Statement

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

go rate 原生标准限速库的使用

《gorate原生标准限速库的使用》本文主要介绍了Go标准库golang.org/x/time/rate实现限流,采用令牌桶算法控制请求速率,提供Allow/Reserve/Wait方法,具有一定... 目录介绍安装API介绍rate.NewLimiter:创建限流器limiter.Allow():请求是否

Python使用Turtle实现精确计时工具

《Python使用Turtle实现精确计时工具》这篇文章主要为大家详细介绍了Python如何使用Turtle实现精确计时工具,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录功能特点使用方法程序架构设计代码详解窗口和画笔创建时间和状态显示更新计时器控制逻辑计时器重置功能事件

Swagger2与Springdoc集成与使用详解

《Swagger2与Springdoc集成与使用详解》:本文主要介绍Swagger2与Springdoc集成与使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1. 依赖配置2. 基础配置2.1 启用 Springdoc2.2 自定义 OpenAPI 信息3.

mysql中的group by高级用法详解

《mysql中的groupby高级用法详解》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,本文给大家介绍mysql中的groupby... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

Golang interface{}的具体使用

《Golanginterface{}的具体使用》interface{}是Go中可以表示任意类型的空接口,本文主要介绍了Golanginterface{}的具体使用,具有一定的参考价值,感兴趣的可以了... 目录一、什么是 interface{}?定义形China编程式:二、interface{} 有什么特别的?✅

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

宝塔安装的MySQL无法连接的情况及解决方案

《宝塔安装的MySQL无法连接的情况及解决方案》宝塔面板是一款流行的服务器管理工具,其中集成的MySQL数据库有时会出现连接问题,本文详细介绍两种最常见的MySQL连接错误:“1130-Hostisn... 目录一、错误 1130:Host ‘xxx.xxx.xxx.xxx’ is not allowed