我一直在網上尋找一個沒有運氣的答案。我在哪裏輸入我的查詢?在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. WordNet,查詢擴展,一步一步
- 2. Rails 3註冊步驟一步一步
- 3. 異步WCF查詢最後一步
- 4. 如何進一步優化此查詢?
- 5. 如何在Android中動畫一步發光更亮一步步
- 6. 如何進一步子查詢從SQL查詢中獲取所有Product_ID?
- 7. jquery - 進一步查詢「this」
- 8. 如何在WordPress中退步一步
- 9. 如何在sql server中一步步調試存儲過程
- 10. Rails的調試 - 如何在每一步
- 11. SQL查詢 - 同步表
- 12. 2步驟SQL查詢
- 13. 一步一步查詢MySQL數據庫 - 最佳方法?
- 14. 如何運行@RunWith(Cucumber.class)一步一步
- 15. 如何一步一步導入Greendroid庫?
- 16. WebKit JS綁定:一步一步如何
- 17. 如何一步一步使用MaterialDrawer?
- 18. 如何一步一步運行evolution?
- 19. 一步一步在Windows 7
- 20. 想要一個樣品一步Rails的步驟例如ruport
- 21. 如何在iOS中一步一步創建滑出菜單
- 22. 我如何在AIX中編譯Ocaml(一步一步)?
- 23. 如何在C語言中一步一步執行?
- 24. SQL同步列在一行
- 25. 如何「移動」查詢產生的一列進一步
- 26. 如何進一步指定一個SQLite查詢
- 27. 如何在sql查詢中執行此步驟?
- 28. Lucene.Net一步一步
- 29. 使異步查詢同步
- 30. AngularJS中的同步SQL查詢
因此,這意味着,如果我需要輸入活動記錄語句它會是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