DBNAME="mydb" > > mysql -u$USERNAME -6ren">
gpt4 book ai didi

mysql - 如何在shell中使用mysql字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:35 24 4
gpt4 key购买 nike

我有表,我需要从 shell 脚本访问它们并执行以下操作。

> USERNAME="usr" PASSWORD="pwd"
> DBNAME="mydb"
>
> mysql -u$USERNAME -p$PASSWORD $DBNAME<<EOF
> selectfield1,field2,field3,field4 from table;
> EOF

给我记录。但是我需要用普通的 linux 命令处理每个字段-

例如;

> mysql -u$USERNAME -p$PASSWORD $DBNAME<<EOF
> select field1,field2,field3,field4 from table;
> EOF
> scp field1@field2: field3@field4:/tmp && rm -rf field2

类似的东西 - 基本的东西是使用数据库记录在本地机器上调用 linux 命令。

最佳答案

一种方法是使用这个结构(试试看,语法有点奇怪):

cat << EOF | while read a b c ; do echo "a:$a b:$b c:$c" ; done
one two three
EOF

[编辑:显然用您实际的 sql 内容替换 catone two three]

您需要确保 mysql 不打印结果以外的任何内容(无 Logo /版权声明/版本信息标题等...)-我相信有命令行开关那个。

如果返回的数据中有空格,或者如果数据由空格以外的其他内容分隔,您也会遇到问题。对于那些,您通常可以将 $IFS 设置为您的列中永远不会发生的事情(可能是 |),并使您的查询输出两个字段之间的字符。

关于mysql - 如何在shell中使用mysql字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com