AI工具 ChatGPT⑷ VS GoogleBard,SQL开发者会Pick 谁?
ChatGPT⑷vsGoogleBard
chatgpt中文版 http://chatgpt.guige.xyz
在人工智能 (AI) 进步的快节奏世界中,开发人员正在寻觅最高效和突破性的解决方案来加快和提高他们的工作质量。对 PostgreSQL 开发人员来讲,选择理想的 AI 支持的工具以最专业的方式解决他们的查询相当重要。
ChatGPT 对照Google Bard
数据:ChatGPT 在截至 2021 年搜集的文本和代码数据集上进行训练,而 Google Bard 在不断更新的数据集上进行训练。这意味着 Google Bard 可以访问更多最新信息,并可以提供更准确的答案。
准确性:Google Bard 通常比 ChatGPT 更准确,特别是在触及事实信息时。这是由于 Google Bard 是在更大、更新的数据集上训练的。
创造力:在生成文本格式(例如诗歌、代码、脚本、音乐作品、电子邮件、信件等)方面,ChatGPT 比 Google Bard 更具创造力。这是由于 ChatGPT 是在包括更广泛创意的数据集上训练的文本格式。
可用性:ChatGPT 可供任何想使用它的人使用,而 Google Bard 目前仅供有限数量的用户使用。
用 ChatGPT 和 Bard 进行 PostgreSQL 开发?
测试准备
Pagila 示例数据库(评论区获得)
dbForge Studio for PostgreSQL
访问 ChatGPT⑷
访问 Google Bard
dbForge Studio for PostgreSQL是一个用于开发和管理PostgreSQL数据库的GUI工具。PostgreSQL的IDE允许用户创建、开发和履行查询、编辑和调剂代码,设计数据感知报告和图表,非常合适此次演示,准备好上述工作后,开始测试~
测试案例:创建SQL函数
ChatGPT⑷ 生成了以下 SQL 代码:
CREATE OR REPLACE FUNCTION most_rented_films(start_date DATE, end_date DATE)
RETURNS TABLE (film_id INTEGER, title TEXT, rental_count INTEGER) AS $$
BEGIN
RETURN QUERY
SELECT f.film_id, f.title, COUNT(r.rental_id) AS rental_count
FROM film AS f
JOIN inventory AS i ON f.film_id = i.film_id
JOIN rental AS r ON i.inventory_id = r.inventory_id
WHERE r.rental_date BETWEEN start_date AND end_date
GROUP BY f.film_id, f.title
ORDER BY rental_count DESC;
END;
$$ LANGUAGE plpgsql;
现在让我们打开 dbForge Studio for PostgreSQL 并验证 AI 创建的代码。
不言而喻,Studio 抛出毛病,由于未指定用于创建函数的架构。我们略微修改一下代码,然后再试一次。
这次查询成功,并且该函数现在在数据库资源管理器中可见。现在,运行 SELECT 语句以确保一切都按要求工作。
又出现毛病。在函数语法中,rental_count 列数据类型已指定为 INTEGER,这明显是毛病的。我们需要修改语法并重试。因此,工作代码以下:
CREATE OR REPLACE FUNCTION public.most_rented_films(start_date DATE, end_date DATE)
RETURNS TABLE (film_id INTEGER, title TEXT, rental_count BIGINT) AS $$
BEGIN
RETURN QUERY
SELECT f.film_id, f.title, COUNT(r.rental_id) AS rental_count
FROM film AS f
JOIN inventory AS i ON f.film_id = i.film_id
JOIN rental AS r ON i.inventory_id = r.inventory_id
WHERE r.rental_date BETWEEN start_date AND end_date
GROUP BY f.film_id, f.title
ORDER BY rental_count DESC;
END;
$$ LANGUAGE plpgsql;
我们删除之前创建的函数,创建一个新函数,然后运行 SELECT。这次成功了
现在让我们评估一下 Google Bard
我们得到了以下代码:
CREATE OR REPLACE FUNCTION most_rented_films (start_date DATE,
end_date DATE) RETURNS TABLE (
film_id INT,
film_title VARCHAR(255),
rental_count INT
)
AS
$func$
BEGIN
RETURN QUERY
SELECT
f.film_id,
f.film_title,
COUNT(*) AS rental_count
FROM
film_rentals fr
JOIN
films f ON f.film_id = fr.film_id
WHERE
fr.rental_date >= start_date
AND fr.rental_date < end_date
GROUP BY
f.film_id,
f.film_title
ORDER BY
rental_count DESC;
END
$func$;
让我们在 Studio 中运行它!我们得到了一样的毛病——模式没有被指定。
因而,我们修改代码,再次运行。并得到另外一个毛病。
我们需要进一步修改查询。指定语言并履行语法后,我们运行 SELECT。并且……再次出错。
Google Bard 在其脚本中援用了不存在的表;除此以外,rental_count 列的数据类型被毛病地指定为 INT。在我们解决了所有这些问题以后,我们终究得到了工作代码。
因此使用 Google Bard,我们不能不调剂生成的代码很长一段时间,这需要一定程度的专业知识, SQL 初学者可能很难操作。
在进行尝试创建函数后, 我们又一样使用这两个AI工具进行了其他4项测试: 创建日期函数、窗口函数、JOIN 子句、数据透视表。由于测试篇幅太长,此处就不进行展现,可点此跳转查看完全测试~
哪一个AI工具更好用?
以上便是本次带来的关于Google Bard 和 ChatGPT⑷在PostgreSQL开发的对照测试,感兴趣的大佬不防亲身尝试一下,前往慧都下载最新版dbForge Studio for PostgreSQL,或扫码咨询我们获得下载,开启你的AI数据库之旅~
桂…哥…网…络www.gUIgeGe.cn
本文来源于chatgptplus账号购买平台,转载请注明出处:https://chatgpt.guigege.cn/jiaocheng/29272.html 咨询请加VX:muhuanidc