我在 PostgreSQL 中有一个名为客户的数据库,客户有一个名为 CustomerInfo 的表。 CustomerInfo 包含 3 列 ID、名称和地址。我想编写一个 bash 脚本来从 CustomerInfo 表中获取信息,但是一旦获得查询结果,我不确定如何访问各个行。这是我写的脚本:

#!/bin/bash

results=`psql -d customers -c "select * from CustomerInfo where name = 'Dave'"`

echo $results['name']

查询正确运行并返回正确的结果,但 echo 命令只会打印结果中的所有内容。我知道这不是正确的方法,有没有人知道将查询结果作为数组获取的方法,或者我是否只需要编写自己的函数来解析结果?

谢谢!

最佳答案

您可以将结果存储到一个数组中并使用 while 循环遍历它。

psql -d customers -c "select * from CustomerInfo where name = 'Dave'"
| while read -a Record ; do
    # ${Record[0]} is your ID field
    # ${Record[1]} is your Name field
    # ${Record[2]} is your address field
done

关于sql - Bash 脚本和 PostgreSQL : How to access column values returned from SELECT statement,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20328191/

10-09 18:08