qclaw支持四种ddl生成方式:一、自然语言转ddl,自动适配mysql/postgresql方言;二、excel导入映射类型并加约束;三、反向提取源库结构并重构;四、多版本兼容ddl带条件分支标记。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要为MySQL或PostgreSQL数据库快速生成标准、可执行的建表语句(DDL),但缺乏手动编写经验或希望避免语法错误,则QClaw可通过自然语言理解直接输出符合目标数据库版本规范的DDL脚本。以下是多种实现方式:
一、自然语言描述转DDL(零代码)
该方法无需提供任何SQL语法,仅需用中文清晰说明表用途、字段名、类型、约束及业务含义,QClaw自动识别数据库类型并适配方言。
1、在QClaw对话框中输入类似指令:“在MySQL 8.4中创建用户表,包含id(自增主键)、username(非空字符串,最大32位)、email(唯一、支持邮箱格式校验)、created_at(默认当前时间戳)”
2、QClaw将解析语义,识别目标为MySQL,并生成含AUTO_INCREMENT、UNIQUE KEY、DEFAULT CURRENT_TIMESTAMP等特性的完整CREATE TABLE语句。
3、若指令中明确提及PostgreSQL,例如“为PostgreSQL 15创建订单表,含order_id(SERIAL主键)、amount(DECIMAL(10,2)非空)、status(枚举值:'pending','shipped','delivered')”,则输出含CREATE TYPE、SERIAL、CHECK约束的合规DDL。
二、Excel表结构导入生成DDL
该方法适用于已有字段清单(如产品文档、需求表格),可避免逐字录入错误,QClaw自动映射数据类型并添加必要约束。
1、准备Excel文件,首行为字段名,第二行为类型描述(如“字符串”“整数”“日期”“必填”“主键”“索引”)。
2、将Excel文件直接拖入QClaw对话窗口,并发送指令:“根据这张Excel表结构,为PostgreSQL生成建表DDL,所有字符串字段用VARCHAR(255),数值用BIGINT,日期用TIMESTAMP WITH TIME ZONE”
3、QClaw读取行列内容,识别主键与非空列,生成含PRIMARY KEY、NOT NULL、COMMENT(含原始中文列名注释)的完整语句。
三、从现有数据库反向提取并重构DDL
该方法适用于需兼容线上库结构但需调整字段顺序、注释或约束的场景,QClaw可连接源库获取元数据后按需重写。
1、确保已配置对应数据库连接(如MySQL地址192.168.56.102:3306,账号test,密码123456)。
2、发送指令:“连接MySQL数据库192.168.56.102,导出testdb.user_info表的建表语句,但移除ENGINE和CHARSET等存储引擎相关子句,同时为每个字段添加中文注释(依据information_schema.COLUMNS.COLUMN_COMMENT)”
3、QClaw执行SHOW CREATE TABLE后解析结果,剔除无关子句,注入COMMENT,输出干净、可移植的跨环境DDL。
四、多版本兼容DDL生成(带条件分支)
该方法用于需同时支持MySQL与PostgreSQL的混合部署场景,QClaw可生成带注释标记的双版本语句,便于人工选择或CI流程自动分发。
1、输入指令:“生成一张日志表的DDL,要求:MySQL版本使用TINYINT表示状态,PostgreSQL版本使用SMALLINT;两者均需带索引和注释;输出时用-- MYSQL: 和-- PG: 开头区分”
2、QClaw分别调用两套方言规则引擎,生成结构一致但类型与语法适配各自数据库的语句块,并严格按指定前缀分隔。
3、输出结果中,每段DDL均通过-- COMMENT: 标注字段业务含义,且索引命名统一为idx_{table}_{column},确保可维护性。











