在 Amazon RDS 和 Amazon Aurora 中加速数据库开发,使用 Amazon Co
加速在 Amazon RDS 和 Amazon Aurora 的数据库开发
关键要点
在本文中,我们探讨如何利用 Amazon CodeWhisperer 提升数据库开发效率。随着应用程序的快速扩展,数据库开发人员需要掌握新的技能以满足业务需求。Amazon CodeWhisperer 作为一个基于人工智能的生产力工具,可以帮助开发者通过自然语言生成 SQL 代码,从而加速开发过程。
随着组织的不断扩展,数据库开发人员快速学习新技能的需求变得愈加重要。Amazon CodeWhisperer 是一款基于 AI 的生产力工具,专为集成开发环境 (IDE) 和命令行设计,能够根据开发者在 IDE 中的自然语言评论和代码生成代码建议,从而提升开发者的工作效率。利用 Amazon CodeWhisperer 的 SQL 代码生成能力,可以加速数据库开发。生成的 SQL 代码可适用于多种数据库引擎,例如 PostgreSQL、SQL Server、Babelfish for Aurora PostgreSQL 和 MySQL。
在本文中,我们将展示如何使用 Amazon CodeWhisperer 加速对 Amazon Relational Database Service (Amazon RDS) for MySQL 数据库的开发。通过使用示例课程注册数据库,我们将介绍使用 Amazon CodeWhisperer 执行 DDL 操作、创建简单或复杂查询、索引和聚合等基本任务。
解决方案概述
Amazon CodeWhisperer 与开发者选择的 支持的 IDE 直接集成。开发者可以通过提示生成 SQL 代码,然后将其应用于 RDS for MySQL 数据库集群,或者通过 MySQL Workbench 等工具执行。
以下图解展示了建议的解决方案架构。
前提条件
确保您具备以下前提条件:
前提条件描述AWS 账户拥有 Amazon Web Services 的帐户。Visual Studio Code (VS Code) 或支持的 IDE使用 Visual Studio Code 或其他兼容的 IDE 进行 SQL 开发。Amazon CodeWhisperer 本地启用在您的 IDE 中本地启用 Amazon CodeWhisperer。RDS for MySQL 数据库创建 RDS for MySQL 数据库实例。另外,还请查看 Amazon CodeWhisperer 用户命令。
使用 Visual Studio Code 进行 SQL 生成
本节介绍如何在 VS Code 中与 Amazon CodeWhisperer 互动,进行 SQL 开发的基础操作。
Amazon CodeWhisperer 利用人工智能提供代码建议,并且是非决定性的。本文中展示的代码可能与您在 IDE 中从 Amazon CodeWhisperer 获得的代码不同。
请按照以下步骤操作:
在 VS Code 中创建一个新文件,并确保文件的语言模式选择为 SQLexamplesql。在空文件中添加一个自然语言注释,描述您正在构建的数据库架构和表,格式为 / /。如下图所示:在代码块结束后按回车,Amazon CodeWhisperer 会根据您的指示填充 SQL 命令。如果需要,可以编辑 SQL 命令或按 Tab 接受。您可以在同一文件中编写更多指令,以创建其他 DDL 和 DML 语句。您还可以将生成的 SQL 命令复制并通过任何 MySQL 客户端在 RDS for MySQL 数据库中运行。
网页加速器免费版 安卓使用 Amazon CodeWhisperer 的数据库开发
我们将利用示例查询展示 SQL 的生成过程。建议您针对生产工作负载测试这些查询或根据需求创建自己的数据集。
在本文中,您将学习如何使用 Amazon CodeWhisperer 在大学课程注册数据库上执行以下任务。对于每个任务,我们提供一个简单的语言输入提示,并查看生成的 SQL 响应。建议在同一 SQL 文件中执行所有部分,如下所示。
创建数据库和架构表
首先,让我们构建一个大学学生数据库,以存储学生信息和课程信息,并提供学生已注册课程的详细信息。在构建数据库之前,您需要建立与 VS Code 的 RDS 数据库实例的连接。可以使用 VS Code 扩展工具,如 MySQL,连接到数据库实例。
让我们在 VS Code 中通过以下提示来请求 Amazon CodeWhisperer:
sql / 创建一个包含三张表的大学数据库 学生表包含学生ID、名字、姓氏、年龄和专业, 课程表包含课程ID、课程名、描述和学分, 注册表包含学生ID、课程ID和注册日期。注册表在学生ID和课程ID上有外键约束 /
我们获得以下响应。
Amazon CodeWhisperer 成功生成了我们用自然语言定义的三张表及其适用的属性。
接下来,我们运行从 VS Code 生成的 SQL 命令以创建数据库和表。
如代码所示,我们成功运行了 Amazon CodeWhisperer 生成的 SQL 命令,创建了所有三张表。
以下图解描述了创建的数据库中的表。学生表与注册表存在一对多关系,因为一个学生可以多次注册多个课程。类同地,课程表与注册表之间也存在一对多关系,因为每门课程可以有多个学生的注册。
插入数据
让我们向您创建的每张表中插入五条示例记录。您可以编辑查询以插入特定信息。在 VS Code 中使用以下提示向每张表中插入五条记录:
sql / 向每张表插入5条记录 /
我们获得以下响应。
Amazon CodeWhisperer 成功生成了插入语句,以将五条记录放入每张表中。
让我们运行 SQL 代码将记录插入表中。
如代码所示,我们成功运行了 Amazon CodeWhisperer 生成的 SQL 命令,将五条记录插入每张表中。
检索数据
大学咨询部门正在尝试跟踪学生课程注册的详细信息。使用以下提示来检索主修计算机科学的学生:
sql / 编写查询以检索主修计算机科学的所有学生 /
我们获得以下响应。
根据示例响应,Amazon CodeWhisperer 成功生成了检索所有主修计算机科学学生的查询。运行代码后,我们得到了目前注册计算机科学的学生列表。
接下来,让我们生成另一个查询以检索数据,显示所有学生的姓名及所注册课程的 ID。请按如下所示提示 Amazon CodeWhisperer:
sql / 编写查询以显示所有学生姓名、课程 ID 及其注册课程名称 /
我们获得以下响应。
在运行提示后,我们收到了所有学生姓名、课程 ID 和注册名称的清单。此处,Amazon CodeWhisperer 成功生成了表连接,以准确生成所需的查询。
执行更新和删除
现在,我们希望将 courses 表中名为离散数学的课程名称更新为数学 101,并更新 registration 表中的课程 ID。请按如下所示提示 Amazon CodeWhisperer:

sql / 将课程名称离散数学更新为数学 101,并更新注册信息 /
我们获得以下响应。
根据示例响应,Amazon CodeWhisperer 成功更新了课程名称及其对应注册信息。
创建索引
随着数据的增加,响应速度可能会变慢,尤其是在执行全面表扫描时。索引能够快速定位特定列值的行。如果没有索引,数据库必须从第一行开始扫描整个表以找到相关行。让我们在 students 表某一列上创建一个索引。
使用 Amazon CodeWhisperer 生成创建索引的 SQL 语句,输入以下提示:
sql / 在专业列上创建索引 /
我们获得以下响应。
根据示例响应,在 students 表上根据专业成功创建了索引。
清理
为了避免将来的费用,删除您在本文中创建的资源。如果您创建了 RDS 数据库,请 删除数据库。
结论
在本文中,我们展示了 Amazon CodeWhisperer 如何帮助处理各种 SQL 任务,包括创建表、插入数据、执行复杂查询和管理索引。尽管开发者仍需审核和调整生成的代码,但 Amazon CodeWhisperer 减少了大量手动编码的工作,这使开发者能够集中精力处理更有价值的任务,如设计和优化。
欲了解有关 Amazon CodeWhisperer 数据库开发的更多信息,请参考 CodeWhisperer for SQL 研讨会。
关于作者
Brendan Jenkins 是亚马逊网络服务AWS的解决方案架构师,为企业客户提供技术方面的指导,帮助他们实现业务目标。他专注于 DevOps 和机器学习技术。
Fahim Sajjad 是 AWS 的解决方案架构师,帮助客户设计其云解决方案并提供技术指导。他毕业于马里兰大学,拥有计算机科学学位,并对人工智能和机器学习产生浓厚兴趣,喜欢阅读关于新技术发展的书籍和远足。
Shivam Gulati 是 AWS 的高级数据架构师,为客户设计和构建高可用性和可扩展的数据库及数据分析解决方案。在工作之余,他喜欢旅行、拍照和与朋友家人一起探索新地方。
Riya Dani 是 AWS 的解决方案架构师,负责帮助企业客户云迁移。她热爱学习,拥有弗吉尼亚理工大学计算机科学的学士及硕士学位,专注于深度学习。空闲时,她喜欢保持活跃和阅读。
Abdullah Khan 是 AWS 的解决方案架构师,曾就读于马里兰大学,获得信息系统学位。目前,他帮助客户在 AWS 云上设计和实施解决方案,对人工智能和机器学习充满兴趣。闲暇时,Abdullah 喜欢远足和听播客。
Madhavi Evana 是 AWS 的解决方案架构师,主要支持云销售中心CSC,协助客户实施云解决方案。她在乔治华盛顿大学获得数据分析硕士学位,专注于人工智能和机器学习,享受打网球和园艺活动。
加载评论
关于 AWS DMS 可用性和恢复场景的见解与缓解措施 第一部分 数据库博客
AWS DMS的恢复与弹性场景分析第一部分关键要点在考虑从本地迁移到AWS云时,数据库迁移是首要关注点。选择合适的迁移策略至关重要,能有效避免潜在的失败。本篇文章探讨了AWS DMS迁移过程中可能遇到...
宝马集团通过平台学院为2500名员工提升技能,在南非建立可持续的劳动力 培训与认证博客
宝马集团通过平台学院提升2500名员工技能,打造南非可持续劳动力关键要点宝马集团推出“数字提升”计划,致力于提升员工的数字技能。平台学院专注于AWS云技能,帮助员工获得数据分析、数据科学和软件开发方面...