Ruby和mysql2-迭代结果集中的行子集

时间:2018-01-24 17:36:51

标签: mysql ruby

我正在编写一个使用Mysql2 gem访问MySQL数据库的Ruby脚本。

从查询中获取一组结果后,我想检查结果集的行的子集(例如,行5到8),而不是整个集。

我知道我可以用while循环执行此操作,如下所示:

db = Mysql2::Client.new(:host => "myserver", :username => "user", :password => "pass", :database => "books")

rs = db.query "select * from bookslist"

i = 5
while i <= 8
    puts rs.entries[i]
    i += 1
end

db.close

但是我知道这可能不是在Ruby中编写它的最好方法。我怎样才能使这更多的&#34;惯用&#34; Ruby代码?

(我知道我的另一个选择是修改查询以仅返回我想要的数据。我仍然想知道如何在Ruby中执行此操作)

1 个答案:

答案 0 :(得分:1)

Ruby在for循环中提供了范围运算符,可能你可以使用以下代码

for i in 5..8
  puts rs.entries[i]
end