【#100DaysOfCode】Day14 「作りながら学ぶRuby入門」19章 〜Ruby/DBI〜
22:30に帰宅。今日は疲れた。
ということで、せっせとRubyに励む。
Day14
「作りながら学ぶRuby入門」19章 Ruby/DBI:データベース接続ライブラリ
について理解する。
以下のサイトのスライド画像が、参考書に載ってたやつと同じで分かりやすい。
ので使わせていただく。
slidesplayer.net
今回学んだこと
データベースの操作方法: SQLite3
- テーブルへのデータ追加:
$ insert into データベース名 values (キー, 値)
- テーブルのデータ検索:
$ select * from データベース名
$ select * from データベース名 where 条件 age>40とか
- テーブルの項目抽出
$ select 項目 from データベース名
- テーブルのデータ削除
$ delete from データベース名 where 条件
Ruby/DBIの操作方法
例:students01.db
- データベースへの接続
dbh = DBI.connect( 'DBI:SQLite3:students01.db' )
- テーブルのデータを検索
dbh.select_all(~~~)
ということで、Ruby/DBIを使って、データ検索し表示するコード
# 「作りながら学ぶRuby入門」19章 # Ruby/DBI でデータベースを利用 require 'rubygems' # DBD, BDIをRubyGemsでインストールした時には記述 require 'dbi' # DBIを使う # dbhを作成し、データベース'students01.db'に接続する # 引数は、データベース名(DSN=data source name) を指定する # DSNの第1要素は、データソースの種別: DBIでは'DBI' # DSNの第2要素は、ドライバのの種別: 'SQLite3' # DSNの第3要素は、データベースファイル名: 'students01.db' dbh = DBI.connect( 'DBI:SQLite3:students01.db' ) # select文でデータを検索し、読み込んだデータを表示する dbh.select_all('select * from students') do | row | # SQL[select * from students ]を実行し、 # 1行ずつ受け取って、ブロックを処理する STDOUT.print "row=#{row} \n" STDOUT.print " name = #{row[0]}\n" STDOUT.print " age = #{row[1]}\n" STDOUT.print "\n" end # データベースとの接続を終了する dbh.disconnect