You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已知可通过Python等语言实现Excel数据入库,能否用MySQL查询语句完成?

用MySQL语句直接导入Excel数据到数据库

当然可以用MySQL原生语句实现这类操作,不过因为Excel是二进制格式,MySQL无法直接读取,需要先把Excel转成**CSV(逗号分隔值)**格式,再用LOAD DATA INFILE语句完成导入,具体步骤如下:

1. 预处理Excel文件

把你的Excel表格另存为CSV格式:

  • 打开Excel文件,选择「文件」→「另存为」,保存类型选「CSV(逗号分隔)(*.csv)」
  • 建议选择UTF-8编码,避免中文乱码问题

2. 编写LOAD DATA INFILE导入语句

假设你的目标MySQL表是user_info,字段为user_id, username, phone,CSV文件路径为/opt/data/user_list.csv,且CSV第一行是表头,示例语句如下:

LOAD DATA INFILE '/opt/data/user_list.csv'
INTO TABLE user_info
FIELDS TERMINATED BY ','       -- 指定字段用逗号分隔
ENCLOSED BY '"'                -- 处理包含逗号的字段(这类字段会被双引号包裹)
LINES TERMINATED BY '\n'       -- 指定行用换行符分隔
IGNORE 1 ROWS;                 -- 跳过CSV的表头行

关键参数说明

  • FIELDS TERMINATED BY:设置字段之间的分隔符,CSV默认是逗号,如果是制表符分隔的TSV,改成'\t'即可
  • ENCLOSED BY:当字段内容包含分隔符时,Excel会自动用双引号包裹该字段,这个参数让MySQL正确识别这类字段
  • IGNORE 1 ROWS:如果CSV第一行是表头(和表字段名对应),就用这个参数跳过,避免把表头当成数据插入

3. 权限与注意事项

  • 确保MySQL服务器有权限读取CSV文件:可以把文件放到MySQL配置中secure_file_priv指定的目录,或者修改文件权限让MySQL进程能访问
  • 保证CSV的列顺序和目标表的字段顺序完全一致,否则会出现数据错位
  • 如果有特殊字符或中文,要确保CSV文件编码和数据库表的编码一致(推荐统一用UTF-8)

备选:用命令行工具mysqlimport

如果你习惯用命令行,也可以用mysqlimport工具,它本质是LOAD DATA INFILE的封装,示例命令:

mysqlimport --local --fields-terminated-by=, --lines-terminated-by=\n --ignore-lines=1 -u your_username -p your_database /opt/data/user_list.csv

--local参数表示从本地读取CSV文件,无需上传到MySQL服务器目录

内容的提问来源于stack exchange,提问作者Mukul Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:52:29