Mysql2

    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
    Метки:
    Поделиться публикацией
    Похожие публикации
    Комментарии 10
    • –1
      А где кат?!
    • +2
      Я бы с удовольствием увидел бенчмарки с его участием и сравнением с mysql gem'ом в Rails =)
      • 0
        Есть на Github — я давал ссылку в посте.

    • +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
          Блин, глюки отправки :(

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