我是新手,所以请耐心等待,我对bash的理解是,我可以运行
mysql --host=hostname --user=username --password=password -e "SELECT * FROM database.table;"
但是我从其他手册中几乎不知道如何将它们放入实际的bash变量中有人提到使用
read a b c
do while
echo "..${a}..${b}..${c}.."
,但我不明白如何将它们读入变量?
同样在读取变量的时候我会做一些类似
的事情#>WGET $a
然后再次登录mysql,并执行如下操作
LOAD DATA INFILE data.csv INTO thattable ON DUPLICATE UPDATE
我也想这样的东西插入到表WHERE(我刚刚加载了信息)日期=今天但是因为会有多个日期我怎么做,是的,这都需要可bash-able php太慢,我想避免使用C,除非这是唯一的方法,
谢谢我知道这是很多!
aw
选项1
使用"select…"G",将结果存储在tmp文件中,并将列存储在grep文件中。
由例子:mytmp=$(mktemp /tmp/mytemp.XXXXXX)
mysql --host=hostname --user=username --password=password -e "SELECT * FROM database.table G;" > $mytmp
column_foo=$( fgrep COLUMN_FOO $mytmp | cut -d ':' -f2-)
column_bar=$( fgrep COLUMN_BAR $mytmp | cut -d ':' -f2-)
echo $column_foo
echo $column_bar
选项2
如果列数很高,将它们全部存储在散列数组中:
mytmp=$(mktemp /tmp/mytemp.XXXXXX)
mysql --host=hostname --user=username --password=password -e "SELECT * FROM database.table G;" | xargs -I{} echo {} > $mytmp
declare -A a
while IFS=':' read k s; do a[$k]=$s; done < $mytmp
echo ${a[COLUMN_FOO]}
echo ${a[COLUMN_BAR]}