データをmysql2でテーブルに登録する方法を確認しました。
●サンプルコード
登録するデータは各テーブルカラム毎にitems配列に保存されています。
client.escape()でエスケープした値を登録します。
※client.escape()については以下の記事参照
Ruby mysql2でSQLインジェクション対策
require 'mysql2' client = Mysql2::Client.new( :host => "localhost", :database => "db_name", :username => "user_name" , :password => "xxxxxx" ) items.each do |item| ary_col = [] ary_dat = [] item.each{ |key,value| ary_col.push(key) tmp_dat = client.escape(value) tmp_dat = "'#{tmp_dat}'" ary_dat.push(tmp_dat) } cols = ary_col.join(",") datas = ary_dat.join(",") sql = "INSERT INTO s_tables (#{cols}) VALUES (#{datas})" client.query(sql) end関連記事の目次
- CentOSにcurb(ruby)をインストールする手順
- Windows7にcurb(ruby)をインストールする手順
- Windows7の環境でRubyでMySQLに接続する手順
- Ruby curbでリファラーとユーザーエージェントを設定してWebページを取得
- Windows7でruby2、open-uriを使ってWebページを取得
- Ruby open-uriでリファラーとユーザーエージェントを設定してWebページを取得
- Ruby curb、scan、gsubを使ってWebページから特定の情報を抽出
- RubyでWebサイト上のPDFファイルの情報を取得
- RubyでWebサイト上のエクセルファイルの情報を取得
- Rubyで既存のエクセルファイルにデータを追加
- RubyでWebページの応答時間を計測し、メールで通知
- Ruby curbでPOSTデータ送信
- curbでRailsアプリのクッキー、セッションIDを取得し、ログイン
- Ruby mysql2でSQLインジェクション対策
- Ruby mysql2でデータをテーブルに登録