自然语言到 SQL 转换:开启智能数据库交互新时代
引言
随着人工智能技术的飞速发展,自然语言处理(NLP)领域取得了显著的进步。其中,将自然语言转换为 SQL 语句的技术尤为引人注目。这种技术能够帮助用户,尤其是那些不熟悉 SQL 的业务人员,快速从数据库中获取所需信息,极大地提高了数据处理的效率和便捷性。
本文将详细探讨当前流行的自然语言到 SQL 转换工具,包括它们的功能、使用方法、适用场景以及优缺点。同时,我们将通过代码示例展示如何使用这些工具,帮助读者更好地理解和应用这些技术。
1. Chat2DB:AI 驱动的数据管理与开发工具
1.1 功能概述
Chat2DB 是一款功能强大的 AI 驱动的数据管理、开发和分析工具。它的核心功能是通过 AIGC(Artificial Intelligence Generation Code)能力,将自然语言转换为 SQL,也可以将 SQL 转换为自然语言,甚至能够自动生成报表。这使得即使不懂 SQL 的运营业务人员也能轻松进行数据查询和分析。
1.2 使用方法
1.2.1 注册与登录
用户可以通过网页或客户端使用 Chat2DB。支持多种登录方式,包括 Google、GitHub、WeChat、邮箱验证码登录和邮箱密码登录。
1.2.2 创建数据库连接
登录后,用户需要创建数据库连接。填写数据库连接信息(如数据库类型、主机名、端口、用户名和密码)后,连接成功即可在 Chat2DB 中进行数据库的增删改查操作。
1.2.3 使用 AI 功能
用户可以直接使用自然语言查询数据库。例如,用户可以输入“显示最近一周的销售数据”,Chat2DB 会自动将其转换为相应的 SQL 查询语句并执行。
1.3 社区支持
Chat2DB 提供了详细的官方文档和快速入门指南,帮助用户快速上手。用户可以通过官方文档了解如何安装、配置和使用 Chat2DB 的各种功能。
1.4 适用场景
Chat2DB 适用于数据管理、数据开发、数据分析等场景。它能够帮助用户快速查询业务数据、生成报表,尤其适合那些不熟悉 SQL 的运营业务人员。
1.5 代码示例
以下是一个使用 Chat2DB 的代码示例:
import chat2db# 初始化 Chat2DB
client = chat2db.Client(api_key="your_api_key")# 创建数据库连接
connection = client.create_connection(database_type="MySQL",host="localhost",port=3306,username="root",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
2. SQL Chat:基于聊天的 SQL 客户端
2.1 功能概述
SQL Chat 是一个基于聊天的 SQL 客户端,允许用户使用自然语言与数据库进行通信,实现查询、修改、添加和删除等操作。它通过 AI 技术将自然语言问题转换为 SQL 语句,帮助用户快速从数据库中获取所需信息。
2.2 使用方法
2.2.1 准备 OpenAI API 密钥
用户需要准备好 OpenAI API 密钥,这是使用 SQL Chat 的前提条件。
2.2.2 安装 SQL Chat
用户可以通过 Docker 安装或本地安装 SQL Chat。安装完成后,用户可以在对话框中输入自然语言问题,AI 会自动将问题转换为 SQL 语句。
2.3 社区支持
SQL Chat 的 GitHub 仓库提供了详细的安装指南和使用说明。用户可以通过 GitHub 仓库了解如何安装、配置和使用 SQL Chat。
2.4 适用场景
SQL Chat 适用于需要快速从数据库中检索信息的场景,如数据分析、报告生成等。它能够帮助用户快速获取所需数据,提高工作效率。
2.5 代码示例
以下是一个使用 SQL Chat 的代码示例:
import sqlchat# 初始化 SQL Chat
client = sqlchat.Client(api_key="your_openai_api_key")# 创建数据库连接
connection = client.create_connection(database_type="PostgreSQL",host="localhost",port=5432,username="postgres",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
3. Vanna:开源的 Python RAG 框架
3.1 功能概述
Vanna 是一个开源的 Python RAG(检索增强生成)框架,通过整合上下文(元数据、定义、查询等)以及领域知识文档来训练 RAG 模型。它能够根据用户的自然语言问题生成 SQL 查询语句。
3.2 使用方法
3.2.1 安装 Python 软件包
用户需要安装 Python 软件包 ‘vanna’ 并设置 API 密钥。
3.2.2 指定数据库模型
用户需要指定要训练 Vanna 的数据库模型,并使用 ‘ask’ 函数提出查询。Vanna 将在几秒钟内为用户生成 SQL 查询。
3.3 社区支持
Vanna 提供了详细的入门案例和本地运行指南。用户可以通过官方文档了解如何安装、配置和使用 Vanna。
3.4 适用场景
Vanna 适用于需要自定义可视化 UI,实现对话结果可视化的场景。它能够帮助用户快速生成 SQL 查询并进行可视化展示。
3.5 代码示例
以下是一个使用 Vanna 的代码示例:
import vanna# 初始化 Vanna
client = vanna.Client(api_key="your_api_key")# 指定数据库模型
model = client.create_model(database_type="MySQL",host="localhost",port=3306,username="root",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.ask(query, model)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, model)
print(result)
4. Dataherald:企业级自然语言到 SQL 引擎
4.1 功能概述
Dataherald 是一个企业级的自然语言到 SQL 引擎,允许用户从数据库中设置一个 API,可以用简单的对话进行问答。它提供了托管 API 服务和 UI 界面用于监控性能和配置引擎。
4.2 使用方法
4.2.1 克隆代码仓库
用户可以通过克隆代码仓库、设置环境变量和运行服务来快速上手 Dataherald。
4.2.2 配置环境变量
用户需要设置环境变量,包括数据库连接信息和 API 密钥。
4.2.3 运行服务
运行服务后,用户可以通过 API 或 UI 界面进行自然语言查询。
4.3 社区支持
Dataherald 提供了官方文档、代码仓库和 Discord 社区支持。用户可以通过这些渠道获取帮助和支持。
4.4 适用场景
Dataherald 适用于业务用户无需通过数据分析师即可从数据仓库获得洞察的场景。它能够帮助业务用户快速获取所需数据,提高工作效率。
4.5 代码示例
以下是一个使用 Dataherald 的代码示例:
import dataherald# 初始化 Dataherald
client = dataherald.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="PostgreSQL",host="localhost",port=5432,username="postgres",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
5. WrenAI:文本到 SQL 的解决方案
5.1 功能概述
WrenAI 是一个文本到 SQL 的解决方案,数据团队可以通过询问业务问题而无需编写 SQL,可更快地获得分析结果。它提供了一个本地运行的服务,用户可以通过浏览器访问并使用。
5.2 使用方法
5.2.1 克隆项目代码
用户可以通过克隆项目代码、安装依赖和启动服务来快速开始使用 WrenAI。
5.2.2 安装依赖
用户需要安装所需的依赖包,包括 Python 和相关库。
5.2.3 启动服务
启动服务后,用户可以通过 http://localhost:3000
访问本地运行的 WrenAI 服务。
5.3 社区支持
WrenAI 的 GitHub 仓库提供了详细的安装和使用指南。用户可以通过 GitHub 仓库了解如何安装、配置和使用 WrenAI。
5.4 适用场景
WrenAI 适用于内容营销、智能客服、教育与知识管理等场景。它能够帮助用户快速生成 SQL 查询并获取分析结果。
5.5 代码示例
以下是一个使用 WrenAI 的代码示例:
import wrenai# 初始化 WrenAI
client = wrenai.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="MySQL",host="localhost",port=3306,username="root",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
6. SuperSonic:腾讯音乐的语义解析器
6.1 功能概述
SuperSonic 是腾讯音乐开发的模型知识库和语义解析器,具有强大的语义解析能力,支持多种数据库。它能够根据用户的自然语言问题生成 SQL 查询语句。
6.2 使用方法
6.2.1 创建大模型连接
用户需要创建好大模型连接,才能最大化利用系统的能力。它支持 OPEN_AI 和 OLLAMA 两种大模对接协议。
6.2.2 配置数据库连接
用户需要配置数据库连接信息,包括数据库类型、主机名、端口、用户名和密码。
6.3 社区支持
SuperSonic 提供了详细的文档和社区支持。用户可以通过官方文档了解如何安装、配置和使用 SuperSonic。
6.4 适用场景
SuperSonic 适用于需要快速生成领域专用数据集推动跨领域数据应用创新的场景。它能够帮助用户快速生成 SQL 查询并进行数据应用创新。
6.5 代码示例
以下是一个使用 SuperSonic 的代码示例:
import supersonic# 初始化 SuperSonic
client = supersonic.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="PostgreSQL",host="localhost",port=5432,username="postgres",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
7. Awesome Text2SQL:文本到 SQL 转换技术
7.1 功能概述
Awesome Text2SQL 是一个开源项目,旨在提供最先进的文本到 SQL 转换技术。它支持多种数据库连接器,能够根据用户的自然语言问题生成相应的 SQL 查询语句。
7.2 使用方法
7.2.1 安装软件环境
用户需要安装并配置所需的软件环境,包括 Python 和相关库。
7.2.2 配置数据库连接
用户需要选择一个数据库连接器,并配置数据库连接信息。
7.2.3 使用系统
用户输入自然语言问题后,系统将自动为用户生成相应的 SQL 查询语句。
7.3 社区支持
Awesome Text2SQL 提供了详细的使用说明和社区支持。用户可以通过官方文档了解如何安装、配置和使用 Awesome Text2SQL。
7.4 适用场景
Awesome Text2SQL 适用于数据挖掘、数据清洗、自动化报表和智能问答系统等场景。它能够帮助用户快速生成 SQL 查询并进行数据分析。
7.5 代码示例
以下是一个使用 Awesome Text2SQL 的代码示例:
import text2sql# 初始化 Text2SQL
client = text2sql.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="MySQL",host="localhost",port=3306,username="root",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
8. Langchain:大模型应用框架
8.1 功能概述
Langchain 是一个大模型应用框架,可以在 SQL 数据库上构建问答链代理。它支持从 LLM 返回结构化数据、使用聊天模型调用工具等功能。
8.2 使用方法
8.2.1 安装 LangChain 包
用户需要安装 LangChain 包,并配置所需的环境变量。
8.2.2 使用主要特性
用户可以使用 LangChain 的主要特性,如从 LLM 返回结构化数据、使用聊天模型调用工具等。
8.3 社区支持
Langchain 提供了详细的安装指南、操作指南和 API 参考。用户可以通过官方文档了解如何安装、配置和使用 Langchain。
8.4 适用场景
Langchain 适用于需要在 SQL 数据库上构建问答链代理的应用场景。它能够帮助用户快速构建问答系统并进行数据交互。
8.5 代码示例
以下是一个使用 Langchain 的代码示例:
import langchain# 初始化 Langchain
client = langchain.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="PostgreSQL",host="localhost",port=5432,username="postgres",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
9. OmniSQL:开源的文本转 SQL 模型家族
9.1 功能概述
OmniSQL 是由中国人民大学团队开源的文本转 SQL 模型家族,有 7B、14B、32B 三种参数规模,适配不同算力需求。它能够根据用户的自然语言问题生成 SQL 查询语句。
9.2 使用方法
9.2.1 准备数据库模式
用户需要准备数据库模式(DDL)和自然语言问题。
9.2.2 使用提示模板
用户需要使用 OmniSQL 提供的提示模板,通过 vLLM 或 Transformers 进行推理,生成 SQL 查询。
9.3 社区支持
OmniSQL 提供了详细的使用指南和 GitHub 仓库。用户可以通过官方文档了解如何安装、配置和使用 OmniSQL。
9.4 适用场景
OmniSQL 适用于企业数据分析、教育领域、快速生成领域专用数据集等场景。它能够帮助用户快速生成 SQL 查询并进行数据分析。
9.5 代码示例
以下是一个使用 OmniSQL 的代码示例:
import omnysql# 初始化 OmniSQL
client = omnysql.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="MySQL",host="localhost",port=3306,username="root",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
10. BASE-SQL:开源文本转 SQL 基准方法
10.1 功能概述
BASE-SQL 是一种强大的开源文本转 SQL 基准方法,包括四个组件:模式链接、候选 SQL 生成、SQL 修订和 SQL 合并修订。它能够根据用户的自然语言问题生成 SQL 查询语句。
10.2 使用方法
10.2.1 准备数据库模式
用户需要准备数据库模式和自然语言问题。
10.2.2 使用提示模板
用户需要使用 BASE-SQL 提供的提示模板,通过开源模型进行推理,生成 SQL 查询。
10.3 社区支持
BASE-SQL 提供了详细的实验结果和 GitHub 仓库。用户可以通过官方文档了解如何安装、配置和使用 BASE-SQL。
10.4 适用场景
BASE-SQL 适用于数据分析、商业智能、智能客服等场景。它能够帮助用户快速生成 SQL 查询并进行数据分析。
10.5 代码示例
以下是一个使用 BASE-SQL 的代码示例:
import basesql# 初始化 BASE-SQL
client = basesql.Client(api_key="your_api_key")# 配置数据库连接
connection = client.create_connection(database_type="PostgreSQL",host="localhost",port=5432,username="postgres",password="password",database_name="sales"
)# 使用自然语言查询
query = "显示最近一周的销售数据"
sql_query = client.natural_language_to_sql(query, connection)
print(sql_query)# 执行 SQL 查询
result = client.execute_sql(sql_query, connection)
print(result)
总结
自然语言到 SQL 转换技术的发展为数据库交互带来了巨大的便利。本文介绍了 10 种流行的自然语言到 SQL 转换工具,包括它们的功能、使用方法、适用场景以及优缺点。这些工具各有特点,用户可以根据自己的需求选择合适的工具进行使用。
在选择工具时,用户应考虑以下因素:
- 社区活跃度:活跃的社区能够提供及时的支持和帮助。
- 文档完整性:详细的文档可以帮助用户快速上手和解决问题。
- 易用性:工具的易用性直接影响用户的使用体验。
- 适用性:选择适合自己应用场景的工具可以提高工作效率。
相关文章:
自然语言到 SQL 转换:开启智能数据库交互新时代
引言 随着人工智能技术的飞速发展,自然语言处理(NLP)领域取得了显著的进步。其中,将自然语言转换为 SQL 语句的技术尤为引人注目。这种技术能够帮助用户,尤其是那些不熟悉 SQL 的业务人员,快速从数据库中获…...

服务器配置错误导致SSL/TLS出现安全漏洞,如何进行排查?
SSL/TLS 安全漏洞排查与修复指南 一、常见配置错误类型 弱加密算法与密钥问题 使用弱密码套件(如DES、RC4)或密钥长度不足(如RSA密钥长度<2048位),导致加密强度不足。 密钥管理不当(如私钥未加密存…...

路由重发布
路由重发布 实验目标: 掌握路由重发布的配置方法和技巧; 掌握通过路由重发布方式实现网络的连通性; 熟悉route-pt路由器的使用方法; 实验背景:假设学校的某个分区需要配置简单的rip协议路由信息,而主校…...

C++修炼:stack和queue
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞,关注&am…...
【软件工程】基于频谱的缺陷定位
基于频谱的缺陷定位(Spectrum-Based Fault Localization, SBFL)是一种通过分析程序执行覆盖信息(频谱数据)来定位代码中缺陷的方法。其核心思想是:通过测试用例的执行结果(成功/失败)和代码覆盖…...

【计算机视觉】优化MVSNet可微分代价体以提高深度估计精度的关键技术
优化MVSNet可微分代价体以提高深度估计精度的关键技术 1. 代价体基础理论与分析1.1 标准代价体构建1.2 关键问题诊断 2. 特征表示优化2.1 多尺度特征融合2.2 注意力增强匹配 3. 代价体构建优化3.1 自适应深度假设采样3.2 可微分聚合操作改进 4. 正则化与优化策略4.1 多尺度代价…...
为什么tcp不能两次握手
TCP **不能用“两次握手”**的根本原因是:两次握手无法确保双方“都知道”连接是可靠建立的,容易引发“旧连接请求”造成错误连接。 🔁 先看标准的 三次握手(3-Way Handshake)流程 客户端 服务器| …...
常见音频主控芯片以及相关厂家总结
音频主控芯片是音频设备(如蓝牙耳机、音箱、功放等)的核心组件,负责音频信号的解码、编码、处理和传输。以下是常见的音频主控芯片及其相关厂家,按应用领域分类: 蓝牙音频芯片 主要用于无线耳机、音箱等设备࿰…...
掌握 Kubernetes 和 AKS:热门面试问题和专家解答
1. 在 AKS(Azure Kubernetes 服务)中,集群、节点、Pod 和容器之间的关系和顺序是什么? 在 AKS(Azure Kubernetes 服务)中,集群、节点、Pod 和容器之间的关系和顺序如下: 集群&#…...
【MyBatis-7】深入理解MyBatis二级缓存:提升应用性能的利器
在现代应用开发中,数据库访问往往是性能瓶颈之一。作为Java生态中广泛使用的ORM框架,MyBatis提供了一级缓存和二级缓存机制来优化数据库访问性能。本文将深入探讨MyBatis二级缓存的工作原理、配置方式、使用场景以及最佳实践,帮助开发者充分利…...
5.9-selcct_poll_epoll 和 reactor 的模拟实现
5.9-select_poll_epoll 本文演示 select 等 io 多路复用函数的应用方法,函数具体介绍可以参考我过去写的博客。 先绑定监听的文件描述符 int sockfd socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in serveraddr; memset(&serveraddr, 0, sizeof(struc…...
《算法导论(第4版)》阅读笔记:p17-p27
《算法导论(第4版)》学习第 10 天,p17-p27 总结,总计 11 页。 一、技术总结 1. insertion sort (1)keys The numbers to be sorted are also known as the keys(要排序的数称为key)。 第 n 次看插入排序,这次有两个地方感触比较深&#…...

软考错题集
一个有向图具有拓扑排序序列,则该图的邻接矩阵必定为()矩阵。 A.三角 B.一般 C.对称 D.稀疏矩阵的下三角或上三角部分包含非零元素,而其余部分为零。一般矩阵这个术语太过宽泛,不具体指向任何特定性 质的矩阵。对称矩阵…...

T2I-R1:通过语义级与图像 token 级协同链式思维强化图像生成
文章目录 速览摘要1 引言2 相关工作统一生成与理解的 LMM(Unified Generation and Understanding LMM.)用于大型推理模型的强化学习(Reinforcement Learning for Large Reasoning Models.)3 方法3.1 预备知识3.2 语义级与令牌级 CoT语义级 CoT(Semantic-level CoT)令牌级…...

Dockers部署oscarfonts/geoserver镜像的Geoserver
Dockers部署oscarfonts/geoserver镜像的Geoserver 说实话,最后发现要选择合适的Geoserver镜像才是关键,所以所以所以…🐷 推荐oscarfonts/geoserver的镜像! 一开始用kartoza/geoserver镜像一直提示内存不足,不过还好…...
【脑机接口临床】脑机接口手术的风险?脑机接口手术的应用场景?脑机接口手术如何实现偏瘫康复?
脑机接口的应用 通常对脑机接口感兴趣的两类人群,一类是适应症患者 ,另一类是科技爱好者。 1 意念控制外部设备 常见的外部设备有:外骨骼、机械手、辅助康复设备、电刺激设备、电脑光标、轮椅。 2 辅助偏瘫康复或辅助脊髓损伤患者意念控制…...

扩增子分析|微生物生态网络稳定性评估之鲁棒性(Robustness)和易损性(Vulnerability)在R中实现
一、引言 周集中老师团队于2021年在Nature climate change发表的文章,阐述了网络稳定性评估的原理算法,并提供了完整的代码。自此对微生物生态网络的评估具有更全面的指标,自此网络稳定性的评估广受大家欢迎。本系列将介绍网络稳定性之鲁棒性…...
Client 和 Server 的关系理解
client.py 和 server.py 是基于 MCP(Multi-Component Protocol)协议的客户端-服务端架构,二者的关系如下: 1. 角色分工 server.py:服务端,负责注册和实现各种“工具函数”(如新闻检索、情感分…...

【含文档+PPT+源码】基于微信小程序的社区便民防诈宣传系统设计与实现
项目介绍 本课程演示的是一款基于微信小程序的社区便民防诈宣传系统设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套…...
Kafka的核心组件有哪些?简要说明其作用。 (Producer、Consumer、Broker、Topic、Partition、ZooKeeper)
Kafka 核心组件解析 1. 基础架构图解 ┌─────────┐ ┌─────────┐ ┌─────────┐ │Producer │───▶ │ Broker │ ◀─── │Consumer │ └─────────┘ └─────────┘ └────────…...
Java中对象集合转换的优雅实现【实体属性范围缩小为vo】:ListUtil.convert方法详解
1.业务场景 在开发电商系统时,我们经常需要处理订单信息的展示需求。例如:订单详情页需要显示退款信息列表,而数据库中存储的RefundInfo实体类包含敏感字段,直接返回给前端存在安全风险。此时就需要将RefundInfo对象集合转换为Or…...

【MySQL】存储引擎 - ARCHIVE、BLACKHOLE、MERGE详解
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...

代码随想录第41天:图论2(岛屿系列)
一、岛屿数量(Kamacoder 99) 深度优先搜索: # 定义四个方向:右、下、左、上,用于 DFS 中四向遍历 direction [[0, 1], [1, 0], [0, -1], [-1, 0]]def dfs(grid, visited, x, y):"""对一块陆地进行深度…...
Vue插槽(Slots)详解
文章目录 1. 插槽简介1.1 什么是插槽?1.2 为什么需要插槽?1.3 插槽的基本语法 2. 默认插槽2.1 什么是默认插槽?2.2 默认插槽语法2.3 插槽默认内容2.4 默认插槽实例:创建一个卡片组件2.5 Vue 3中的默认插槽2.6 默认插槽的应用场景 …...
中国古代史1
朝代歌 三皇五帝始,尧舜禹相传。 夏商与西周,东周分两段。 春秋和战国,一统秦两汉。 三分魏蜀吴,二晋前后延。 南北朝并立,隋唐五代传。 宋元明清后,皇朝至此完。 原始社会 元谋人,170万年前…...
vue +xlsx+exceljs 导出excel文档
实现功能:分标题行导出数据过多,一个sheet表里表格条数有限制,需要分sheet显示。 步骤1:安装插件包 npm install exceljs npm install xlsx 步骤2:引用包 import XLSX from xlsx; import ExcelJS from exceljs; 步骤3&am…...
nginx之proxy_redirect应用
一、功能说明 proxy_redirect 是 Nginx 反向代理中用于修改后端返回的响应头中 Location 和 Refresh 字段的核心指令,主要解决以下问题:协议/地址透传错误:当后端返回的 Location 包含内部 IP、HTTP 协议或非标准端口时,需修正为…...
在 Flink + Kafka 实时数仓中,如何确保端到端的 Exactly-Once
在 Flink Kafka 构建实时数仓时,确保端到端的 Exactly-Once(精确一次) 需要从 数据消费(Source)、处理(Processing)、写入(Sink) 三个阶段协同设计,结合 Fli…...
Qt 中基于 spdlog 的高效日志管理方案
在开发 Qt 应用程序时,日志记录是一项至关重要的功能,它能帮助我们追踪程序的运行状态、定位错误和分析性能。本文将介绍如何在 Qt 项目中集成 spdlog 库,并封装一个简单易用的日志管理类 QtLogger,实现高效的日志记录和管理。 为什么选择 spdlog? spdlog 是一个快速、头…...

VUE CLI - 使用VUE脚手架创建前端项目工程
前言 前端从这里开始,本文将介绍如何使用VUE脚手架创建前端工程项目 1.预准备(编辑器和管理器) 编辑器:推荐使用Vscode,WebStorm,或者Hbuilder(适合刚开始练手使用),个…...