目的
Railsでアプリを作っている際に、VScode上でテーブルのデータを操作したいと思いました。
本記事では
- VScode上でテーブルを確認する方法
- VScode上でテーブルのデータを操作(追加、編集、削除)する方法
についてまとめています。
今回使用するテーブル
今回はRailsにて簡単な名簿アプリを作成しました。
GitHubにアップロードしていますので、下記から自由にダウンロードしてください。
https://github.com/ysk91/name_list
本アプリ内ではpeople
というテーブルを用意しました。
まずはアプリ上の「新規作成」かdb>seeds.rb
かでデータを適当に作ります。
VScode上でテーブルに格納されたデータを確認する
VScode上でSQliteを見るには、「sqlite3」という拡張機能を使用します。
インストール方法はこちらの記事を参考にしてください。
VSCodeでSQLiteを使うなら拡張機能を使う(sqlite3のバイナリファイルを見る方法)(Qiita)
これで自分が今、どんなテーブルを持っているのかが分かるようになります。
早速sqlite3でテーブルを表示させると、下記のようにデータが格納されていることが確認できました。
VScode上でSQliteを操作する方法
VScode上でSQliteを操作するには、sqlite3で操作したいテーブルを右クリックし、「New Query[Select]」を選択します。
「New Query[Insert]」でも良いのですが、まぁお好きにどうぞ。
すると、「-- SQLite.sql」というファイルが開きます。
このファイル上にSQliteのコードを書いて実行していく訳です。
こちらのファイルは、db
フォルダ直下に保存しておきましょう(保存しなくても操作可能)。
試しに、現在書かれているコードを実行してみましょう。
SELECT id, name, age, created_at, updated_at
FROM people;
コードを実行するには、画面上で右クリックをして「Run Query」をクリックします。
すると、people
テーブルに格納されているデータが見られるはずです。
INSERT
dさんをこの名簿に参加させます。\Welcome/
dさんの情報を追加しましょう。
記載する情報はname
、age
、created_at
、updated_at
です(created_at
とupdated_at
はsqlite3から操作する場合は自動更新しないので、操作してあげる必要がある)。
下記コードを実行します。
INSERT INTO people (name, age, created_at, updated_at)
VALUES ("d", 40, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
「Run Query」しテーブルを確認すると、id=4にdさんの情報が格納されたことが分かります。
Tips
ここで、実行したコードはコメントアウトしておきましょう。
次に操作するときに同じコードが実行されてしまうのを防ぐためです。
コメントアウトは、コメントにしたい行を選択して「Ctrl + /」で可能です。
CURRENT_TIMESTAMPについて
操作したテーブルをよく見ると、created_at
とupdated_at
の値が微妙に違うことが分かります。
アプリ上、もしくはseed.rb
でデータを作成したcさんのcreated_at
とupdated_at
には時間表記の後にミリ秒?が続きますが、sqlite3からデータ作成したdさんにはそれがありません。
このような違いはありますが、実際にアプリ上での表記に差はないので、今はこれで良しとします。
ミリ秒?まで出力するメソッドをご存じの方がいたらコメント欄にて教えて頂けると幸いです。
UPDATE
今、aさんが誕生日を迎えて11歳になったとします。\HBD/
aさんの情報を更新していきましょう。
更新する情報はage
とupdated_at
です。
下記コードを実行します。
UPDATE people
SET age = 11, updated_at = CURRENT_TIMESTAMP
WHERE id = 1;
「Run Query」しテーブルを確認すると、id=1であるaさんが無事に誕生日を迎えられたことが分かります。
DELETE
今、dさんからこの名簿から退出したいと申し出がありました。\Good-Bye/
bさんのデータを削除したいと思います。
bさんのid
は2なので、下記コードを実行します。
DELETE FROM people
WHERE id = 2;
「Run Query」しテーブルを確認すると、id=2であるbさんのデータが削除されているのが分かります。
まとめ
以上がVScodeでSQliteを操作する方法です。
意外と一か所に情報がまとまっていなかったので、本記事が誰かの役に立つことを願っています。
ご指摘等はコメント欄にてお願いします。