Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Archive for the ‘sqlite’ Category

Linuxにsqlite3-ruby gemをインストール

2010年10月15日

経緯

何も考えずにGemfileにsqlite3を定義してbundleを流したらこんなエラーが出ました。


$ gem install sqlite3-ruby

Building native extensions.  This could take a while...

ERROR:  Error installing sqlite3-ruby:

        ERROR: Failed to build gem native extension.

/home/user/.rvm/rubies/ruby-head/bin/ruby extconf.rb

checking for sqlite3.h... no

sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'
extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/user/.rvm/rubies/ruby-head/bin/ruby --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib Gem files will remain installed in /home/user/.rvm/gems/ruby-head/gems/sqlite3-ruby-1.3.0 for inspection. Results logged to /home/user/.rvm/gems/ruby-head/gems/sqlite3-ruby-1.3.0/ext/sqlite3/gem_make.out

キーのメッセージは「sqlite3.h is missing. Try ‘port install sqlite3 +universal’ or ‘yum install sqlite3-devel’」なのでそのとおりコマンドを流しましたが、portはそのコマンドがないと、yumはsqlite3-develを見つからないと返事したんです。。。

なのでsqlite本家でソースをダウンロードしビルドしてインストールする必要があります。

sqlite3のインストール

http://www.sqlite.org/download.htmlからsqlite-amalgamation-x.x.x.tar.gz(この記事を書いてる時点では3.7.3)のTarballバージョンのファイルをダウンロードします。上から二番目のリンクです。


$ wget http://www.sqlite.org/sqlite-amalgamation-3.7.3.tar.gz

$ tar vxzf sqlite-amalgamation-3.7.3.tar.gz

$ cd sqlite-amalgamation-3.7.3

$ ./configure --prefix=/usr/local

$ make

$ sudo make install

sqlite-ruby gemのインストール

後は普通にgem installでもいいしbundle installでもOKです。


$ gem install sqlite3-ruby

SQLiteのよく使うコマンド

2010年07月19日

SQLiteの起動、データベースの選択/作成

sqlite DB_NAME

DB_NAMEは実際のファイル名と同じです。例えば:

sqlite db/development.sqlite3

テーブル一覧

.tables

.ta

テーブルスキーマを見る

.schema TABLE_NAME

ヘルプ

.help

シェルモードを終了

.quit

.exit

詳しくはCommand Line Shell For SQLiteを参照してください。

Mac OSでsqliteをインストール

2009年10月11日

インストール

  • 公式サイト(http://www.sqlite.org/download.html)でファイルをダウンロード。Macなら二番目の「sqlite-amalgamation-3.6.18.tar.gz」をダウンロードすればよい。
  • Macのターミナルを起動し、上記解凍パスに移動する。
  • 下記コマンドを実行する。

./configure –prefix=ここでインストールパスを指定

make

make install

    • 私の場合は–prefix=/users/user_name/Database/sqlite

インストールの詳細は解凍先のドキュメントの「INSTALL」を参照してください。

ここでは一番簡単(デフォルト)のコマンドを紹介します。

英語ばかりでわかりづらいかもしれません。


これでインストールは完了です。

指定したインストール先には「bin」、「include」、「lib」の三つのフォルダがあるはずです。

次にターミナルでbinフォルダに移動します。

ここからはsqliteのシンタックスになります。

データベースの起動/作成

sqlite test.db;

これでtestという名のデータベースにつながります。もしtest.dbのファイルがなければ自動で作成されます。

こんなメッセージも出るはずです。

SQLite version 3.4.0

Enter “.help” for instructions

テーブルの作成

次に簡単なテーブルを作成し、データをINSERTしましょう。

sqlite> create table Employee(id int,name varchar(15));

sqlite> insert into Employee values (1,’Jim’);

sqlite> insert into Employee values (2,’Tom’);

sqlite> select * from Employee;

1|Jim

2|Tom

sqlite>

データベースのクローズ

.exit

ちょっと探しましたが、このサイトで日本語の資料がたくさんあるようです。

http://www.dbonline.jp/sqlite/index.html