如何逐步查询rails中的SQL?
how to query SQL in rails step by step?
我一直在网上到处寻找答案,但没有成功。我在哪里输入我的查询?在 rails 中?我知道我必须使用 ActiveRecord::base.connection 但我不知道它必须在哪里 运行。对不起,如果这是一个愚蠢的问题。
Rails 使用名为 ActiveRecord 的 ORM 与 SQL 数据库交互:
http://guides.rubyonrails.org/active_record_basics.html
语法简单明了,您可以通过使用 rails console
(缩写为 rails c
)打开 rails 控制台来输入查询。
例如,如果我想查找问题 table 中的所有记录,我打开控制台并简单地键入 Question.all
:
irb(main):001:0> Question.all
...转换为以下 SQL 查询:
Question Load (4.2ms) SELECT 'questions'.* FROM 'questions'
如果您想在 rails 控制台中执行原始 SQL 命令,您可以使用 ActiveRecord::Base.connection.execute(some_string)
和 SQL 作为字符串对象。
您可以直接将 SQL 字符串写为参数,也可以预先将其声明为变量:
sql = "some raw sql"
ActiveRecord::Base.connection.execute(sql)
查看此问题了解更多信息:Rails raw SQL example
我一直在网上到处寻找答案,但没有成功。我在哪里输入我的查询?在 rails 中?我知道我必须使用 ActiveRecord::base.connection 但我不知道它必须在哪里 运行。对不起,如果这是一个愚蠢的问题。
Rails 使用名为 ActiveRecord 的 ORM 与 SQL 数据库交互:
http://guides.rubyonrails.org/active_record_basics.html
语法简单明了,您可以通过使用 rails console
(缩写为 rails c
)打开 rails 控制台来输入查询。
例如,如果我想查找问题 table 中的所有记录,我打开控制台并简单地键入 Question.all
:
irb(main):001:0> Question.all
...转换为以下 SQL 查询:
Question Load (4.2ms) SELECT 'questions'.* FROM 'questions'
如果您想在 rails 控制台中执行原始 SQL 命令,您可以使用 ActiveRecord::Base.connection.execute(some_string)
和 SQL 作为字符串对象。
您可以直接将 SQL 字符串写为参数,也可以预先将其声明为变量:
sql = "some raw sql"
ActiveRecord::Base.connection.execute(sql)
查看此问题了解更多信息:Rails raw SQL example