您好,我使用 Ruby 作为脚本语言。不是为了 Web 开发,而是为了连接到我的计算机上的本地数据库并对其进行操作。
我想知道如何连接。我需要下载/导入工具吗?我需要什么才能开始?
谢谢
<小时/>更新
我做了 gem install mysql2 并运行了以下 ruby 文件
require 'mysql2'
#my = Mysql.new(hostname, username, password, databasename)
con = Mysql.new('localhost', 'nverma', 'something', 'ruby')
rs = con.query('select * from contacts')
rs.each_hash { |h| puts h['name']}
con.close
并出现以下错误:-
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext
/kernel_require.rb:55:in `require': dlopen(/Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.16/lib/mysql2
/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
Referenced from: /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.16/lib/mysql2/mysql2.bundle
Reason: image not found - /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.16/lib/mysql2/mysql2.bundle
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext
/kernel_require.rb:55:in `require'
from /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.16/lib/mysql2.rb:8:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext
/kernel_require.rb:135:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext
/kernel_require.rb:135:in `rescue in require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext
/kernel_require.rb:144:in `require'
from sol5.rb:1:in `<main>'
请帮忙!
最佳答案
一种选择是使用 mysql2
gem:
gem install mysql2
连接到您的数据库:
client = Mysql2::Client.new(:host => "localhost", :username => "root")
查询数据库:
results = client.query("SELECT * FROM users")
关于mysql - 如何使用 Ruby 作为脚本语言连接到 Rails 之外的 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051205/