# How to execute an SQL statement in rails?

**URL:** <https://www.ruby-forum.com/t/how-to-execute-an-sql-statement-in-rails/52133>\
**Category:** Rails\
**Created:** [January 11, 2006, 8:00am UTC](https://www.ruby-forum.com/t/how-to-execute-an-sql-statement-in-rails/52133 "2006-01-11T08:00:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![m4lloc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/87869e/32.png) [@m4lloc](https://www.ruby-forum.com/u/m4lloc)\
**Post date:** [January 11, 2006, 8:00am UTC](https://www.ruby-forum.com/t/how-to-execute-an-sql-statement-in-rails/52133/1 "2006-01-11T08:00:28Z")

</div>

Hello,

This is probably a silly question but looking at  
“[api.rubyonrails.org](http://api.rubyonrails.org)”, I can’t seem to figure out which method I  
should be using … I want to execute an sql statement, like “truncate  
table BLAH” from within one of my rails app … What’s the “right” way  
to do this?

Thanks,

/B

–  
Bruno M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Currently in: Sydney, Australia

---

<div class="post-metadata">

**Author:** ![m4lloc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/87869e/32.png) [@m4lloc](https://www.ruby-forum.com/u/m4lloc)\
**Post date:** [January 11, 2006, 8:24am UTC](https://www.ruby-forum.com/t/how-to-execute-an-sql-statement-in-rails/52133/2 "2006-01-11T08:24:41Z")

</div>

Hi Bruno,

On 11.1.2006, at 8.59, Bruno M. wrote:

> Hello,
> 
> This is probably a silly question but looking at  
> “[api.rubyonrails.org](http://api.rubyonrails.org)”, I can’t seem to figure out which method I  
> should be using … I want to execute an sql statement, like “truncate  
> table BLAH” from within one of my rails app … What’s the “right” way  
> to do this?

See [Peak Obsession](http://api.rubyonrails.com/classes/ActiveRecord/)  
ConnectionAdapters/DatabaseStatements.html

You’ll want to use the raw db connection, like:

SomeModel.connection.execute(“your statement”)

or, if you’re still wanting something in return,

SomeModel.connection.select\_all(“your select statement”)

//jarkko

---

<div class="post-metadata">

**Author:** ![m4lloc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/87869e/32.png) [@m4lloc](https://www.ruby-forum.com/u/m4lloc)\
**Post date:** [January 11, 2006, 8:27am UTC](https://www.ruby-forum.com/t/how-to-execute-an-sql-statement-in-rails/52133/3 "2006-01-11T08:27:43Z")

</div>

Thanks Jarkko,

I gave that a try and it works fine! Just in time. You always have  
helpful answers mate.

BTW how are you doing? It’s been a while since we met in Copenhagen  
for that OpenACS/.LRN gathering …

Cheers

/B

On 1/11/06, Jarkko L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > to do this?  
> > SomeModel.connection.select\_all(“your select statement”)  
> > –  
> > Bruno M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> > Currently in: Sydney, Australia
