如何快速将多个CSV文件导入phpMyAdmin并实现流程半自动化?
如何快速将多个CSV文件导入phpMyAdmin并实现流程半自动化?
完全懂你的痛苦——每隔几天手动截断15个表再逐个导入CSV,重复机械操作真的太耗精力了!下面给你几个实用的半自动化方案,挑适合你的来:
方案一:用MySQL自带的LOAD DATA INFILE写SQL脚本(最直接的一键执行)
这个纯SQL的方式上手最快,适合熟悉phpMyAdmin操作的你:
- 把每个表的「截断+导入」逻辑写成SQL语句,存成一个脚本文件,每次更新直接执行就行:
-- 处理第一个表:先清空数据 TRUNCATE TABLE table_name_1; -- 导入CSV,跳过第一行表头,根据你的CSV格式调整参数 LOAD DATA LOCAL INFILE '/本地路径/你的文件1.csv' INTO TABLE table_name_1 FIELDS TERMINATED BY ',' -- CSV字段分隔符,一般是逗号 ENCLOSED BY '"' -- 字段包裹符,比如双引号 LINES TERMINATED BY '\n' -- 换行符,Windows可能是'\r\n' IGNORE 1 ROWS; -- 跳过第一行表头 -- 复制上面的结构,替换成剩下14个表的名字和CSV路径 TRUNCATE TABLE table_name_2; LOAD DATA LOCAL INFILE '/本地路径/你的文件2.csv' INTO TABLE table_name_2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
- 使用方法:打开phpMyAdmin的「SQL」标签,上传这个
.sql脚本或者直接粘贴内容,点击执行就能一键完成所有表的更新。 - 注意:如果CSV存在谷歌硬盘,需要先下载到本地指定路径,后续可以再扩展自动下载的逻辑。
方案二:用PHP脚本封装(连谷歌硬盘下载都能自动化)
如果你想把「下载谷歌硬盘CSV+截断+导入」全流程自动化,可以写个简单的PHP脚本:
- 核心逻辑就是遍历所有表,依次执行截断和导入,谷歌硬盘的文件可以先下载到临时目录再导入。这里给你一个简化版示例:
<?php // 数据库连接信息,换成你自己的 $host = 'localhost'; $user = '你的数据库用户名'; $pass = '你的数据库密码'; $dbname = '你的数据库名'; // 连接数据库 $conn = new mysqli($host, $user, $pass, $dbname); if ($conn->connect_error) { die("数据库连接失败: " . $conn->connect_error); } // 定义每个表对应的CSV路径(本地路径或谷歌硬盘下载后的临时路径) $tableConfig = [ 'table_name_1' => '/本地路径/file1.csv', 'table_name_2' => '/本地路径/file2.csv', // 剩下13个表的配置... ]; foreach ($tableConfig as $table => $csvPath) { // 先截断表 $truncateSql = "TRUNCATE TABLE $table"; if (!$conn->query($truncateSql)) { echo "表$table截断失败: " . $conn->error . "<br>"; continue; } // 导入CSV数据 $importSql = "LOAD DATA LOCAL INFILE '$csvPath' INTO TABLE $table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 ROWS"; if ($conn->query($importSql)) { echo "表$table导入成功<br>"; } else { echo "表$table导入失败: " . $conn->error . "<br>"; } } $conn->close(); ?>
- 使用方法:把脚本放到你的服务器或者本地PHP环境中,每次需要更新时访问这个脚本,就能自动完成所有操作。如果要自动下载谷歌硬盘的私有文件,需要额外配置谷歌Drive API的授权,这个可以后续慢慢折腾。
方案三:phpMyAdmin批量操作插件(适合不想写代码的情况)
如果你完全不想碰代码,可以试试phpMyAdmin的批量工具:
- 第一步:选中所有15个表,在「操作」标签里选择「截断表」,一键清空所有表数据
- 第二步:安装phpMyAdmin的批量导入插件(比如
phpMyAdmin Bulk Import),用插件一次性选择多个CSV文件,对应到各自的表完成导入 - 注意:这个插件需要你有服务器的插件安装权限,自己搭建的环境可以试试,比手动逐个导入省不少时间。
几个关键注意事项
- 确保CSV的字段顺序、数据类型和数据库表完全匹配,不然会出现导入失败或数据错乱
- 使用
LOAD DATA INFILE时,要确保MySQL的local_infile参数是开启的(在phpMyAdmin的「变量」页面搜索local_infile,设置为ON) - 谷歌硬盘的CSV如果是私有文件,先转成公开可下载的链接,或者用API授权,避免下载失败
备注:内容来源于stack exchange,提问作者IrishChristof
相关产品推荐
相关产品推荐

