一番簡単に試せるデータベース、SQLite3についてまとめます。
前半はおよその操作方法を説明して、後半は実例です。
SQLiteの操作方法
###SQLをコマンドで実行する
>sqlite3 ファイル名 SQL文
###インタプリタモードで操作する
ファイル名だけを指定した場合、SQLiteはインタプリタモードに入って、入力したコマンドを対話的に実行する形式になります。
>sqlite3 ファイル名
インタプリタモードでは以下の様なコマンドを覚えておきましょう。
SQL以外は「.」が付いているので注意してください。
コマンド | 内容 |
---|---|
.table | テーブルを表示する |
.schema テーブル名 | テーブルのスキーマを表示する |
.read ファイル名 | 保存しておいたSQL文を実行する(テンプレートを用意しておくと良い) |
.exit | 終了する |
SQL文 | SQL文を実行する |
なお、データベースのデータをインポート・エクスポートする際は、
こちらのように、モードとアウトプット先を指定して実施します。
sqlite> .mode csv foo // fooテーブルのモードをタブ区切りへ
sqlite> .output export.csv // 出力先を "export.csv" ファイルに変更
sqlite> select * from foo; // fooテーブルの検索結果を出力
sqlite> .mode csv foo // モードをタブ区切りへ
sqlite> .import export.csv foo // "export.csv" ファイルから読み込み fooテーブルへ
データ型(長さ指定もできる)
データ型名 | データの内容 |
---|---|
NULL | NULL型 |
INTEGER | 符号付整数 |
REAL | 浮動小数点数 |
TEXT | テキスト |
BLOB | バイナリ |
日付や時刻は文字列として保存する必要があります。
使用サンプル
ユーザーを保存するデータベースを作ってみましょう。
ユーザーにはIDと氏名、生年月日が入っているとしましょう。
まずはテーブルを作成する、SQL文を書いたファイルを作成します。
create table users
(
id integer primary key,
name text,
birth text
);
となります。
では、user.sqliteというファイル名でデータベースを作成していきます。
>sqlite3 user.sqlite
とすると、user.sqliteファイルを作成しつつ、SQLiteがインタプリタモードに入って、SQLiteのプロンプトが出ます。
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
ここで、先ほどのcreate.sqlファイルをインポートしてデータベースにテーブルを作成してみましょう。
正しければ入力プロンプトが戻ってきます。
sqlite>.read create.sql
sqlite>
では実際にテーブルが作成できたか見ておきます。
usersテーブルが作成できたのが確認できましたね。
sqlite>.tables
users
sqlite>
終了しましょう。
sqlite>.quit
こうして作ったデータベースは、ブラウザのFirefoxに含まれているSQLManagerツールで確認/操作できます。Firefoxのツールメニューからどうぞ。