Ruby 教程 之 Ruby 连接 Mysql - MySql2 2

简介: Ruby 连接 Mysql - MySql2

Ruby 教程 之 Ruby 连接 Mysql - MySql2 2

Ruby 连接 Mysql - MySql2

Ruby 连接 Mysql 更高效的驱动 mysql2,目前也推荐使用这种方式连接 MySql。

安装 mysql2 驱动:

gem install mysql2
你需要使用 –with-mysql-config 配置 mysql_config 的路径,如: –with-mysql-config=/some/random/path/bin/mysql_config。

连接
连接数据库语法如下:

client = Mysql2::Client.new(:host => "localhost", :username => "root")
更多参数可以查看 http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html。

查询
results = client.query("SELECT FROM users WHERE group='githubbers'")
特殊字符转义
escaped = client.escape("gi'thu\"bbe\0r's")
results = client.query("SELECT
FROM users WHERE group='#{escaped}'")
计算结果集返回的数量:

results.count
迭代结果集:
results.each do |row|

row 是哈希

键值是数据库字段

值都是对应 MySQL中数据

puts row["id"] # row["id"].class == Fixnum
if row["dne"] # 不存在则是 nil
puts row["dne"]
end
end

实例

!/usr/bin/ruby -w

require 'mysql2'

client = Mysql2::Client.new(
:host => '127.0.0.1', # 主机
:username => 'root', # 用户名
:password => '123456', # 密码
:database => 'test', # 数据库
:encoding => 'utf8' # 编码
)
results = client.query("SELECT VERSION()")
results.each do |row|
puts row
end
以上实例运行输出结果为:

{"VERSION()"=>"5.6.21"}

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
8月前
|
人工智能 IDE 开发工具
JetBrains RubyMine 2025.1 发布 - 最智能的 Ruby 与 Rails IDE
JetBrains RubyMine 2025.1 (macOS, Linux, Windows) - 最智能的 Ruby 与 Rails IDE
247 30
JetBrains RubyMine 2025.1 发布 - 最智能的 Ruby 与 Rails IDE
|
存储 弹性计算 监控
利用阿里云云产品进行项目成本节约的实践
本文分享了利用阿里云降低成本的实践经验,主要通过选择合适的计费模式(如按量付费、包年包月和抢占式实例)、优化资源配置(弹性伸缩、资源监控与调整、适配存储方案)、利用优惠和成本管理工具(预留实例券、成本预警、优惠活动)以及案例分析,实现云计算成本的有效控制。通过这些策略,企业在保证灵活性和扩展性的同时,能更好地管理云服务成本,提高项目经济效益。
966 4
|
资源调度 JavaScript iOS开发
yarn的安装与配置(Windows/macOS)
yarn的安装与配置(Windows/macOS)
3459 0
|
编解码 NoSQL 安全
lettuce连接池很香,撸撸它的源代码(上)
lettuce连接池很香,撸撸它的源代码
1753 0
lettuce连接池很香,撸撸它的源代码(上)
|
编解码 Linux
LINUX下载编译libspeex/libspeexdsp
LINUX下载编译libspeex/libspeexdsp
471 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1103 152