今天闲来无事,就想起来继续学习学习ruby。看看ruby的sql操作。ms在ruby当中利用mysql的比较的多。好吧,我们就开始来用mysql吧。
想想java当中操纵数据库首先得需要一个数据库驱动,当然ruby也不例外,自然也需要一个数据库驱动。ruby当中安装数据库驱动我感觉相比较java稍微复杂一点。
- 首先,你需要在你的mysql数据库的bin目录下将文件libmySQL.dll拷贝到ruby安装目录下的bin文件下。
- 其次,你需要到http://rubyforge.org/projects/mysql-win当中去下载一个驱动包mysql-2.7.3-mswin32.gem
- 接着,我们在命令行下,切换到驱动包的安装目录。运行 gem install mysql-2.7.3-mswin32.gem。OK驱动安装完毕
- 最后,我们需要在ruby安装目录的\lib\ruby\gems\1.8\gems\mysql-2.7.3-x86-mswin32\ext下将mysql.so文件拷贝到ruby安装目录下的\lib\ruby\site_ruby\1.8\i386-msvcrt文件当中。
好了,万事具备,只欠东风了。我们要开始写代码了。
require 'DBcon'
begin
dbh = Mysql.real_connect("localhost", "root", "sa","makedish", 3306) #连接数据库本机:用户名:root 密码:sa 数据库:makedish 端口:3306
dbh.query("drop table if exists test_foolfish") #ruby执行语句
dbh.query("create table test_foolfish(id int,name varchar(20))")
dbh.query("insert into test_foolfish values(1,'你好')")
dbh.query("insert into test_foolfish values(2,hello)")
printf "%d rows were inserted\n",dbh.affected_rows #affected_rows返回受影响的行数
res=dbh.query("SELECT name FROM test_foolfish")
puts "===============\n"
res.each_hash(with_table = true) do |row|
printf "%d,%s\n",row["test_rb.id"],row["test_rb.name"]
end
puts "===============\n"
puts "Server version:"+dbh.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
dbh.close if dbh
end
研究以上代码,首先我们需要和数据库建立连接:
dbh = Mysql.real_connect("localhost", "root", "sa","makedish", 3306)
这里调用Mysql模块的real_connect方法。参数就不用多说了。建立连接后我们就需要对数据库进行相应的操作。
ruby当中对数据库存在两种操作:一种是不用返回结果集的(例如insert,update,delete等等) 一种是需要返回结果集的(如select show等)。对于不返回结果集的操作,我们只需要使用dbh.query方法,传入需要执行的sql语句执行即可
对于另一种需要返回结果集的则相对麻烦一些。执行完上面类似的语句之后,我们需要对结果集进行处理。我们可以将结果集一数组或者hash形式展现。这里我们使用hash方式展现。
res=dbh.query("SELECT name FROM test_foolfish")
puts "===============\n"
res.each_hash(with_table = true) do |row|
printf "%d,%s\n",row["test_rb.id"],row["test_rb.name"]
end
each_hash方法当中添加with_table = true参数可以保证在执行多表查询的时候,多张表具有相同字段的尴尬。这样我们hash的key值就可以用“表名.列名”的形式出现。
怎么样,很简单吧。试一试吧。今天也只看了一点点。等研究多了,再发布点新东西
分享到:
相关推荐
Ruby-mysql2是一个被广泛使用的Ruby库,它提供了一个高效且简洁的方式来与MySQL数据库进行交互。这个库的设计目标是提供比其他同类库更高的性能和更简单的API,使其成为Ruby开发者在处理MySQL数据库时的首选工具。 ...
Ruby on Rails 安装及 MySQL 数据库配置指南 本文详细介绍了 Ruby on Rails 的安装步骤,以及 MySQL 数据库的配置方法,并提供了一些官方阅读资源。 一、Ruby on Rails 安装 Ruby on Rails 的安装可以分为以下几...
这个资源汇总涵盖了Ruby连接各种数据库的方法,无论是使用特定的数据库驱动还是通用的DBI库,都能帮助开发者轻松地处理数据库操作。对于初学者来说,理解这些概念和示例代码是学习Ruby数据库编程的关键步骤。在实际...
MySQL数据库是一种广泛使用的开源关系型数据库管理系统,以其高效、可靠和易于使用的特点,在Web开发和其他领域中占有重要地位。在给定的描述中,我们主要关注的是与MySQL相关的第三方工具,这些工具能够增强MySQL的...
### Ubuntu 11.04下Ruby on Rails与MySQL数据库集成指南 #### 一、安装与配置MySQL数据库 在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行...
Ruby 版数据库连接池, 可以参考。 数据库是postgresql
Ruby MySQL驱动程序是用于在Ruby编程语言中与MySQL数据库进行交互的重要工具。它允许开发者编写Ruby代码来执行SQL查询、管理数据库对象以及处理数据库连接。`ruby-mysql-0.2.6.tar.gz`是一个压缩包,包含了版本为...
在Ruby中,你可以使用`DBI`(Database Independent Interface)库来处理数据库操作,它提供了一个统一的接口来与多种数据库交互,包括Drizzle。以下是一个基本的示例,展示如何使用`DBI`和`drizzle-ruby`驱动建立...
在Ruby on Rails框架中,数据库配置是至关重要的部分,它允许开发者与各种数据库系统进行交互,如MySQL、Microsoft SQL Server等。以下将详细介绍如何在Windows环境下安装Ruby on Rails以及配置数据库。 首先,我们...
它可以帮助开发者在MySQL数据库上执行常见的数据库操作,如创建、更新和删除表,以及处理索引和外键等复杂结构。 在实际应用中,Ruby-Shift可能包含以下特性: 1. **命令行接口(CLI)**:提供一系列命令,使...
它有一个强大的ORM框架ActiveRecord,这是Ruby on Rails框架的一部分,使得数据库操作非常直观。Ruby同样支持多种数据库,如MySQL、PostgreSQL等。在文件操作上,Ruby的File、Dir类提供了类似PHP的功能,但语法更为...
NetBeans对于数据库操作同样提供了良好的支持,可以方便地连接到MySQL数据库,并执行SQL语句进行数据管理。 在文档中,我们可以看到有提及NetBeans IDE 6.7和NetBeans IDE 6.8版本,这表明在不同版本的NetBeans IDE...
### MySQL数据库系统详解 #### 一、MySQL简介 MySQL是一个非常流行的关系型数据库管理系统(RDBMS),由瑞典公司MySQL AB开发。它以其轻量级、高性能和低成本的特点,在互联网领域尤其是在中小型企业网站中得到了...
通过使用DataObjects,开发者可以专注于业务逻辑,而不必过于关心数据库操作的细节。这对于大型项目和需要跨数据库系统迁移的场景尤其有价值。此外,由于DataObjects遵循统一的接口,第三方库和框架也可以更容易地...
在开发Web应用时,Rails框架和MySQL数据库的集成是一个常见的选择。然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接...
DBI,全称“Database Independent Interface”,是Ruby中一个用于数据库操作的重要库。它提供了一个统一的接口,允许开发者通过简单的API与多种数据库系统进行交互,如MySQL、PostgreSQL、SQLite等,无需关心底层...
总的来说,Rails DB是Ruby on Rails开发流程中的一个重要辅助工具,它提供了数据库操作的便利性和效率,对于开发者而言,无论是在日常开发还是在调试阶段,都是一个不可多得的利器。通过其强大的功能和简洁的界面,...
简单的 S3 备份一个简单的 Ruby 脚本,用于将 MySQL 数据库表、MongoDB 数据库、完整目录和单个文件组备份到 Amazon S3(简单存储服务)。 使用步骤: 设置 Amazon S3 账户: : 安装 aws/s3 Ruby gem: : 将 ...