当前位置:  开发笔记 > 后端 > 正文

你如何从Ruby直接与MySQL谈论SQL?

如何解决《你如何从Ruby直接与MySQL谈论SQL?》经验,为你挑选了2个好方法。

我想在Ruby中编写一个脚本来清理同一个MySQL模式的几个副本中的一些混乱的密钥.我想做一些像SHOW CREATE TABLE这样的东西,然后查看返回的内容并删除密钥(如果它们存在).

我知道在Rails环境中你可以做到这一点......

ActiveRecord::Base.connection.execute( some sql )

但是你得到的是一个"结果"对象.对于此任务,我需要一个字符串,以便我可以分析它并采取相应的行动.



1> 小智..:

这应该可以帮到你:

>> result = ActiveRecord::Base.connection.execute("SHOW TABLES")
=> #

>> result.class.instance_methods - Object.instance_methods
=> ["all_hashes", "field_seek", "row_tell", "fetch_field_direct", "free", "field_tell", "fetch_lengths", "num_fields", "data_seek", "fetch_row", "num_rows", "fetch_field", "each", "each_hash", "fetch_hash", "row_seek", "fetch_fields"]

查看MySql :: Result实例上的#all_hashes



2> Tim Knight..:

我会使用mysql-ruby gem,你会做这样的事情:

require 'mysql'

m = MySQL.new("localhost", "username", "password", "database")
r = m.query("SELECT * FROM people ORDER BY name")
r.each_hash do |f|
  print "#{f['name']} - #{f['email']}"
end

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有