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

简介: Ruby 数据库访问 - DBI 教程

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

Ruby 数据库访问 - DBI 教程

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

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

DBI 可与下列进行交互:

ADO (ActiveX Data Objects)
DB2
Frontbase
mSQL
MySQL
ODBC
Oracle
OCI8 (Oracle)
PostgreSQL
Proxy/Server
SQLite
SQLRelay
DBI 应用架构
DBI 独立于任何在后台中可用的数据库。无论您使用的是 Oracle、MySQL、Informix,您都可以使用 DBI。

Ruby DBI 架构

Ruby DBI 一般的架构使用两个层:

数据库接口(DBI)层。该层是独立于数据库,并提供了一系列公共访问方法,方法的使用不分数据库服务器类型。
数据库驱动(DBD)层。该层是依赖于数据库,不同的驱动提供了对不同的数据库引擎的访问。MySQL、PostgreSQL、InterBase、Oracle 等分别使用不同的驱动。每个驱动都负责解释来自 DBI 层的请求,并把这些请求映射为适用于给定类型的数据库服务器的请求。

安装
如果您想要编写 Ruby 脚本来访问 MySQL 数据库,您需要先安装 Ruby MySQL 模块。

安装 Mysql 开发包

Ubuntu

sudo apt-get install mysql-client
sudo apt-get install libmysqlclient15-dev

Centos

yum install mysql-devel
Mac OS 系统需要修改 ~/.bash_profile 或 ~/.profile 文件,添加如下代码:

MYSQL=/usr/local/mysql/bin
export PATH=$PATH:$MYSQL
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
或者使用软连接:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
前端开发 JavaScript UED
|
6月前
|
JSON Cloud Native Go
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:后端权限控制
GoWind Admin「风行」是企业级中后台框架,集成Casbin与OPA实现API权限控制。支持RBAC、ABAC等模型,开箱即用,助力高效构建安全的前后端一体化系统。
512 1
|
5月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
消息中间件 缓存 监控
在PHP中,实现多线程
在PHP中,实现多线程
380 6
|
测试技术 API 开发工具
ElasticSearch核心概念:倒排索引
ElasticSearch核心概念:倒排索引
213 6
|
自然语言处理 安全 测试技术
CodeGeeX高级功能
【8月更文挑战第30天】CodeGeeX高级功能
533 6
|
传感器 机器学习/深度学习 人工智能
人工智能中的Agent技术解析
【8月更文挑战第18天】总之,Agent作为人工智能领域的重要分支,将在未来发挥更加重要的作用。随着技术的不断进步和应用场景的不断拓展,Agent技术将为我们带来更加智能、便捷和高效的生活体验。
2068 3
|
移动开发 前端开发 JavaScript
亘古难题——前端开发or后端开发
亘古难题——前端开发or后端开发