PostgreSQL で列名を取得する
Shihab Sikder
2023年6月20日
この記事では、PostgreSQL で \d+
コマンドを使用して列名を取得する方法について説明します。
PostgreSQL で \d+
コマンドを使用して列名を取得する
列には複数のプロパティがあります。 PostgreSQL には、テーブルの列の詳細を表示できる組み込み機能がいくつかあります。
私のシステムでは、データベースに次のテーブルがあります。
postgres=# \dt
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | account | table | postgres
public | accounts | table | postgres
public | bank | table | postgres
public | logger | table | postgres
public | product | table | postgres
public | purchase | table | postgres
public | randoms | table | postgres
public | students | table | postgres
public | times | table | postgres
public | wishlist | table | postgres
(10 rows)
postgres=#
テーブル "accounts"
のすべての列名、タイプ、および詳細を確認したいと考えています。
構文:
\d+ accounts
出力:
また、このコマンドは、このテーブルに関連するすべての制約を表示します。
列名を取得する SQL クエリ
クエリを作成する前に、この情報がどのテーブルに格納されているかを知る必要があります。 "information_schema.columns"
はテーブルの列情報を保持し、多くのフィールドがあります。
完全なリストは こちら でご覧いただけます。
クエリ:
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'accounts';
出力:
column_name | data_type
-------------+-----------------------------
user_id | integer
postcode | integer
age | integer
height | integer
timestamp | timestamp without time zone
username | character varying
password | character varying
email | character varying
contact | character varying
(9 rows)
また、追加のチェックを提供することもできます。 ここでは、PSQL シェルを使用しているためです。 デフォルトで特定のデータベースに接続しており、クエリはそのスキーマで実行されます。
更新された SQL ステートメントは次のようになります。
クエリ:
SELECT column_name, data_type,
FROM information_schema.columns
WHERE
table_name = 'table_name'
AND table_catalog = 'database_name'
AND table_schema = 'schema_name'
"schema-table"
の公式ドキュメント リンク はこちらです。
著者: Shihab Sikder