Web制作メモ -トップへ-

RailsコンソールでのSQLiteの操作方法

Ruby2016.02.05 02:42

dbオプションで起動。設定してあるデータベースに接続されます。

$ bin/rails db

データベースのファイル名を表示する

sqlite> .databases
seq  name             file
---  ---------------  ---------------------------------
0    main             /sample/db/development.sqlite3

テーブルの一覧を表示する

sqlite> .tables
friends            schema_migrations

フィールド(カラム、列)を表示する

sqlite> .schema friends
CREATE TABLE "friends" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "email" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);

レコード(データ)を表示する

sqlite> .dump friends
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE "friends" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "email" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);
INSERT INTO "friends" VALUES(1,'taro','tarou@sample','2016-02-04 17:24:43.035026','2016-02-04 17:24:43.035026');
INSERT INTO "friends" VALUES(2,'jiro','jiro@sample','2016-02-04 17:24:43.037683','2016-02-04 17:24:43.037683');
INSERT INTO "friends" VALUES(3,'sabu','sabu@sample','2016-02-04 17:24:43.039962','2016-02-04 17:24:43.039962');
INSERT INTO "friends" VALUES(4,'siro','siro@sample','2016-02-04 17:24:43.042282','2016-02-04 17:24:43.042282');
COMMIT;

コンソールを終了する

sqlite> .exit

ヘルプを表示する。ファイルからのインポートやエクスポート、バックアップなどが出来る模様

sqlite> .help

---追記---
レコードはselect文で確認できるらしい

sqlite> select * from books
   ...> ;
1|test|2016-03-07 08:36:15.827513|2016-03-07 08:36:15.827513
2|zzz|2016-03-07 08:36:24.701728|2016-03-07 08:36:24.701728