首页 > 数据库 >Ruby实践—连接Mysql

Ruby实践—连接Mysql

时间:2023-07-24 14:01:29浏览次数:47  
标签:puts dbc Mysql mysql Ruby 连接 row


安装环境:

OS:Windows XP

Ruby: Ruby1.9.1

Mysql: Mysql5.1.46 (username/password: root/root  port:3306)

Ruby-Mysql Driver: mysql-2.8.1-x86-mswin32.gem

(注:用2.7.3版本的驱动在测试时会出现 require"mysql",找不到指定模块

IDE:RubyMine2.0.1

 

安装Ruby,RubyMine,Mysql的事项在这里就不多说了,提一下安装驱动的步骤

1)在Mysql安装目录的 bin 目录下,找到 ibmySQL.dll ,将该文件复制到 Ruby 安装目录的 bin 目录中

2)http://rubyforge.org/frs/?group_id=1598,下载 mysql-2.8.1-x86-mswin32.gem,这是 mysql_Ruby驱动程序。

       命令行,进入该文件所在目录,运行 gem install mysql-2.8.1-x86-mswin32.gem ,安装成功即可。

     

 

创建Ruby测试类

MysqlTest.rb

class MysqlTest
  #Code here
  require "mysql"
  def testMysql
    dbc=Mysql.real_connect('localhost','root','root','mysql')
    res=dbc.query('select * from user')
    puts "Test Mysql...."
    while row=res.fetch_row do
      puts "#{row[0]}"
    end
  end
  def createTable
      dbc=Mysql.real_connect('localhost','root','root','test')
      dbc.query("drop table if exists cux_users")
      dbc.query("create table cux_users(id int,name char(20))")
      dbc.query("insert into cux_users values(1,'Tom')")
      printf "Create Table........"
      printf "%d rows were inserted/n",dbc.affected_rows
      res = dbc.query("SELECT name FROM cux_users")    
      puts "===Select Data===/n"
      while row = res.fetch_row do
      printf "%s, %s/n", row[0], row[1]
      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
  (MysqlTest.new).testMysql
  (MysqlTest.new).createTable
end

 

测试结果:

C:/Ruby19/bin/ruby.exe -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) E:/Ruby/Test/com.crystal/mysql_test.rb
Test Mysql....
localhost
Create Table........1 rows were inserted
===Select Data===
Tom,
==================
Server version: 5.1.46-community
Close Connection.......

Process finished with exit code 0

 

查看数据库test

 

 

Ruby实践—连接Mysql_rubymine

标签:puts,dbc,Mysql,mysql,Ruby,连接,row
From: https://blog.51cto.com/u_16129500/6834668

相关文章

  • RUBY实践—数据库简单操作
    开发环境:Ruby:1.9.1Rails:2.3.5Rake:0.8.7Rack:1.0.1Mysql:5.0.9Ruby-mysql:mysql-2.8.1-x86-mswinIDE:RubyMine2.0.1 数据库准备:database:dbdevelopmentuser:crystalpassword:crystal 一、创建Ruby项目RorTest 二、修改database.yml这里只启用development环境数据库,修改配置文......
  • 怎么在MYSQL显示默认值
    项目方案:在MySQL中显示默认值1.简介在MySQL中,可以为表的列设置默认值,以确保在插入新记录时,如果没有提供该列的值,将使用默认值作为替代。本项目旨在提供一个方案,用于在MySQL中显示默认值。2.实现方案2.1创建表格首先,我们需要创建一个包含默认值的表格。可以使用以下代码在My......
  • 怎么关闭windwos的mysql端口
    如何关闭Windows的MySQL端口MySQL是一个常用的关系型数据库管理系统。通常情况下,MySQL使用默认的端口号3306来监听客户端连接请求。然而,在某些情况下,您可能希望关闭MySQL的端口,例如在进行一些网络安全配置或调试时。本文将介绍如何在Windows操作系统上关闭MySQL的端口。方案概述......
  • 怎么查询mysql数据库重启记录
    项目方案:查询MySQL数据库重启记录1.简介MySQL是一种常见的关系型数据库管理系统,它在运行过程中可能会出现各种问题,包括数据库重启。在开发和维护过程中,我们经常需要查询数据库重启的记录,以便进行故障排查和性能优化等工作。本项目方案将介绍如何查询MySQL数据库的重启记录,包括......
  • Do you already have another mysqld server running on port: 8008 ?
    实现"Doyoualreadyhaveanothermysqldserverrunningonport:8008?"的步骤概述在解决问题之前,我们先了解一下整个问题的流程。下面是解决问题的步骤:步骤操作1检查是否已经有一个mysqld服务运行在8008端口2如果有,关闭该服务3如果没有,继续其他操作......
  • 问题--本地仓库连接多个远程仓库
    1.问题我想同时将本地仓库传到Gitee和GitHub上2.解决方法1.首先先配置好两者的远程仓库2.直接gitpush<远程仓库名><分支名>3.效果......
  • MySQL下的DBlink
    MySQL下的DBlink简介DBlink是一个MySQL扩展插件,它允许在不同的MySQL实例之间进行远程数据库连接和数据传输。通过DBlink,我们可以在一个MySQL实例中操作另一个MySQL实例的数据,实现跨数据库的数据访问。安装和配置DBlink下载DBlink插件文件wget解压缩插件文件unzipmast......
  • mysql进阶
    1.为什么InnoDB存储引擎选择使用B+tree索引结构?相对于二叉树,层级更少,搜索效率高;对于B-tree,无论是叶子节点还是非叶子节点,都会保存数据,这样导致一页存储的键值减少,指针跟着减少,要同样保存大量数据,只能增加树的高度,导致性能降低;相对Hash索引,B+tree支持范围匹配及排序操作;......
  • c# mysql reader.Read()
    C#中使用MySQL的Reader.Read()方法详解在开发过程中,我们经常需要从数据库中读取数据并进行处理。在C#中,我们可以使用MySQL数据库来存储和管理数据。而在读取MySQL数据时,我们可以使用Reader.Read()方法来逐行读取数据库中的数据。本文将详细介绍C#中使用MySQL的Reader.Read()方法的......
  • MySQL 数据库备份与还原
    目录一、数据备份的重要性二、数据库备份的类型1.物理备份2.逻辑备份三、常见的备份方法1.物理冷备2.专用备份工具mysqldump或mysqlhotcopy3.启用二进制日志进行增量备份4.第三方工具备份四、MySQL完全备份五、数据库完全备份分类1.物理冷备份与恢复2.mysqldump备份与......