Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库
2016-04-20 13:26
776 查看
前提: 每个csv文件第一行为字段名
创建的数据库字段名同csv 文件的字段名
1. 批量导入 多个 csv 文件
for file in ./*.csv;do mv $file tablename.csv;mysqlimport --local --fields-terminated-by="," -uusename -ppassword databasename tablename.csv;rm tablename.csv;done
(改脚本在导入数据的同时会删除文件 别忘记在导入数据库前备份文件啊)
2. 导入一个 csv 文件
mysql --local-infile -uusename -ppassword databasename -e "LOAD DATA LOCAL INFILE '1.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'"
(',' 和 '\r\n' 是根据你的csv 文件决定的 第一个是 字段分割的标志,第二个是行分割的标志)
(--local-infile: 没有这个会报错【ERROR 1148 (42000) at line 1: The used command is not allowed with this MySQL version】)
创建的数据库字段名同csv 文件的字段名
1. 批量导入 多个 csv 文件
for file in ./*.csv;do mv $file tablename.csv;mysqlimport --local --fields-terminated-by="," -uusename -ppassword databasename tablename.csv;rm tablename.csv;done
(改脚本在导入数据的同时会删除文件 别忘记在导入数据库前备份文件啊)
2. 导入一个 csv 文件
mysql --local-infile -uusename -ppassword databasename -e "LOAD DATA LOCAL INFILE '1.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'"
(',' 和 '\r\n' 是根据你的csv 文件决定的 第一个是 字段分割的标志,第二个是行分割的标志)
(--local-infile: 没有这个会报错【ERROR 1148 (42000) at line 1: The used command is not allowed with this MySQL version】)
相关文章推荐
- 玩转Bash脚本:数值计算
- shell历史命令记录功能
- ubuntu ~/.bashrc 常用修改
- Shell 操作(五)
- Shell笔记
- 项目常用的linux shell命令
- Shell笔记-04
- Shell笔记-03
- Shell笔记-02
- Shell笔记-01
- HDFS的shell操作
- Android adb shell学习心得(三)
- linux shutdown now date cd pwd mkdir rmdir shell引用
- 2016-04-20_一大波实用的 bash 别名和函数
- Mac 装 ITerm2 闪退
- bash 中的非十进制进制
- MySQL 5.7.12新增MySQL Shell命令行功能
- 解决shell脚本cd命令不能进入指定目录的问题
- 3.2Linux文本处理工具及bash重定向
- 4.2bash特权及其用法