# MySQL

**URL:** <https://www.ruby-forum.com/t/mysql/110451>\
**Category:** Ruby\
**Created:** [July 26, 2007, 1:47pm UTC](https://www.ruby-forum.com/t/mysql/110451 "2007-07-26T13:47:15Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 1:47pm UTC](https://www.ruby-forum.com/t/mysql/110451/1 "2007-07-26T13:47:15Z")

</div>

Hi,  
How to operate on MySQL? I would like to delete, create database and  
upgrade with prepared files. I know mysql library but I’m not sure  
whether it let me operate on commands such as delete database, source  
file\_path etc.

I will be appreciated for any help

MT

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 2:14pm UTC](https://www.ruby-forum.com/t/mysql/110451/2 "2007-07-26T14:14:55Z")

</div>

> library but I’m not sure whether it let me operate on  
> commands such as delete database, source file\_path etc.
> 
> I will be appreciated for any help
> 
> ## MT
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

Pretty much all database interfaces allow you to send raw commands.

Such as:

require “mysql”  
dbh = Mysql.real\_connect(“localhost”, “testuser”, “testpass”, “test”)  
dbh.query(“CREATE TABLE test(column VARCHAR(255))”)  
dbh.query(“DROP TABLE IF EXISTS test”)  
File.open(“sql\_commands\_in\_textfile”) do |file|  
while line = file.gets  
dbh.query(line)  
end  
end

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 2:10pm UTC](https://www.ruby-forum.com/t/mysql/110451/3 "2007-07-26T14:10:35Z")

</div>

> I would like to delete, create database and  
> upgrade with prepared files. I know mysql library but I’m not sure  
> whether it let me operate on commands such as delete database, source  
> file\_path etc.

If you connect with administrator privileges, you should be able  
to execute any command you could also execute from the mysql  
command line interface.

Ronald

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 2:25pm UTC](https://www.ruby-forum.com/t/mysql/110451/4 "2007-07-26T14:25:03Z")

</div>

Ronald F. wrote:

> > I would like to delete, create database and  
> > upgrade with prepared files. I know mysql library but I’m not sure  
> > whether it let me operate on commands such as delete database, source  
> > file\_path etc.
> 
> If you connect with administrator privileges, you should be able  
> to execute any command you could also execute from the mysql  
> command line interface.
> 
> Ronald

dbh.query(“source c:/create.sql”) - doesn’t work. It causes SQL syntax.

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 2:46pm UTC](https://www.ruby-forum.com/t/mysql/110451/5 "2007-07-26T14:46:58Z")

</div>

> dbh.query(“source c:/create.sql”) - doesn’t work. It causes  
> SQL syntax.

True, but for this case, you can always do

IO.readlines(“c:/create.sql”).each { |s| dbh.query(s) }

Ronald

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 3:10pm UTC](https://www.ruby-forum.com/t/mysql/110451/6 "2007-07-26T15:10:36Z")

</div>

> > 
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

NEVER develop against a live database.

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 4:24pm UTC](https://www.ruby-forum.com/t/mysql/110451/7 "2007-07-26T16:24:49Z")

</div>

On Jul 26, 2007, at 7:47 AM, Marcin T. wrote:

> Hi,  
> How to operate on MySQL? I would like to delete, create database and  
> upgrade with prepared files. I know mysql library but I’m not sure  
> whether it let me operate on commands such as delete database, source  
> file\_path etc.
> 
> I will be appreciated for any help

You can use Ruby/MySQL, MySQL/Ruby, DBI, or ActiveRecord

~ Ari  
English is like a pseudo-random number generator - there are a  
bajillion rules to it, but nobody cares.

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 29, 2007, 6:33am UTC](https://www.ruby-forum.com/t/mysql/110451/8 "2007-07-29T06:33:41Z")

</div>

On Jul 26, 2007, at 8:06 AM, Felix W. wrote:

> > > 
> > 
> > –  
> > Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> NEVER develop against a live database.  
> Safest advice, yes, but…  
> Well, you can, but that’s when safety mechanisms like not developing  
> under root or not having all priveledges are good ideas.  
> It’s their database though.

---

<div class="post-metadata">

**Author:** ![sirtyman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6a8cbe/32.png) [@sirtyman](https://www.ruby-forum.com/u/sirtyman)\
**Post date:** [July 26, 2007, 2:51pm UTC](https://www.ruby-forum.com/t/mysql/110451/9 "2007-07-26T14:51:30Z")

</div>

Ronald F. wrote:

> > dbh.query(“source c:/create.sql”) - doesn’t work. It causes  
> > SQL syntax.
> 
> True, but for this case, you can always do
> 
> IO.readlines(“c:/create.sql”).each { |s| dbh.query(s) }
> 
> Ronald

Thanks, I’ll check it. It seems to be ok. At the moment I cannot check  
it (the db is used)
