rubyでSQLite

時報ツイートだけではつまらないので、あらかじめ用意した文面を定刻にポストするという、基本的な機能を実装してみることにしました。
その上で、発言を格納するのにデータベースを用いることにしました。
テキストファイルでも良いのですが、データベースにしておけば管理が楽になるかなと思ったので。

スポンサードリンク

で、とりあえず、SQLiteをrubyで使うために、コマンドプロンプトで
gem install sqlite3-ruby
として、gem経由でsqlite3用のライブラリをインストール。
準備はこれだけ。後は、スクリプトでrequireしてやるだけ。
requier 'rubygems'
require 'sqlite3'
ちなみに、ここではSQLite3を利用しているので、このような記述になりました。
クエリを実行するには、dbを読み込んでからexecuteしてやるだけです。
読み込み終わったら、クローズしてやるのを忘れずに。
#ここでデータベースを読み込む(無い場合は作成される)
db = SQLite3::database.new("test.db")
#クエリの実行
puts db.execute("select * from Table")
#dbを閉じる
db.close
尚、SQLite3をincludeしてやれば、SQLite3::は不要になります。
include SQLite3
db = database.new("test.db")
複数のクエリを実行する場合は、ヒアドキュメントで複数のクエリを変数に格納し、それをexecute_batchの引数として渡してやれば良いです。
#ヒアドキュメント作成(insert intoクエリ)
sql = <<SQL
insert into Table (colum1,colum2) value (value1,value2);
insert into Table (colum2,colum2) value (value3,value4);
insert into Table (colum1,colum2) value (value5,value6);
SQL
db.execute_batch(sql)
テーブルの作り方は、他のDBと何ら変わりはありません。
create tableしてやれば良いです。
#テーブル作成
sql = <<SQL
create table Table (
colum1 type,
colum2 type,
);
SQL
db.execute(sql)
typeには、integerとかtextとか、フィールドの型を入れます。
データベース操作に慣れている人なら、迷うこともないでしょう。
基本はSQLなので、SQLさえ知っていれば扱うことは容易です
大学3年の時の実習講義で苦労したことを思い出しますね・・・。

とまぁ、SQLiteを扱うのは非常に簡単です。
用意した文面を保管するくらいなら、SQLiteで発言を管理するのも良いかもしれません。
形態素解析で得た単語を蓄積するなら、MySQLやMS SQLServer等を使った方が良いかもしれないですけど。
文面以外のデータも、データベースで管理できたら良いなぁとか思っています。

スポンサードリンク
Pocket

Comments are closed.