CSV 转 SQL DDL 草稿
从 CSV 表头起草带引号的 CREATE TABLE,审查样本类型建议,不执行 SQL。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
导入 CSV 前准备表定义。默认全部保留为文本,接收数据库需要其他类型时再明确确认有限类型映射。
如何使用
- 粘贴或打开带表头 CSV,选择方言并填写表名。
- 核对默认文本列与样本建议;需要时填写完整明确的列类型 JSON 映射,否则保留 TEXT。
- 下载 SQL 与 column-review.json,在接收数据库确认类型和约束后再另行导入数据。
支持范围与限制
一份 UTF-8 CSV 文件或粘贴输入,最多 1 MiB、100 列、10,000 条数据记录以及含表头在内 200,000 个 CSV 单元格;已选文件优先。表头须非空且唯一,表/列标识符最多 128 码点,拒绝 ASCII 控制字符。
默认列为允许空值的 TEXT。可选 JSON 须为每个表头明确提供 {type,nullable?},类型限 text、integer、decimal、boolean、date。非空样本类型建议单独展示,不会自动应用;前导零标识保持文本建议。
选定整数/小数时,SQLite 使用 INTEGER/NUMERIC,PostgreSQL 使用 BIGINT/NUMERIC,MySQL 使用 BIGINT/DECIMAL(65,30)。范围、精度、日期与布尔语义须在目标库确认。表/列名按方言加引号,CSV 值不会进入 SQL。
输出仅为 DDL 草稿,不执行 SQL、不连接数据库、不推断索引/主键或导入语句。明确选择的类型不会逐值验证,导入前应使用字段校验并在目标库确认。列审查 JSON 记录选定类型、确认状态与样本建议。
操作示例
示例输入
id,name 01,Ada 02,张三
示例参数
{"params": {"tableName": "contacts", "dialect": "sqlite"}, "secondary": ""}示例输出
-- DDL draft: confirm column types and constraints in the receiving database. CREATE TABLE "contacts" ( "id" TEXT, "name" TEXT );
出现问题时
修复 CSV 引号、唯一表头及标识符控制字符。提供类型映射时须精确覆盖全部列,使用支持类型,nullable 只能为布尔值。方言相关精度须人工确认。
常见问题
会在我的数据库建表吗?
不会。只本地生成 SQL 文本;审核草稿后由你决定在哪里执行。
为什么看似数字的 ID 仍是 TEXT?
标识可能有前导零或超出数据库范围。默认文本避免把样本推断当成导入合同。
确认类型是否等于数据已校验?
不是。映射只选择 DDL 类型;样本建议证据有限,数据须通过字段校验及目标库确认。