Skip to content

Latest commit

 

History

History
99 lines (72 loc) · 2.16 KB

File metadata and controls

99 lines (72 loc) · 2.16 KB

SQL 导出功能快速演示

🎯 快速开始

1. 基本 SQL 导出

# 使用默认 MySQL 方言
excel-cli convert -i data.xlsx -o output.sql -f sql --sql-table users

2. 指定 SQL 方言

# PostgreSQL
excel-cli convert -i data.xlsx -o output.sql -f sql --sql-dialect postgresql --sql-table users

# SQLite
excel-cli convert -i data.xlsx -o output.sql -f sql --sql-dialect sqlite --sql-table users

# SQL Server
excel-cli convert -i data.xlsx -o output.sql -f sql --sql-dialect sqlserver --sql-table users

# Oracle
excel-cli convert -i data.xlsx -o output.sql -f sql --sql-dialect oracle --sql-table users

3. 使用列名映射

# 将 Excel 列名映射到数据库列名
excel-cli convert -i data.xlsx -o output.sql -f sql \
  --sql-table users \
  --sql-dialect mysql \
  --column-mapping "user_id,user_name,user_age,user_email"

📋 示例数据

Excel 数据

姓名 年龄 城市
张三 30 北京
李四 25 上海

命令

excel-cli convert -i users.xlsx -o users.sql -f sql \
  --sql-dialect mysql \
  --sql-table users \
  --column-mapping "name,age,city"

输出 (users.sql)

-- Generated by excel-cli
-- Dialect: MySQL
-- Table: users
-- Rows: 2

INSERT INTO `users` (`name`, `age`, `city`) VALUES
('张三', 30, '北京'),
('李四', 25, '上海');

✅ 功能特点

  • ✅ 支持 5 种 SQL 方言(MySQL、PostgreSQL、SQLite、SQL Server、Oracle)
  • ✅ 自动转义特殊字符
  • ✅ 智能处理数据类型(字符串、数字、布尔、空值)
  • ✅ 列名映射验证
  • ✅ 批量 INSERT 优化(MySQL、PostgreSQL、SQLite)
  • ✅ 自动添加注释(方言、表名、行数)

🚀 更多示例

查看完整文档:

⚡ 一键运行

# 查看所有支持的格式和方言
cargo run -- formats

# 查看帮助
cargo run -- convert --help

# 测试 SQL 导出
cargo run -- convert -i your_data.xlsx -o output.sql -f sql \
  --sql-table your_table \
  --sql-dialect mysql