在这篇文章中,我们将深入挖掘如何充分利用 ChatGPT 来加速甚至可能取代你的 SQL 相关工作。ChatGPT 携带多种强大功能,为提升你的SQL数据库操作提供助力。以下是几种借助它完成各项任务的方法:
- 获取商业洞察:迅速从数据中提炼出可行信息。
- 设计与迁移表架构:简化数据库结构的构建与更新过程。
- 执行数据分析:运用高级技术深入理解并解释数据。
- 制定数据库触发器与存储过程:自动化并提升数据库操作效率。
- 优化及修正SQL查询:增强查询的执行效率和准确度。
使用ChatGPT编写SQL的优劣:
优势:
- 速度:ChatGPT能迅速生成SQL查询,得益于GPT-4的丰富知识和强大能力。
- 灵活性:它能理解多种数据库类型,并能根据特定数据库定制SQL查询,免去了记忆各种语法的烦恼。
- 高阶数据分析:ChatGPT配备了先进的数据分析工具,可进行深度分析和数据可视化,对深入挖掘洞察和报告至关重要。
劣势:
- 准确性:有时ChatGPT可能会生成错误的SQL,需要你手动进行调试。
- 上下文理解:如果对数据库架构理解不够深入,特别是在信息不完整时,ChatGPT的准确度可能会有所下降。
准备阶段
想要有效地运用ChatGPT进行相关工作,你需要提供两项关键信息:
- 相关表结构:数据库表的构架详情。
- 具体问题:你希望查询或了解的具体内容。
获取相关表结构
原始的ChatGPT
你可以通过执行针对PostgreSQL信息架构的查询来获得表结构。下面是一个SQL命令,用于检索表中列的基本信息:
SELECT table_name, column_name, data_type, is_nullable FROM information_schema.columns WHERE table_schema = \'public\';
我们获取的结果如下:
![Manually get table schema](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fec896f8.png)
我们将把这些信息复制到ChatGPT中,让它了解我们的 schema。
此外,你还可以尝试使用 AskYourDatabase 这款 SQL AI 工具 来直接与数据库对话,这样可以节省大量的手动和繁琐工作。
要安装,只需搜索SQL并点击安装:
安装AskYourDatabase ChatGPT插件。
![Install AskYourDatabase ChatGPT plugin](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fec98b06.png)
安装完成后,只需输入你的数据库连接字符串并询问:“数据库中有什么?”:
ChatGPT + AskYourDatabase – 自动理解你的 schema
![ChatGPT + AskYourDatabase - understand your schema automatically](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548feca52c4.png)
ChatGPT 与 AskYourDatabase 结合使用,可以自动提取并解释你的表结构。
以下是一些提高生成 SQL 准确性的建议:
- 使用清晰的命名:确保表和列名称描述性强并直观易懂。
- 实施外键:通过定义外键约束来明确表之间的关系,帮助ChatGPT更好地理解表关联。
通过提问生成SQL
假设我是一个电子商务经理,有五种不同的产品和众多订单。每个订单详细说明了特定产品及其价格。
我感兴趣的是基于总销售额确定这五种产品的销售排名。让我们继续提问:
原始ChatGPT
提问:
表结构 + 你的问题 = 良好的SQL结果。
![Table Schema + Your question = good SQL result](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fecb2dea.png)
获取SQL结果:
获取SQL。
![Get the SQL](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fecc0b81.png)
现在在TablePlus中执行它:
在表中获取结果。
![Get result in table](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548feccd7a2.png)
这个过程很繁琐,涉及三个步骤:
- 检索你的架构。
- 复制生成的SQL代码。
- 在你的SQL终端中运行它。
如果你想基于结果进行进一步分析,你必须将结果复制回ChatGPT。
AskYourDatabase ✖️ ChatGPT
有了AYD,你可以直接在聊天中得到答案:
与你的数据库聊天。
![Chat with your database](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fecd9473.png)
与其进行大量的复制粘贴任务,不如直接与你的数据库进行对话。
数据可视化
现在我们想绘制一个饼图,快速回顾不同产品销售额的贡献。
原始ChatGPT
通过手动复制刚检索到的数据,并请求创建饼图:
对你的数据库进行数据可视化。
![Data visualization of your database](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fece5185.png)
AskYourDatabase
在 AskYourDatabase 桌面应用中,只需提出问题,即可立即收到结果和图表:
AskYourDatabase 桌面 – 通过提问进行可视化。
![AskYourDatabase Desktop - visualization by asking a question](http://www.jmt8.com/wp-content/uploads/2024/05/1716817900-20240527135140-66548fecf258f.png)
商业洞察
现在我们的目标是利用ChatGPT检查我们的订单数据,寻找销售中的问题:
问题:分析订单细节以识别潜在问题。
答案:
从你的数据库中获取商业洞察。
![Get business insights from your db](http://www.jmt8.com/wp-content/uploads/2024/05/1716817901-20240527135141-66548fed0b0c3.png)
结论
有了充足的架构信息和准确的问题,ChatGPT确实可以产生相当有效的SQL。然而,使用原始的ChatGPT涉及大量单调的任务,包括不断的复制和粘贴。
通过使用像 AskYourDatabase 这样的工具,你可以直接在ChatGPT内与数据库进行互动,消除了重复手动工作的需要。对于那些关心数据安全的人来说,他们提供了桌面版本。
这个选项确保你的数据不会离开你的环境,维护你的凭据和连接的安全性和隐私。