LoginSignup
6
1

よく使うコマンド、SQL文メモ

Last updated at Posted at 2023-12-16

この記事ははPostgreSQL Advent Calendar 2023シリーズ2の17日目です。
https://qiita.com/advent-calendar/2023#participating_calendar

はじめに

今年8月辺りからpostgresqlの勉強を始めて、10月にOSSDB Silverを取得しました。
よく使う基本的なコマンド、SQL文をメモ代わりにまとめておこうと思います。

psql

データベースに接続する基本のコマンドです。
psql -d [データベース名] -U [データベースユーザー名]

メタコマンド

テーブル作成したりアクセス権限を付与したりして、実行結果を確認するときによく使います。

\dt テーブル一覧を表示
\l  データベース一覧を表示
\dp テーブル・シーケンス・ビューのアクセス権限一覧を表

情報スキーマ

postgresqlに限らずデータベースにはスキーマという情報を格納するスキーマという機能があります。
image.png

pg_tables

「pg_...」とはシステムカタログ。接続中のデータベースに格納されているテーブルが所属するスキーマ、テーブルスペース(テーブルの記憶領域)、テーブルの所有者を確認できます。
確認できる情報は情報スキーマよりもシステムカタログのほうが詳しいです。
こちらもシステム権限付の実行結果を確認する際に使っています。
image.png

情報スキーマ、システムカタログの違いは試験でもよく聞かれます。

copy from

テストデータ(複数行)をテーブルに取り込みたいときによく使っています。
copy [テーブル名] (id, date1) from '\aaaa\Book1.csv' with csv header;
実行すると以下のようなエラーが表示される時があります。
image.png
copy fromはサーバー上にアップされたファイルを入出力できるので、ローカルのファイルを取り込むことはできません。csvファイルを「PostgreSQL\16\bin」などサーバー上にコピーして再実行すると取り込むことができました。

copyコマンド

ローカル上のファイルをテーブルに取り込むことができます。
\copy [テーブル名] from '\aaaa\Book1.csv'delimiter','csv header;

Moreをoffにする

image.png
↑コマンド実行中のMore

offにするコマンドがあります。
\pset pager off

ちなみに一度コマンド実行画面を閉じて再起動すると再びMoreが表示されるようになっていたので、offになるのは接続中のみのようです。

View

よく使うselect文を保存してことができるみたいな機能です。
image.png

最後に

覚えたことを忘れないために、簡単ではありますがメモにまとめてみました。
資格を取ってもまだまだ知らないことだらけです。
参加させていただきありがとうございました。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1