首页 > 代码库 > ruby直接底层连接数据库

ruby直接底层连接数据库

class MysqlTest  #Code here  require "mysql"  def testMysql    dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘)    res=dbc.query(‘select * from virtual_machines‘)    puts "Test Mysql...."    while row=res.fetch_row do      puts "#{row[0]}"    end  end  def createTable    dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘)    res = dbc.query("SELECT id,hostname,internet_tx,internet_rx,traffic_tx,traffic_rx FROM virtual_machines")    puts "===Select Data=http://www.mamicode.com/==/n"    while row = res.fetch_row do      printf("%s, %s, %s, %s, %s, %s\n",row[0],row[1],row[2],row[3],row[4],row[5])    end    puts "==================/n"    puts "Server version: " + dbc.get_server_info    rescue Mysql::Error => e      puts "Error code: #{e.errno}"      puts "Error message: #{e.error}"      puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")    ensure      puts "Close Connection......."      dbc.close if dbc  end  def insertinto    dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘)    res = dbc.query("SELECT id,hostname,internet_tx,internet_rx,traffic_tx,traffic_rx FROM virtual_machines")    while row = res.fetch_row do      id = row[0]      a = rand(1000)      b = rand(1000)      c = rand(1000)      d = rand(1000)      puts a,b,c,d      printf("%s, %s, %s, %s, %s, %s\n",row[0],row[1],row[2],row[3],row[4],row[5])      dbc.query("update virtual_machines set internet_tx=internet_tx+#{a} where id = #{id} ")      dbc.query("update virtual_machines set internet_rx=internet_rx+#{b} where id = #{id} ")      dbc.query("update virtual_machines set traffic_tx=traffic_tx+#{c} where id = #{id} ")      dbc.query("update virtual_machines set traffic_rx=traffic_rx+#{d} where id = #{id} ")    end    rescue Mysql::Error => e      puts "Error code: #{e.errno}"      puts "Error message: #{e.error}"      puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")    ensure      puts "Close Connection......."      dbc.close if dbc  end  while true do    (MysqlTest.new).insertinto    (MysqlTest.new).createTable    sleep(5)  endend

  

ruby直接底层连接数据库