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===/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)
  end
end

  

时间: 2024-11-15 14:08:11

ruby直接底层连接数据库的相关文章

Ruby安装并连接数据库

在公司工作中不可避免的需要洗数据.校验数据.这个时候会发现会脚本真的酷毙了.看着公司的大牛用的是Ruby就试着用了下.并记录如下: 第一 安装 首先简单介绍下安装吧: 使用rvm(Ruby Version Manager一款非常好用的ruby版本管理以及安装工具)你会发现Ruby安装真的是It's so eary (1)安装rvm: 网上说的安装命令是curl -L get.rvm.io | bash -s stable 但是发现不行,正确命令是 curl -k  https://raw.git

干货分享|安全测试起航之旅

云智慧 汪晓宇 安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程.一句话总结,安全测试就是检查产品是否满足安全需求的过程. 众所周知软件测试分为四大类型,分别是:功能测试.自动化测试.安全测试和性能测试,而安全测试是在功能测试和自动化测试之后,性能测试之前执行的,以免安全测试后修改的一些问题会影响性能. 安全测试的内容通常包括跳过权限验证.修改提交的请求信息等等,复杂一些的产品还要进行SQL注入,跨站点脚本之类的

OOC,泛型,糟糕的设计。

虽然大部分都在谈ooc的编译器设计,但更多的内容在于程序设计的思想,复杂度,维护上面.我希望这篇文章能对读者有哪怕一丁点的帮助. 这篇文章遵循CC-BY-NC. = OOC,泛型,与那些糟糕的设计 原文地址:http://fasterthanlime.com/blog/2015/ooc-generics-and-flawed-designs 这篇文章同时发布在github上:https://github.com/zhaihj/ch_cn-ooc-generics-and-flawed-desig

jdbcUtils连接数据库

JdbcUtils用来获取Connection * 底层使用了c3p0连接池    c3p0-0.9.2-pre1.jar,mchange-commons-0.2.jar * 还需要mysql驱动    mysql-connector-java-5.1.13-bin.jar public class JdbcUtilsTest { /** * 底层使用了c3p0连接池,说明我们还要提供c3p0配置文件  c3p0-config.xml里面的用户名,密码,端口号,数据库名字要按照自己的进行修改 *

猎豹MFC--CFile类家族介绍ADO连接数据库 打开数据库 关闭数据库 连接字符串

  ODBC最古老,但到今天还在使用.偶尔使用. DAO  和RDO  为旧接口. OLE DB新,复杂  微软 出了ADO. VC++   +  ADO是主流: MySQL  和Oracle都有专用接口. ADO底层是OLE DB实现.ADO是COM组件. ADO 专用文件夹: 要用msADO15.dll 打开stdafx.h头文件:在其内导入该库: 在初始化实例时  初始化ADO: 下面都是COM编程要求做的: windows内部大量使用COM. 异常处理: 然后整个项目就可以使用ADO了.

如何学习ruby?Ruby学习技巧分享

怎么学习ruby?在学习ruby之前需要掌握哪些知识呢?这是很多想要学习ruby朋友的心声,我不具体给出答案,下面就给大家讲讲一位前辈学习ruby(http://www.maiziedu.com/course/ruby/)的学习历程吧.在大学时学的电子专业,在学校里学过C/汇编,在学习ruby前期,和大多数的Rubyist一样,我也是从学习Rails开始去了解Ruby的,在学习Rails之前,我正在使用JavaEE的SSH框架(struts+spring+hibernate), 当时也算是Jav

探究PHP底层

探究PHP底层 1.PHP是什么? PHP 指的是我们从外面看到的一套完整的系统.这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图).从功能上来分:我们可以分为三部分: 1. 解释器部分(Zend 以引擎),负责对输入代码的分析.翻译和执行: 2. 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等): 3. 接口部分(SAPI),负责同 WEB 服务器的会话等功能. Zend包括了第一部分的全部和第二部分的局部,PHP内核 包括了第二部分的局部和第三部分的

JDBC底层原理

Class.forName(“com.mysql.jdbc.Driver”)是 强制JVM将com.mysql.jdbc.Driver这个类加载入内存,并将其注册到DriverManager类,然后根据DriverManager.getConnection(url,user,pwd)中的url找到相应的驱动类,最后调用该该驱动类的connect(url, info)来获得connection对象. JDBC的驱动管理机制的 具体底层代码分析如下: 1.     分析JDBC的驱动程序管理部分的实

Ruby之类变量和类方法

类变量被类的所有对象所共享,它与类方法相关联.对一个给定的类来说,类变量只存在一份拷贝.类变量由两个@符号开头,例如@@count.与全局变量和实例变量不同,类变量在使用之前必须被初始化.通常,初始化就算在类定义中的简单赋值.例如,我们的点唱机可能希望记录每首歌被播放的次数.这个书目肯呢改是Song对象的一个实例变量.当一首歌被播放时,实例中的值增加.但是,加入我们还想要交接下共播放了多少首歌,通过搜索所有Song对象并累加它们的播放次数,或者冒天下之大不韪使用全局变量来完成统计:或者,让我们使