18 августа 2010 в 16:32

Mysql2

Ruby*
Mysql2 — современная, простая и очень быстрая Mysql библиотека (GEM) для Ruby.

API состоит из 2-х классов:


  1. Mysql2::Client — соединение с базой
  2. Mysql2::Result — результат запроса включающий в себя модуль Enumerable.


Установка:


gem install mysql2

Использование:


Соединение с базой:

client = Mysql2::Client.new(:host => "localhost", :username => "root")

Потом запрос к базе:

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.each do |row|
# ковертация строки в Hash
# гду ключи это имена полей
end


Или вы можете сделать тоже самое проще:

client.query("SELECT * FROM users WHERE group='githubbers'").each do |row|
#работаем со строкой (row) в блоке
end
Усубов Шалва Калашевич @shaliko
карма
13,2
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

Комментарии (10)

  • –1
    А где кат?!
    • +1
      Добавил.
  • +2
    Я бы с удовольствием увидел бенчмарки с его участием и сравнением с mysql gem'ом в Rails =)
    • 0
      Есть на Github — я давал ссылку в посте.

      • 0
        Ого, спасибо.
  • +2
    Раз уж вы занялись переводом странички проекта на github, то уж стоило бы делать чуть более полно. Например перевести почему это быстрый gem, в чём ключевые отличия.

    К примеру, можно указать, что там отсутствуют баги кодировки обычного mysql gem'а, при работе с ruby 1.9.

    Вот тут: stackoverflow.com/questions/3001243/ruby-rails-mysql2-gem-does-somebody-use-this-gem-is-it-stable автор mysql2 отвечает на вопрос, стоит ли использовать mysql2
    • –1
      Я не ставил перед собой целей полностью переводить README.

      Моей задачей было познакомить Ruby сообщество с интересным GEM.
      • –1
        Моей задачей было познакомить Ruby сообщество с интересным GEM.

        Да, бросьте. С этим гемом Ruby сообщество уже познакомил DHH в сообщении о выходе RoR 3 RC: weblog.rubyonrails.org/2010/7/26/rails-3-0-release-candidate
        Обратите внимание на пункт «Support for the MySQL2 gem, which will take care of MySQL encoding issues on Ruby 1.9.2.»
        Так что со знакомством припозднились недельки на три, а для обзорной статьи маловато.
  • 0
    Раз уж вы занялись переводом странички проекта на github, то уж стоило бы делать чуть более полно. Например перевести почему это быстрый gem, в чём ключевые отличия.

    К примеру, можно указать, что там отсутствуют баги кодировки обычного mysql gem'а, при работе с ruby 1.9.

    Вот тут: stackoverflow.com/questions/3001243/ruby-rails-mysql2-gem-does-somebody-use-this-gem-is-it-stable автор mysql2 отвечает на вопрос, стоит ли использовать mysql2
    • –1
      Блин, глюки отправки :(

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.