# Read tables from SQL code

**URL:** <https://www.ruby-forum.com/t/read-tables-from-sql-code/117790>\
**Category:** Ruby\
**Created:** [October 20, 2007, 9:01am UTC](https://www.ruby-forum.com/t/read-tables-from-sql-code/117790 "2007-10-20T09:01:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mihai](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@mihai](https://www.ruby-forum.com/u/mihai)\
**Post date:** [October 20, 2007, 9:01am UTC](https://www.ruby-forum.com/t/read-tables-from-sql-code/117790/1 "2007-10-20T09:01:11Z")

</div>

hi,  
i have a SQL code like this one:

SELECT Select\_List  
FROM Table\_List  
[WITH (BUFFERING = lExpr)]  
[WHERE Conditions]  
[GROUP BY Column\_List]  
[UNION Clause]  
[HAVING Conditions]  
[ORDER BY Column\_List]  
[INTO Clause | TO Clause]  
[Additional\_Display\_Options]

can i read/save with ruby the columns involved in that SQL select?

---

<div class="post-metadata">

**Author:** ![mihai](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@mihai](https://www.ruby-forum.com/u/mihai)\
**Post date:** [October 20, 2007, 9:56am UTC](https://www.ruby-forum.com/t/read-tables-from-sql-code/117790/2 "2007-10-20T09:56:49Z")

</div>

> can i read/save with ruby the columns involved in that SQL select?

If you use Sequel you can retrieve the columns for arbitrary SQL like  
this:

require ‘sequel/mysql’ # assuming you’re using MySQL  
DB = Sequel(‘mysql://localhost/mydb’)  
DB[‘select \* from items’].columns #=\> [:id, :name, …]

But if you’re already using Sequel why not construct your queries  
using Ruby instead of SQL, e.g.:

dataset = DB.query do  
from :items  
where {:name =~ /^abc/ && :price \< 100}  
order\_by :name  
end  
p dataset.columns  
dataset.each {|r| p r}

You can find more information about Sequel here:

[Google Code Archive - Long-term storage for Google Code Project Hosting.](http://code.google.com/p/ruby-sequel)

And you can also get help on Sequel-talk:

[http://groups.google.com/group/sequel-talk](http://groups.google.com/group/sequel-talk)

best  
Sharon

---

<div class="post-metadata">

**Author:** ![mihai](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@mihai](https://www.ruby-forum.com/u/mihai)\
**Post date:** [October 20, 2007, 7:12pm UTC](https://www.ruby-forum.com/t/read-tables-from-sql-code/117790/3 "2007-10-20T19:12:33Z")

</div>

Ruby DBI will let you do exact SQL, like DBI in other languages.

ActiveRecord can do some of that select statement, but some of it no.  
ActiveRecord does have the ability to execute direct SQL statements  
though.
