【SQL】外部ファイルを作って実行する方法
code:.rb
# Linuxでファイルを作成(psql接続していない)
$ touch <ファイル名>.sql # 拡張子は「.sql」
# ファイルに、実行したいSQL文を書く。テーブルやカラムの作成とか。
【例文】
drop table if exists <テーブル名>;
create table <テーブル名> (
);
insert into <テーブル名> (body) values ('データ'); # データの登録
insert into comments (body) values ('comment 2');
insert into comments (body) values ('comment 3');
# ファイルを実行したいデータベースに接続
$ psql <データベース名> # いつも使ってるpsqlはデータベース名!
# ファイルを実行
postgres=# \i <ファイル名>.sql
# これで実行されたはず!テーブルを表示したりして確認。
postgres=# \dt <テーブル名>
テーブル作成の段階では、カラムは登録したけど、肝心の中身のデータはない状態。空っぽの表。
例:staffというテーブルを作り、名前や身長などのカラムを登録したけど、太郎・170cmというデータは登録されていない状態。
でもファイルにはデータの登録もまとめて書ける(上記の例もそう)