Heroku Postgresでテーブル作成と基本的なデータ操作

スポンサーリンク

はじめに

Heroku Postgresでテーブルを作成して、データ追加や取得などの基本的な一連の操作を解説していきます。

Heroku Postgresの準備については下記を参照してください。

Heroku Postgresを使ってみる
はじめにHeroku Postgresを作成するまでを解説していきます。HerokuとはHerokuとは、Webアプリケーションを簡単に構築、運用できるPaaSになります。アプリケーションの作成だけでなく、アドオンによって多くの追加...

データベース接続

Heroku Postgresの「Settings」画面からデータベースに接続するためのコマンドを確認します。

Heroku CLIに記載されているコマンドを確認します。

ターミナルからコマンドを実行するとデータベースにアクセスできます。

database-basic-operation::DATABASE=>

テーブル作成

まずはテーブルを作成します。

各カラム名とデータ型を指定してCREATE TABLEでテーブルを作成します。

CREATE TABLE articles (
 id SERIAL NOT NULL,
 title TEXT NOT NULL,
 url TEXT NOT NULL,
 description TEXT,
 timestamp TIMESTAMP
);

データ型はPostgreSQLのユーザガイドにまとめられています。

第8章 データ型

\dでテーブルの確認ができます。

database-basic-operation::DATABASE=> \d
                  List of relations
 Schema |      Name       |   Type   |     Owner
--------+-----------------+----------+----------------
 public | articles        | table    | buavqlmanvncpg
 public | articles_id_seq | sequence | buavqlmanvncpg
(2 rows)

SERIAL型用のテーブルも作成されているのがわかります。

データ追加

INSERTでデータの追加をします。

カラムを指定してデータを追加していきます。

INSERT INTO articles (title, url) VALUES (
 'Heroku Postgresを使ってみる', 'https://amateur-engineer-blog.com/create-heroku-postgres/'
);

他にもカラムを指定してデータ追加します。

INSERT INTO articles (title, url, description, timestamp) VALUES (
 'Next.jsでMaterial-UIを使う', 'https://amateur-engineer-blog.com/how-to-use-material-ui-with-nextjs/', 'Next.jsでMaterial-UIを利用する方法を紹介します。', '2021-08-25 18:30:15'
);

idカラムはSERIAL型なので自動で連番を挿入してくれます。

データ取得

SELECTでデータを取得します。

とりあえずテーブルから全てのカラムを表示してデータを取得します。

SELECT * FROM articles;

以下のような結果が帰ってきます。

 id |            title            |                                  url                                  |                   description                    |      timestamp
----+-----------------------------+-----------------------------------------------------------------------+--------------------------------------------------+---------------------
  1 | Heroku Postgresを使ってみる | https://amateur-engineer-blog.com/create-heroku-postgres/             |                                                  |
  2 | Next.jsでMaterial-UIを使う  | https://amateur-engineer-blog.com/how-to-use-material-ui-with-nextjs/ | Next.jsでMaterial-UIを利用する方法を紹介します。 | 2021-08-25 18:30:15
(2 rows)

WHEREで絞り込みもできます。

SELECT * FROM articles WHERE id = 2;

絞り込みされたデータを取得できました。

 id |           title            |                                  url                                  |                   description                    |      timestamp
----+----------------------------+-----------------------------------------------------------------------+--------------------------------------------------+---------------------
  2 | Next.jsでMaterial-UIを使う | https://amateur-engineer-blog.com/how-to-use-material-ui-with-nextjs/ | Next.jsでMaterial-UIを利用する方法を紹介します。 | 2021-08-25 18:30:15
(1 row)

データ更新

UPDATEでデータ更新できます。

UPDATE articles SET description = 'Heroku Postgresを作成するまでを解説していきます。' WHERE id = 1;

確認するとデータが更新されていることがわかります。

 id |            title            |                                  url                                  |                    description                    |      timestamp
----+-----------------------------+-----------------------------------------------------------------------+---------------------------------------------------+---------------------
  2 | Next.jsでMaterial-UIを使う  | https://amateur-engineer-blog.com/how-to-use-material-ui-with-nextjs/ | Next.jsでMaterial-UIを利用する方法を紹介します。  | 2021-08-25 18:30:15
  1 | Heroku Postgresを使ってみる | https://amateur-engineer-blog.com/create-heroku-postgres/             | Heroku Postgresを作成するまでを解説していきます。 |
(2 rows)

データ削除

DELETEでデータ削除できます。

DELETE FROM articles WHERE id = 1;

データが削除されているのが確認できます。

 id |           title            |                                  url                                  |                   description                    |      timestamp
----+----------------------------+-----------------------------------------------------------------------+--------------------------------------------------+---------------------
  2 | Next.jsでMaterial-UIを使う | https://amateur-engineer-blog.com/how-to-use-material-ui-with-nextjs/ | Next.jsでMaterial-UIを利用する方法を紹介します。 | 2021-08-25 18:30:15
(1 row)

参考

タイトルとURLをコピーしました