在 Oracle 数据库工具演进史上,SQLPlus 曾是无数 DBA 和开发者的“老战友”——简洁、稳定、无依赖。但随着 AI 与云原生时代的到来,命令行工具也需要进化。Oracle 推出的 SQLcl(SQL Developer Command Line)不仅全面兼容 SQLPlus 语法,更以现代化交互、脚本扩展能力和原生 AI 集成,重新定义了数据库命令行体验。

它不再只是一个查询终端,而是连接开发者、数据库与生成式 AI 的智能桥梁


一、从 SQL*Plus 到 SQLcl:不止是“更好看”

SQLcl 延续了 SQL*Plus 的轻量与跨平台特性(基于 Java,支持 Windows/Linux/macOS),但在用户体验上实现了质的飞跃:

  • 语法高亮与自动补全:输入 SELECT * FROM emp 时,表名、列名自动提示
  • 多行编辑与历史回溯:像现代 Shell 一样流畅编辑复杂语句
  • 内置 REST、JSON、CSV 支持:直接导出为结构化格式,无需额外脚本
  • 脚本语言支持 JavaScript / TypeScript:用 JS 编写数据库自动化任务

例如,用 JavaScript 脚本一键生成表结构文档:

// table_info.js
var tables = db.execute("SELECT table_name FROM user_tables");
tables.forEach(function(row) {
    console.log("=== " + row[0] + " ===");
    db.execute("DESC " + row[0]).print();
});

运行:sql /nolog @table_info.js

这种灵活性让 SQLcl 成为 DevOps 和数据工程流水线的理想组件。


二、AI 时代的全新角色:SQLcl × Oracle AI

真正让 SQLcl 脱颖而出的,是它与 Oracle Cloud Infrastructure(OCI)Generative AI 服务的深度集成。从 v23.4 开始,SQLcl 内置了 AI 命令,让你在命令行中直接调用大模型!

场景1:自然语言生成 SQL

不会写复杂查询?直接问 AI:

SQL> AI "列出过去30天销售额最高的5个客户,包括客户名和总金额"

SQLcl 会调用 OCI 上的 Llama 或 Cohere 模型,返回可执行的 SQL 语句,并询问是否立即运行。

场景2:解释执行计划

看不懂 EXPLAIN PLAN 的输出?让 AI 帮你解读:

SQL> EXPLAIN PLAN FOR SELECT * FROM orders WHERE status = 'SHIPPED';
SQL> AI EXPLAIN

AI 会用通俗语言说明:“该查询使用了索引 IDX_ORD_STATUS,预计返回约12万行……”

场景3:自动生成测试数据或修复建议
SQL> AI "为 employees 表生成10条符合 HR 规则的测试数据"
SQL> AI "为什么这个 INSERT 报 ORA-02291?请给出解决方案"

所有 AI 交互均通过企业级 OCI 服务完成,数据不经过公有大模型,保障安全合规。


三、为什么 SQLcl 是 AI 时代的“连接器”?

能力 传统工具(如 SQL*Plus) SQLcl
交互体验 纯文本,无提示 智能补全、语法高亮
脚本能力 仅 PL/SQL 或 Shell 支持 JavaScript/TypeScript
数据格式 仅文本表格 原生支持 JSON/CSV/XML
AI 集成 内置 AI 命令,直连 OCI GenAI
安全性 本地运行 支持 Wallet、OCI Auth、Vault 集成

更重要的是,SQLcl 无缝融入现有工作流。你无需放弃熟悉的 / 执行、@script.sql 调用等习惯,就能获得 AI 增强能力。


四、快速上手:三步启用 AI 功能

  1. 安装 SQLcl(需 23.4+)
    Oracle 官网 下载

  2. 配置 OCI 凭据
    设置环境变量或使用 oci setup config 生成配置文件

  3. 在 SQLcl 中启用 AI

    SQL> SET AI ON
    SQL> AI "显示当前用户有哪些表"
    

首次使用会引导你选择模型(如 meta/llama-3-70b-instruct)和区域。


结语:命令行从未如此智能

SQLcl 的使命,不只是取代 SQL*Plus,而是成为 AI 原生数据库开发的新入口。它让 DBA 从“记忆语法”转向“描述意图”,让开发者用自然语言与数据库对话,同时坚守企业对安全、可控和效率的要求。

在这个 AI 重构一切的时代,最强大的工具往往不是最炫的 GUI,而是那个你每天都在用、却悄然进化了的命令行——
SQLcl,正站在这个转折点上

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐