# excel_to_sql **Repository Path**: carrywl/excel_to_sql ## Basic Information - **Project Name**: excel_to_sql - **Description**: Excel 转 SQL 工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: SQL, Excel ## README Based on the code map provided, I can see this is a Flask-based web application that converts Excel files to MySQL SQL statements. Let me create a comprehensive README. # Excel 转 SQL 工具 一个简洁的在线工具,用于将 Excel 文件转换为 MySQL 数据库的 DDL 和 DML 语句。 ## 功能特性 - 📤 **在线转换**: 通过网页界面上传 Excel 文件即可完成转换 - 🔍 **智能类型推断**: 自动分析 Excel 列数据并推断合适的 MySQL 数据类型 - 🏗️ **DDL 生成**: 自动生成 CREATE TABLE 语句,包含列名清洗和类型映射 - 📝 **DML 批量生成**: 生成批量 INSERT 语句,支持自定义批次大小 - 🎨 **友好界面**: 简洁现代的网页界面,支持结果预览和复制下载 ## 技术栈 - Python 3 - Flask Web 框架 - Pandas 数据处理 - openpyxl Excel 解析 ## 使用方法 ### 1. 环境准备 ```bash pip install -r requirements.txt ``` ### 2. 启动服务 ```bash python app.py ``` 服务启动后,访问 `http://127.0.0.1:5000` 打开网页界面。 ### 3. 网页操作 1. 打开浏览器访问本地服务 2. 点击选择文件或拖拽 Excel 文件到上传区域 3. 可选择指定工作表名称(可选) 4. 点击"开始转换"按钮 5. 查看生成的 DDL 和 DML 语句 6. 可复制或下载 SQL 脚本 ### 4. 命令行使用 ```python from main import ExcelToMySQL # 初始化 converter = ExcelToMySQL("data.xlsx") # 分析并生成所有 SQL ddl, dml_list = converter.generate_all( table_name="my_table", primary_key="id", # 可选,设置主键 batch_size=1000 # INSERT 批次大小 ) print("DDL:") print(ddl) print("\nDML Batches:") for dml in dml_list: print(dml) ``` ## Excel 格式要求 - 支持 `.xlsx` 和 `.xls` 格式 - 第一行作为列名(表头) - 数据从第二行开始 ## MySQL 类型映射 | Excel 数据类型 | MySQL 字段类型 | |--------------|--------------| | 整数 | INT | | 大整数 | BIGINT | | 小数 | DECIMAL | | 字符串(短) | VARCHAR(n) | | 字符串(长) | TEXT | | 日期时间 | DATETIME | | 布尔值 | TINYINT(1) | ## 许可证 MIT License