首页 > 数据库技术 > 详细

linux脚本实现excel文件内容读取到数据库

时间:2020-05-23 09:57:41      阅读:123      评论:0      收藏:0      [点我收藏+]

linux读取excel转化为SQL插入语句

假设我现在有一个表,需要插入excel的数据

创建表的代码如下

CREATE TABLE student(
	sid VARCHAR(10),
	sname VARCHAR(20),
	sgender CHAR(1),
	sage INT
)

现在要从excel导入数据

技术分享图片

首先我们可以把数据转化成csv或者txt,这里我用csv做例子

技术分享图片

查看这个文件

技术分享图片

可以看到csv是用逗号分隔的

以下是shell脚本

# !/bin/bash
# read file an create INSERT statements for MYSQL

out=‘stu.sql‘
IFS=‘,‘
while read sid sname sgender sage
do 
	cat >> $out << EOF
	INSERT INTO student (sid,sname,sgender,sage)VALUES
	(‘$sid‘,‘$sname‘,‘$sgender‘,‘$sage‘);
EOF
done 

其中IFS叫做内部字段分隔符(internal field separator),默认是空格换行和tab键

是追加重定向

技术分享图片

需要加可执行的权限

chmod u+x stu.sh 

执行代码

./stu.sh < stu.CSV 
cat stu.sql

技术分享图片

可以发现csv文件已经写入到了stu.sql文件之中。

stu.sql文件内容如下

	INSERT INTO student (sid,sname,sgender,sage)VALUES
	(‘1001‘,‘yangmi‘,‘f‘,‘20
‘);
	INSERT INTO student (sid,sname,sgender,sage)VALUES
	(‘1002‘,‘pengyueyan‘,‘m‘,‘40
‘);
	INSERT INTO student (sid,sname,sgender,sage)VALUES
	(‘1003‘,‘huge‘,‘m‘,‘36
‘);
	INSERT INTO student (sid,sname,sgender,sage)VALUES
	(‘1004‘,‘luhan‘,‘m‘,‘37
‘);

然后运行sql文件就插入到了表中。

以上所有文件点这里下载

linux脚本实现excel文件内容读取到数据库

原文:https://www.cnblogs.com/realwuxiong/p/12941075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!