我一直在网上寻找一个没有运气的答案。我在哪里输入我的查询?在rails c?我知道我必须使用ActiveRecord :: base.connection,但我无法确定它必须运行的位置。对不起,如果这是一个愚蠢的问题。如何一步一步在rails中查询SQL?
2
A
回答
6
Rails使用ActiveRecord的所谓的ORM使用SQL数据库接口:
http://guides.rubyonrails.org/active_record_basics.html
的语法是直截了当的,你可以通过rails console
(简称rails c
)打开你的铁轨控制台输入查询。
例如,如果我想找到所有的问题表中的记录,我打开我的控制台,只需键入Question.all
:
irb(main):001:0> Question.all
...它转换为以下SQL查询:
Question Load (4.2ms) SELECT 'questions'.* FROM 'questions'
如果你想在铁轨控制台执行原始的SQL命令,你可以使用ActiveRecord::Base.connection.execute(some_string)
与SQL作为一个字符串对象。
你可以写SQL字符串直接作为参数,或者事先声明为一个变量:
sql = "some raw sql"
ActiveRecord::Base.connection.execute(sql)
退房这个问题更多:Rails raw SQL example
相关问题
- 1. Rails 3注册步骤一步一步
- 2. 异步WCF查询最后一步
- 3. jquery - 进一步查询“this”
- 4. 如何在Android中动画一步发光更亮一步步
- 5. 如何进一步子查询从SQL查询中获取所有Product_ID?
- 6. SQL查询 - 同步表
- 7. 2步骤SQL查询
- 8. 如何运行@RunWith(Cucumber.class)一步一步
- 9. 如何一步一步使用MaterialDrawer?
- 10. 一步一步在Windows 7
- 11. 如何“移动”查询产生的一列进一步
- 12. 如何进一步指定一个SQLite查询
- 13. SQL同步列在一行
- 14. 使异步查询同步
- 15. 以一步一步的方式如何以一步一步的方式在柔性构建器
- 16. 下一步,previus行的MySQL查询
- 17. 在SQL Server全文搜索2008年一步一步
- 18. 同步查询?
- 19. 如何查看JavaScript在打开网站时一步一步做的事情?
- 20. coq一步一步简化?
- 21. Java Web Start。一步一步
- 22. 一步一步的火法
- 23. jQuery一步一步动画
- 24. Iex pry一步一步来?
- 25. C#一步一步执行
- 26. Unity3D一步一步移动
- 27. 反正有没有进一步“压缩”这个SQL查询?
- 28. SQL subquerying问题。不能进一步细化查询的结果
- 29. Pentaho DI - 如何使用“IN”查询的下一步中的前一步的“全部”结果
- 30. 如何单击下一步按钮第一步检查验证和第二步不检查验证?
因此,这意味着,如果我需要输入活动记录语句它会是ActiveRecord :: base.execute(语句)?如果这是一个复杂的查询呢?有没有我写下所有的文件,然后在轨道控制台上加载它? – davefogo 2015-04-01 20:18:04
啊,我明白了。起初,我没有得到你想要执行原始SQL。在这种情况下,您只需使用ActiveRecord :: Base.connection.execute(sql_as_string)。我会更新我的答案。 – sixty4bit 2015-04-01 20:21:33
谢谢sixty4bit!我现在很清楚。 – davefogo 2015-04-01 20:27:44