Shell脚本批量导入CSV文件到MySQL数据库
流程图
pie
title 数据导入流程
"准备CSV文件" : 30
"创建数据库表" : 20
"导入数据" : 50
整体流程
步骤 | 描述 |
---|---|
准备CSV文件 | 将要导入的CSV文件存放在指定目录下 |
创建数据库表 | 根据CSV文件的字段名创建数据库表结构 |
导入数据 | 使用shell脚本将CSV文件导入MySQL数据库 |
1. 准备CSV文件
首先,将要导入的CSV文件放在指定的目录下,可以使用如下命令将文件拷贝到指定位置:
cp /path/to/your/csv/files/* /path/to/destination/directory/
2. 创建数据库表
在MySQL数据库中创建与CSV文件字段对应的表结构,可以使用如下SQL语句创建表:
CREATE TABLE your_table_name (
column1_type column1_name,
column2_type column2_name,
...
);
3. 导入数据
编写shell脚本来实现批量导入CSV文件到MySQL数据库,以下是一个示例脚本:
#!/bin/bash
# 遍历指定目录下的CSV文件
for file in /path/to/destination/directory/*.csv; do
# 从文件名获取表名
table_name=$(basename "$file" | cut -d. -f1)
# 导入数据到MySQL数据库
mysql -u username -p password -e "LOAD DATA INFILE '$file' INTO TABLE $table_name FIELDS TERMINATED BY ',' IGNORE 1 LINES;"
done
以上shell脚本中的代码解释如下:
for file in /path/to/destination/directory/*.csv; do
:遍历指定目录下的所有CSV文件table_name=$(basename "$file" | cut -d. -f1)
:从文件名中提取表名mysql -u username -p password -e "LOAD DATA INFILE '$file' INTO TABLE $table_name FIELDS TERMINATED BY ',' IGNORE 1 LINES;"
:使用LOAD DATA INFILE
命令将CSV文件导入到MySQL数据库中
通过以上步骤,你就可以实现将CSV文件批量导入MySQL数据库了。希望对你有所帮助!