君の瞳はまるでルビー - Ruby 関連まとめサイト

sqlite3 の使い方の簡単な説明

最終更新: 2017-03-06 (月) 22:18:45 (926d)

以前まで sqlite3-ruby という名前だった gem の名前が sqlite3 に変わったようです。

概要

sqlite3 は、SQLite リレーショナルデータベース(SQLite 3.6.16 以上)にアクセスするためのライブラリです。

その他にも汎用リレーショナルデータベースアクセス用ライブラリを使ったアクセスもできるため、どの方法でアクセスするかは一考の余地があります。

sqlite3 をインストールする

以下のコマンドを実行して sqlite3 gem をインストールします。

gem install sqlite3

sqlite3 で SQLite ファイルにアクセスする

以下のプログラムで SQLite ファイルにアクセスします。

require 'sqlite3'

db = SQLite3::Database.new("ファイル名")
# db を使い MySQL を操作する
db.close

ファイルが存在すれば既存のデータベースに、なければファイルを作成し新規のデータベースが作られ、データベースへのアクセスが行えるようになります。

close の処理はもしかしたら不要かもしれません。

メソッド自体はあるのですがメインサイトで紹介してあるサンプルでは close メソッドを呼んでいません。

もしくは以下の書き方が安全です。

SQLite3::Database.new("ファイル名") do |db|
  # db を使い MySQL を操作する
end

パラメータを持つ SELECT 文を実行する

以下に事例を示します。

cursor = db.execute("SELECT value1, value2 FROM table1 WHERE key1 = ? AND key2 = ?", [key1, key2])
cursor.each do |tuple|
  puts tuple[0]  # value1 の値
  puts tuple[1]  # value2 の値
end

既に接続が済んでいることが前提になります。

パラメータの値は execute の引数で指定します。パラメータは ? の順番に合わせて指定します。

execute の戻り値 cursor の each メソッドを使うことで各行にアクセスできます。各行には配列として SELECT した項目の順序で値が入ってきます。

コメント

本ページの内容に関して何かコメントがある方は、以下に記入してください。

コメントはありません。 コメント/sqlite3-ruby/about

お名前: