Ruby 教程 之 Ruby 数据库访问 - DBI 教程 4

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Ruby 数据库访问 - DBI 教程

Ruby 教程 之 Ruby 数据库访问 - DBI 教程 4

Ruby 数据库访问 - DBI 教程

本章节将向您讲解如何使用 Ruby 访问数据库。Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。

DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许您简单地实现数据库切换。它定义了一系列方法、变量和规范,提供了一个独立于数据库的一致的数据库接口。

数据库连接

假设我们使用的是 MySQL 数据库,在连接数据库之前,请确保:

您已经创建了一个数据库 TESTDB。
您已经在 TESTDB 中创建了表 EMPLOYEE。
该表带有字段 FIRST_NAME、LAST_NAME、AGE、SEX 和 INCOME。
设置用户 ID "testuser" 和密码 "test123" 来访问 TESTDB
已经在您的机器上正确地安装了 Ruby 模块 DBI。
您已经看过 MySQL 教程,理解了 MySQL 基础操作。
下面是连接 MySQL 数据库 "TESTDB" 的实例:

实例

!/usr/bin/ruby -w

require "dbi"

begin

 # 连接到 MySQL 服务器
 dbh = DBI.connect("DBI:Mysql:TESTDB:localhost", 
                   "testuser", "test123")
 # 获取服务器版本字符串,并显示
 row = dbh.select_one("SELECT VERSION()")
 puts "Server version: " + row[0]

rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure

 # 断开与服务器的连接
 dbh.disconnect if dbh

end
当运行这段脚本时,将会在 Linux 机器上产生以下结果。

Server version: 5.0.45
如果建立连接时带有数据源,则返回数据库句柄(Database Handle),并保存到 dbh 中以便后续使用,否则 dbh 将被设置为 nil 值,e.err 和 e::errstr 分别返回错误代码和错误字符串。

最后,在退出这段程序之前,请确保关闭数据库连接,释放资源。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
11月前
|
Java 开发工具
鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
本指南介绍如何搭建鸿蒙Flutter开发环境,包括下载Flutter SDK、配置环境变量(如FLUTTER_STORAGE_BASE_URL、PUB_HOSTED_URL、DEVECO_SDK_HOME等)和检查工具版本。还提到避免项目路径过深、与SDK同盘存放等注意事项,以及解决VsCode无法识别设备的方法。
370 0
|
11月前
|
jenkins 测试技术 持续交付
提升软件测试效率的实用技巧与工具
【10月更文挑战第12天】 本文将深入探讨如何通过优化测试流程、引入自动化工具和持续集成等策略,来显著提高软件测试的效率。我们将分享一些实用的技巧和工具,帮助测试人员更高效地发现和定位问题,确保软件质量。
270 2
|
10月前
|
API 数据处理 开发工具
云计算在金融行业的应用与挑战
云计算在金融行业的应用与挑战
636 0
|
存储 Android开发
详细解读Android获取已安装应用信息(图标,名称,版本号,包)
详细解读Android获取已安装应用信息(图标,名称,版本号,包)
397 0
|
达摩院 Linux Docker
MindOpt APL 最新版本功能介绍,并且开放下载使用了!
MindOpt APL (MAPL) 是由阿里巴巴达摩院研发的国产建模语言,专长于电力SCUC等问题,提供向量化建模支持,可与Mindopt Studio平台集成。最新版2.4增加了向量化建模、Linux环境下通过pip安装支持以及改进了打印显示和错误提示。MAPL的向量化建模提高了效率,适合大规模问题。用户可通过云平台Docker打包或pip安装使用,支持多种求解器,包括MindOpt和开源求解器。
|
机器学习/深度学习 数据采集 安全
构建基于机器学习的网络安全威胁检测系统
【2月更文挑战第29天】 随着网络技术的飞速发展,网络安全问题日益凸显,传统的安全防御手段已难以应对日新月异的网络攻击手段。本文旨在探讨利用机器学习技术构建一个高效的网络安全威胁检测系统。首先分析了当前网络安全面临的主要挑战,接着介绍了机器学习在网络安全中的应用前景和潜力。随后详细阐述了该系统的设计原理、关键技术以及实现流程。最后通过实验验证了所提系统的有效性,并对未来的研究方向进行了展望。
275 1
|
安全 开发工具 git
MT6735 8.1 Secure Boot 签名
MT6735 8.1 Secure Boot 签名
446 0
|
存储 弹性计算 固态存储
阿里云服务器最新活动价格参考,云服务器按年和按带宽优惠价格表(最新更新)
阿里云服务器最新活动价格更新,轻量应用服务器的活动价格为108元1年起,经济型云服务器最低活动价格为182.04元1年起,通用算力型u1云服务器最低活动价格为840.96元1年起,计算型c7实例云服务器活动价格为1625.40元起,通用型g7实例云服务器活动价格为2028.25元起,内存型r7实例云服务器活动价格为2637.74元起,计算型c8y实例云服务器活动价格为674.49元起,通用型g8y实例云服务器活动价格为1033.44元起,内存型r8y实例云服务器活动价格为1329.11元起。本文为大家整理汇总了阿里云服务器活动价格更新之后的最新活动价格情况,以表格形式展示给大家,以供参考。
阿里云服务器最新活动价格参考,云服务器按年和按带宽优惠价格表(最新更新)
|
机器学习/深度学习 算法 数据挖掘
回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)
回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)
406 0