`
酷的飞上天空
  • 浏览: 518087 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

ruby学习之连接数据库

阅读更多
 

折腾了半天终于能用mysql的ruby驱动正常连接数据库,并进行CRUP的基本操作了。

过程如下

首先是安装mysql的ruby驱动,方法:gem install mysql 或者gem install ruby-mysql

拷贝mysql安装目录中的libmySQL.dll到ruby的lib目录,否则require 'mysql' 不会成功

如果安装的是ruby-mysql驱动则连接的host不能为localhost(linux下可能没问题),改为127.0.0.1。

 

连接例子如下:

require 'mysql'
begin
  my = Mysql.connect("localhost","root","123456","test")

  my.query("drop table if exists test")
  my.query("create table test(id int, name varchar(22))")

  #插入10条数据
  puts "创建表test成功,开始插入10条数据"
  1.upto(10) do |i|
    my.query "insert into test values(#{i},'name#{i}')"
  end
  #取得数据
  puts "输出表test的全部内容"
  res = my.query("select * from test")
  #使用res.each_hash方法则会报 NULL point的错误。用each则没有问题,不知道为什么?
  res.each do |ha|
     p ha
  end
  
ensure
  my.close if my
  puts "OK"
end

 

 输出如下

创建表test成功,开始插入10条数据
输出表test的全部内容
["1", "name1"]
["2", "name2"]
["3", "name3"]
["4", "name4"]
["5", "name5"]
["6", "name6"]
["7", "name7"]
["8", "name8"]
["9", "name9"]
["10", "name10"]
OK

 

使用DBI连接数据库

安装dbd-mysql

gem ins dbd-mysql

代码:

 

require 'dbi'
DBI.connect("DBI:Mysql:test",'root','123456') do |dbh|

  res = dbh.select_one("select * from test")
  p res

end

 

 

输出

[1,0]

输出不正确,数据库中的数据时[1,name1]。不知道是什么原因?

分享到:
评论

相关推荐

    在Ruby程序中连接数据库的详细教程

    主要介绍了在Ruby程序中连接数据库的详细教程,包括介绍数据库支持Ruby的接口等,是学习Ruby on Rails的基础,需要的朋友可以参考下

    比较详细的ruby symbol 学习资料

    解释的不错,应该明确了不少 ruby symbol详解 起因 最近在学习ruby on rails,的确是一个优秀的数据库开发框架。但在过程中,发现在视图文件夹中的rhtml文件里有大量的类似于以下的语句: <td><%= link_...

    rails 连接mysql的问题解决

    找不到指定的模块。... 您可能感兴趣的文章:Ruby rails 页面跳转(render和redirect_to)Rails link_to 详解rails常用数据库查询操作、方法浅析学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake,

    程序员为什么还要刷题-ruby-intro:[Ruby]

    学习目标 比较/对比 Ruby 和 Javascript 作为编程语言 通过 REPL 和文件运行 Ruby 代码 确定 Ruby 和 Javascript 在以下方面的具体差异... 句法 变量 基本数据类型 数据收集 条件句 方法(函数) 数据不变性 检查 ...

    baukis-c:实用 Ruby on Rails 4 从该领域的专业人士那里学到的全面的 Web 编程

    Baukis 是一个面向企业的客户管理系统(学习 Ruby on Rails 的示例)。 系统要求 CentOS 6.5 或 Ubuntu 14.04 Ruby 2.1.2 MySQL 5.6 或 PostgreSQL 9.3 筹备 如果您使用 PostgreSQL,请将 Gemfile 中的 'mysql2...

    simple-todo-app:一个简单的Web应用程序,在Rails上使用ruby

    学习基本的Ruby语法 安装所需的软件 在Windows上设置滑轨 使用postgreSQL作为数据库 创建git存储库 推送初始提交 使用支架创建任务模型,控制器和迁移 被认为使用的宝石 设计 活动记录 去做 服务器 建立模型 如何...

    emerald-jabs:全栈Rails学习管理系统

    PostgreSQL :用于存储用户,会话,文档,图像,帖子和评论SQL数据库Rails :用于创建服务器,连接数据库和提供动态HTML内容的全栈框架活动存储:用于上传文件的云存储笔管编辑器:提供的浏览器内富文本编辑器大虾:...

    learn_app:用于查找和共享在线学习资源的 Rails 应用程序

    构建注意事项介绍这个应用程序是使用 Ruby on Rails 框架构建的,该框架连接到 Postgresql 数据库并托管在 Heroku 上。 前端使用 Sass 和纯 CSS 构建,按照 Jonathan Snook 的 SMACSS 架构进行组织。细节Ruby版本:...

    tb-telegrambot-ruby:适用于Teachbase的电报机器人

    必须有Teachbase用户配置文件- 安装设置宝石: bundle install配置数据库连接: 转到config/database.yml.sample进行示例配置。 默认使用PosrgreSQL。 数据库安装和迁移: rake db:createrake db:migrate用法机器人...

    程序员专用刷题-rails-useful-resources:学习RubyOnRails的有用链接集合

    什么是数据库中的索引: 采取与限制 1: 大小与数量: 自我参考: 采摘文档: 收集与采摘: 采摘与选择性能: sql树结构1: sql树结构2: mongo db 树结构: 扩展活动记录: 迁移 重命名列: 掉落表: 删除列: 列...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    主动记录介绍

    在环境文件中创建数据库连接 创建数据库/迁移文件夹 创建一个迁移,该迁移将在我们的数据库中创建一个表 在您的数据库中记录dog类,并将其持久化。 (使用.new , .save , .create和.update ) 此仓库有一个解决...

    fullstack_challenges_531

    不,当然不是,因为您需要将程序构造为不同的对象,每个对象都扮演着精确的角色(UI,数据库连接,控制器逻辑)。 了解如何使用对象构建程序并构建第一个MVC应用程序。 这是该程序最重要的模块之一。

    dockersqlserver:分步配置用于您的应用程序的docker容器。 还显示了如何使用VSCode和Azure Data Studio配置连接

    使用Docker来处理SQL Server数据库,而无需在计算机上进行安装。 关于Docker的一些解释 用其他语言阅读:, 想象一下,您正在工作或正在学习许多不同的技术,我的情况,有罪!!! 或我们中许多使用NodeJS , React ...

    project2-api:WDI项目2后端

    该数据库为客户端测验状的猜谜游戏提供数据,该游戏旨在帮助人们学习德语。 它包含以下数据: 用户信息指定性别的德语名词库以及指向图片的链接积累用户特定数据的测验信息:测验,结果; 它通过两边的一对多关系...

    Oodls:通过将食物过剩者与慈善机构、组织和公益事业联系起来,减少食物浪费

    我们接受任何技能水平的人的贡献,并且作为项目,欢迎任何想学习的人。 要定期做出贡献,请与团队的其他成员沟通并跟上发展的步伐,请前往并注册一个免费帐户并获得我们频道的邀请。 贡献基础: Oodls 是在运行的...

    sinatra_realtime_chat:使用 sinatra 流的实时聊天

    SSE(服务器发送事件):这就是我开始使用 sinatra 的原因,我尝试用 ruby​​ 构建更多实时交互应用程序,并发现它已经内置在这个框架中。 关于 SSE 的基础知识可以在这篇文章中找到: 集成测试:我一直在寻找一个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    Devour:开源间隔重复应用

    Devour是Anki的克隆版本,建立在Rails和Backbone之上。 用户可以: 建立帐户 创建会话(登录) 创建套牌 创建抽认卡 有效地记忆抽认卡 每天进行自我测试 查看他们的进度数据 标签甲板 与其他用户共享套牌 ...

Global site tag (gtag.js) - Google Analytics