PostgreSQLでよく使いそうなコマンド(自分用)

PostgreSQLで使いそうなコマンド(自分用)です。

・ログイン
psql -U postgres -d postgres

これでログインします。
postgresというユーザー名でログインしています。

パスワードを求められるので、入力してログイン。

・データベースの一覧を出す
\l

これでデータベースの一覧が出ます。

ポート名、ホスト名が必要な場合は
psql -l -p ポート番号 -h ホスト名
このようなオプションになります。

・各データベースに接続
\c データベース名;
データベース一覧から選びます。

・テーブル一覧の表示
\dt;

・テーブル構造を表示する
\d テーブル名;

とする。

・テーブルの中身を表示する

select カラム名, カラム名 ... from テーブル名;

とする。どういうことか。

まずテーブル名を確認。
\d テーブル名;
でテーブル構造を確認すると、
テーブル構造の上部に
テーブル "public.users"
のような表示がされるので、その場所を指定する。これがテーブル名。

あとは、表示させたいカラム名を入れれば良い。

例えばusersテーブルの中のidとemailを表示させたい場合は
select id, email from public.users;

というようにする。
select文(SQLコマンド)は;(セミコロン)を忘れないようにする。
セミコロンを忘れた場合は次に正しいコマンドを打ってもエラーになるのでもう一度さらに打つ。

usersテーブルのすべてを表示させたい場合は
select * from public.users;
のようにすればOK。

PostgreSQLのコマンドラインを抜ける

\q

とする。


(おまけ)
データベースを扱う際に使いそうなherokuコマンド、railsコマンド

Rails consoleをherokuで起動
heroku run rails console

・Railsでデータベースを扱う

以下は、ターミナルで「posts」テーブルのマイグレーションファイルを作成するコマンド。

例)
rails g model Post content:text

上記ではテキスト型の『content』という名前のカラムを作成する準備(マイグレーションファイルの作成)が出来ます。Postという名前のモデルが作られます。
テーブル名は複数形の「posts」になります。

その後
rails db:migrate

コマンドで、マイグレーションファイルの指示どおりにデータベースにテーブルが作られます。
※上記のrails db:migrateコマンドは、マイグレーションファイルを作成したあと
ローカル環境・本番環境の両方で実行する必要があります。

・コンソール上からデータを入れる

rails consoleコマンドでコンソールを起動。
その後、コンソール上で
post = Post.new(contnet: "This is a sample.")
この場合はPostモデルからPostインスタンスが作成されます。
そして
post.save
このコマンドで、Postインスタンスがテーブルに保存されます。

・Railsでデータを扱う

Railsではビューにデータを送るために、コントローラーでは

@posts = Post.all

のようにしてPostモデル(postsテーブル)からデータを取得し、

ビューで
<% @posts.each do |post| %>

<%= post.content %>

<% end %>

のようにして値を取り出していきます。

ボカロ新曲ランキングサイトのソングストーリー(https://www.songstory.me/)に
実装していきます。


参考:
「PostgreSQLの基本的なコマンド」
https://qiita.com/H-A-L/items/fe8cb0e0ee0041ff3ceb

「データを取得する(SELECT文)」
https://www.dbonline.jp/postgresql/select/index1.html

[PostgreSQL] よく使うコマンドまとめ
https://dev.classmethod.jp/server-side/db/postgresql-organize-command/

[よく使うHerokuコマンド]
https://qiita.com/yuch_i/items/b9898ce482f30ab7ca87

[Progate(プロゲート)]
https://prog-8.com/