【发布时间】:2012-01-27 07:07:53
【问题描述】:
我正在使用 bash 脚本从在线资源中提取数据。现在我只是让它写入一个文本文件,但如果脚本可以自动将这些数据放入 mysql 表中会更好。如何才能做到这一点?示例会很有帮助。
【问题讨论】:
我正在使用 bash 脚本从在线资源中提取数据。现在我只是让它写入一个文本文件,但如果脚本可以自动将这些数据放入 mysql 表中会更好。如何才能做到这一点?示例会很有帮助。
【问题讨论】:
假设您下载了一个.csv 文件。它有标题并且在mysql中有一个数据库test。
先下载文件。
wget http://domain.com/data.csv -O data.csv
将数据转储到mysql表tbl
cat <<FINISH | mysql -uUSERNAME -pPASSWORD test
LOAD DATA INFILE 'data.csv' INTO TABLE `tbl`
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
FINISH
这里USERNAME必须有FILE权限。
【讨论】:
你可以像这样使用 bash:
#!/bin/bash
params="dbname -uuser -ppassswd"
echo "SELECT * FROM table;" | mysql $params
# or
mysql $params <<DELIMITER
SELECT * FROM table;
DELIMITER
【讨论】: