【问题标题】:how to query SQL in rails step by step?如何逐步查询rails中的SQL?
【发布时间】:2015-09-04 05:56:39
【问题描述】:

我一直在网上到处寻找答案,但没有运气。我在哪里输入查询?在轨道 c?我知道我必须使用 ActiveRecord::base.connection 但我不知道它必须在哪里运行。对不起,如果这是一个愚蠢的问题。

【问题讨论】:

    标签: sql ruby-on-rails activerecord


    【解决方案1】:

    Rails 使用称为 ActiveRecord 的 ORM 与 SQL 数据库交互:

    http://guides.rubyonrails.org/active_record_basics.html

    语法很简单,您可以通过使用rails console(缩写为rails c)打开rails 控制台来输入查询。

    例如,如果我想查找 Question 表中的所有记录,我打开控制台并简单地输入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

    【讨论】:

    • 所以这意味着如果我需要输入一个活动记录语句,它将是 ActiveRecord::base.execute (statement) ?如果这是一个复杂的查询怎么办?有没有我写下所有内容然后将其加载到 Rails 控制台的文件?
    • 啊,我明白了。起初我不知道你想执行原始 SQL。在这种情况下,您只需使用 ActiveRecord::Base.connection.execute(sql_as_string)。我会更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2018-06-02
    • 2020-04-20
    相关资源
    最近更新 更多