我不太明白如何使用BASH从MySQL my_database
database中提取所有数据。理想情况下,我想逐行提取data,并逐行将其打印到mydata.csv
文本文件中[使用IFS]。
我的难点在于如何单独阅读这些行,并用内场分隔符“,”分隔每一列。
在做了一些阅读后,我变得更加困惑:非常感谢任何帮助!
我到目前为止已经实施了
#!/bin/bash
myvariable=$(echo "SELECT * FROM cs_microrage_crm.stock_trans" | mysql -uUSER -pPASSWORD)
echo $myvariable
结果为ERROR 1045 (28000):
答案 0 :(得分:0)
你可以试试这个:
#!/bin/bash
dbName=foo;
sourseSet=$(mysql -uroot -pmysql -e "use $dbName; show tables;")
tableSet=$(echo $sourceSet | sed "s/Tables_in_$dbName //g")
for tb in $tableSet
do
mysql -uroot -pmysql -e "use $dbName;\
select * into outfile '/tmp/${tb}.csv'"\
fields terminated by ','\
lines ternimated by '\n'\
from $tb"\
done