🔄 SQL转TypeScript接口生成器

免费在线SQL DDL转TypeScript接口生成器,支持CREATE TABLE语句自动解析、类型映射、可选nullable/接口命名,无需注册,数据不上传服务器。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

📝 输入SQL DDL语句

📁 拖拽.sql文件到此处

支持.sql文件,所有解析在浏览器本地完成

✨ TypeScript接口

SQL转TypeScript接口生成器能做什么?

本工具可以将SQL的CREATE TABLE DDL语句自动转换为TypeScript接口定义,省去手动编写接口的繁琐工作。支持MySQL和PostgreSQL的常见数据类型,自动处理nullable字段、默认值、主键约束等,生成的代码可直接用于TypeScript项目中。

核心功能

  • 智能类型映射:自动将SQL数据类型映射为TypeScript类型,如INT→number、VARCHAR→string、BOOLEAN→boolean、TIMESTAMP→Date等
  • Nullable处理:自动识别NOT NULL约束,支持可选属性(?:)和联合类型(|null)两种风格
  • 多表支持:一次粘贴多个CREATE TABLE语句,批量生成所有表的接口定义
  • 自定义选项:可配置接口命名前缀、export关键字、字段注释、日期类型等
  • 文件导入:支持拖拽.sql文件直接导入解析

使用教程

1. 在输入框中粘贴CREATE TABLE语句,或点击"加载示例"按钮填充示例SQL。2. 根据项目需求调整选项:是否添加export关键字、nullable字段的处理方式、接口命名前缀等。3. 点击"生成接口"按钮,或输入时实时预览TypeScript接口代码。4. 点击"复制代码"将结果复制到剪贴板,或点击"下载.ts文件"直接保存。支持Ctrl+Enter快捷键快速生成。

应用场景

场景1:全栈开发者

设计好数据库表结构后,快速生成TypeScript接口定义,保持前后端类型一致性,避免手动编写时的遗漏和拼写错误。

场景2:ORM迁移

从现有数据库导出DDL后,批量生成TypeScript接口,为TypeORM、Prisma等ORM框架提供类型基础。

场景3:API开发

根据数据库schema生成接口,直接用于Express/NestJS等框架的请求/响应类型定义,提高代码可维护性。

扩展知识

SQL到TypeScript的类型映射并非一一对应。SQL的DECIMAL/NUMERIC在TS中通常映射为number,但精确计算场景可能需要bigint或decimal.js库。TIMESTAMP类型可映射为Date或string(ISO格式),取决于项目是否使用日期对象。JSON类型映射为any虽然方便但丢失类型安全,建议根据实际数据结构手动细化。MySQL的UNSIGNED修饰符在TS中没有直接对应,通常忽略。

常见问题 (FAQ)

支持哪些SQL数据类型的映射?

支持INT/BIGINT→number, VARCHAR/TEXT→string, BOOLEAN→boolean, DATE/TIMESTAMP→Date|string, JSON→any, DECIMAL→number等常见类型映射,并支持自定义映射规则。

如何处理NULLABLE字段?

工具自动识别NOT NULL约束,默认nullable字段使用可选属性(?:)语法。勾选"nullable用|null"选项则改为联合类型语法。

支持多个CREATE TABLE语句吗?

支持。粘贴多个CREATE TABLE语句,工具会为每个表生成独立的TypeScript接口,并按表名命名接口。

生成的接口可以直接在项目中使用吗?

可以。生成的TypeScript接口符合标准语法,可直接复制到.ts文件中使用。建议根据项目需求调整类型映射(如Date改为string)。

支持MySQL和PostgreSQL的语法差异吗?

工具兼容MySQL和PostgreSQL的常见DDL语法,包括AUTO_INCREMENT、SERIAL、UNSIGNED等特有修饰符,并自动忽略不影响的语法差异。

SQL语句会发送到服务器吗?

不会。所有SQL解析和TypeScript生成都在浏览器本地完成,不发送任何数据到服务器,可放心处理包含敏感表结构的SQL。

常见问题

SQL转TypeScript接口生成器 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com