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数据库了。希望对你有所帮助!