游乐游手机版
首页/AI热点日报/热点详情

CodeGeeX生成SQL语句的完整步骤方法与操作技巧详解

类型:热点整理2026-07-21
在本地无数据库环境下,需人工提供表结构注释或JSONSchema元数据。用户输入自然语言需求后触发补全生成SQL,但需按目标数据库方言手动修正语法。问答模式需包含时间、聚合、排序三要素以满足查询需求。

在本地环境没有数据库连接的情况下,要想用 CodeGeeX 生成靠谱的 SQL,关键一步是人工喂给它表结构和业务目标——模型不会自己猜字段名、不会推断外键关系,更不知道你上周改过哪个表的主键类型。一旦漏掉关键约束,它就可能输出 ON 1=1SELECT * FROM user u, dept d 这种无效语句。说白了,你需要把“数据库的底牌”亮给模型看。

CodeGeeX生成SQL语句步骤

安装插件并启用本地模式

打开 VSCode → 扩展商店搜索“CodeGeeX” → 点击安装 → 重启窗口。首次启动默认走云端,必须手动切换:点击右下角状态栏的“CodeGeeX”图标 → 选择“Switch to Local Mode”。注意:下载路径不可更改,必须保留在默认缓存目录,否则插件无法定位模型。 等待约 4.2GB 的模型自动下载并解压,状态栏图标变绿就说明就绪了。

提供表结构上下文

CodeGeeX 本地版不读取数据库元信息,必须人工提供结构描述。两种方式任选其一:

方法一:在 .sql 文件顶部用注释写明,例如:
-- TABLE users (id INT PK, name VARCHAR(50), email VARCHAR(100), dept_id INT FK→departments.id)

方法二:在光标上方插入三引号 JSON Schema(推荐在复杂关联场景下使用):
```json
{"tables": [{"name": "users", "columns": [{"name": "id", "type": "INT", "pk": true}, {"name": "dept_id", "type": "INT", "fk": "departments.id"}]}]}
```

注意:JSON 必须严格合法,字段名不能带空格或特殊符号,否则模型解析失败后将返回空建议。

输入自然语言需求并触发补全

第一步:在已包含表结构注释的 .sql 文件中,新起一行输入中文需求,例如:“查上个月注册且邮箱未验证的用户数量”。
第二步:将光标置于该行末尾 → 按 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(Mac)触发补全。
第三步:生成结果默认带 -- generated 注释头,可直接执行。但要注意,如果出现 PostgreSQL 的 LIMIT OFFSET 写法而你用的是 MySQL,需要手动改为 LIMIT + OFFSET 子句——CodeGeeX 本地模型不绑定具体数据库引擎,输出语法需按目标方言手动修正。

问答模式中精准提问

按下 Ctrl+Shift+I(Windows/Linux)或 Cmd+Shift+I(Mac)唤出侧边栏对话框。
输入自然语言时,必须包含时间范围、聚合条件、排序要求三个要素,例如:“统计 2024 年 Q3 各部门订单总金额,仅显示金额超 50 万的部门,按金额降序排”。
如果字段跨三张以上表,或者存在同名列(比如多个表都有 status),光靠自然语言很难让模型准确绑定来源,必须提前上传 DDL 或 JSON Schema。

来源:https://www.php.cn/faq/2856299.html?uid=1431639

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。