Ruby, mysql y radrails











Bueno vamos a ver si jugamos un poquito con ruby y mysql...

Hice un ejemplo muy sencillo para que vean como pueden trabajar
ruby en conjunto con mysql. Ruby es un potente lenguaje de programacion
y si a eso le sumamos el modulo mysql podemos hacer cosas muy interesantes.

Yo personalmente estoy programando sobre RadRails, una IDE para ruby
y ruby on rails, que llega a simplificarnos el trabajo en muchas ocaciones,
pueden descargar esta IDE que esta disponible para MacOS, GNU/Linux y
windows desde la pagina oficial de RadRails:
http://www.radrails.org

En el caso de linux solo tenemos que bajarlo, descomprimirlo y ejecutar
el binario y ya tenemos la IDE perfectamente funcionando, los requerimientos
para RadRails son:

  • Java 1.4.2 or later
  • Ruby 1.8.4 or later
  • Rails 1.1.6 or later
a eso vamos a agregarle el modulo mysql de ruby para poder
poder trabajar con mysql:

En gentoo podemos hacer:

emerge dev-lang/ruby

emerge dev-ruby/mysql-ruby


Y aca vemos un ejemplo, repito, muy simple
para empezar a jugar con ruby y mysql:


---------------

# Llamamos al modulo mysql
require "mysql"

begin

# Conectando a mysql
conexion = Mysql.real_connect("localhost", "usuario", "password", "prueba")

rescue MysqlError => e
print "Codigo de error: ", e.errno, "\n"
print "Mensaje de error: ", e.error, "\n"
ensure

# Mostramos el nombre del servidor
puts "El server mysql es:" + conexion.get_server_info

# En caso de que exista, borramos la tabla "artistas"
puts "Eliminando la tabla artistas si existe\n"
conexion.query("DROP TABLE IF EXISTS artistas")


# Creamos la tabla "artistas"
puts "Creando la tabla artita\n"
conexion.query("
CREATE TABLE artistas
(
nombre CHAR (40),
genero CHAR (40)
)
")

# insertamos datos dentro de la tabla artistas
puts "Insertando los datos dentro de la tabla artistas"
conexion.query("
INSERT INTO artistas (nombre, genero)
VALUES
('Clapton', 'Blues'),
('Vai', 'Rock'),
('Satriani', 'Rock'),
('Santana', 'Pop')
")
printf "%d columnas fueron insertedas\n\n", conexion.affected_rows


# Mostramos los items de la tabla "artistas"
puts "Mostrando los items dentro de la tabla artistas\n"
consulta = conexion.query("SELECT * FROM artistas")

# Listamos la salida de la consulta
while row = consulta.fetch_row do
printf "%s, %s\n", row[0], row[1]
end

# Cerramos la conexion con mysql
puts "\nCerrando la conexion con mysql\n"
conexion.close
end

--------------

Y la salida de este codigo seria:

El server mysql es:5.0.26-log
Eliminando la tabla artistas si existe
Creando la tabla artita
Insertando los datos dentro de la tabla artistas
4 columnas fueron insertedas

Mostrando los items dentro de la tabla artistas
Clapton, Blues
Vai, Rock
Satriani, Rock
Santana, Pop

Cerrando la conexion con mysql

-------

Si quieren mas informacion sobre ruby y mysql
pueden visitar los siguientes links:

Pagina oficial de ruby: http://www.ruby-lang.org
Pagina oficial del modulo mysql para ruby: http://dev.mysql.com/downloads/ruby.html
Tutorial sobre el mysl y ruby: http://www.kitebird.com/articles/ruby-mysql.html
Ruby - QT: http://developer.kde.org/language-bindings/ruby/index.html
(Esto vamos a ver en otro post)

PD: Y para mis amigos Geeks, hacker, security people!!!
NO acepto criticas sobre este codigo !!!...

El autor del blog se reserva los derechos de
los comentarios sobre
algo tan rustico y con
fines educativos... XDDD



Saludos
Fernando "Jago_ff" Ferrari
Alguna sugerencia?, enviame un mail