概述
通过数据库 MCP(或 DB_DSN)直连数据库建表并导出 SQL,区别于纯 DDL 设计。
触发词
数据库建表、MCP 建表、建表器、数据库MCP、直连建表、SQL建表
工作流
- 确认连接方式:数据库 MCP(本地)或 DB_DSN 环境变量。
- 根据表结构说明生成 CREATE TABLE(含索引建议)。
- 若走 DSN,用 SQLAlchemy 直连执行建表。
- 导出 SQL 文件供复核。
产出物(生成即用·建表SQL)
import os
from sqlalchemy import create_engine, text
DSN = os.environ["DB_DSN"] # 如 mysql+pymysql://user:pass@host/db
SQL = """CREATE TABLE IF NOT EXISTS orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
amount DECIMAL(10,2) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user (user_id)
);"""
engine = create_engine(DSN)
with engine.connect() as c:
c.execute(text(SQL))
open("create_orders.sql","w",encoding="utf-8").write(SQL)
print("已建表并导出 create_orders.sql")
# 若使用数据库 MCP:在 MCP 客户端中把上面的 SQL 交由 MCP 执行即可
使用示例
设 DB_DSN → 直连建表并导出 create_orders.sql。
红线(必须遵守)
- DSN 来自环境变量,禁止硬编码账号密码。
- 表名/字段用 orders 等通用示例,不写业务真表。
大白话说明
你给数据库连接,我按你说的结构直接建好表,并把 SQL 存下来备查。