Need help with ruby-mysql?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

130 Stars 31 Forks 142 Commits 14 Opened issues


MySQL connector for Ruby. pure Ruby version.

Services available


Need anything else?

Contributors list

No Data

= ruby-mysql

== Description

MySQL connector for Ruby.

== Installation

ruby setup.rb

=== Gem Installation

gem install ruby-mysql

== Features/Problems

  • Ruby だけで書かれているのでコンパイル不要です。

  • Ruby 1.9.x の M17N に対応しています。

  • MySQL/Ruby 2.8.x とほぼ互換があります。

== Synopsis


my = Mysql.connect('hostname', 'username', 'password', 'dbname') my.query("select col1, col2 from tblname").each do |col1, col2| p col1, col2 end stmt = my.prepare('insert into tblname (col1,col2) values (?,?)') stmt.execute 123, 'abc'

== Incompatible with MySQL/Ruby 2.8.x

  • Ruby 1.8.x ではシフトJISのような安全でないマルチバイト文字セットに対して Mysql#escape_string を使用すると例外が発生します。

  • いくつかのメソッドがありません: Mysql#debug, Mysql#changeuser, Mysql#createdb, Mysql#dropdb, Mysql#dumpdebuginfo, Mysql#sslset, Mysql#reconnect

  • Mysql#options でサポートしているオプションは次のものだけです: Mysql::INITCOMMAND, Mysql::OPTCONNECTTIMEOUT, Mysql::OPTLOCALINFILE, Mysql::OPTREADTIMEOUT, Mysql::OPTWRITETIMEOUT, Mysql::SETCHARSET_NAME. これら以外を指定すると "option not implementted" という warning が標準エラー出力に出力されます。

  • Mysql#useresult は Mysql#storeresult と同じです。つまりサーバーから一気に結果セットを読み込みます。

== Improvement from MySQL/Ruby 2.8.x

  • Ruby 1.9.x の M17N に対応しています。 mysqld へのクエリ文字列やプリペアドステートメントで与える値は mysqld との接続の文字コードに自動的に変換されます。 mysqld からの結果文字列は接続文字コードとして取り出されます。

  • Mysql::Result, Mysql::Stmt が Enumerable を include しています。

  • ブロックなしの Mysql::Result#each, eachhash Mysql::Stmt#each, eachhash が Enumerator を返します。

  • Mysql#charset= で接続 charset を指定できます。

  • Mysql::Error だけでなく、エラー種別ごとにエラークラスが用意されてます。たとえば、構文エラーの場合は Mysql::ServerError::ParseError など。これらのエラーは Mysql::Error の継承クラスです。

== Copyright

Author :: TOMITA Masahiro [email protected] Copyright :: Copyright (c) 2009-2012 TOMITA Masahiro License :: Ruby's

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.