【エンジニア初級】PostgresでCRUDのSQL操作を覚えよう

今回は、SQL初心者の方向けに、PostgresでデータのCRUD(登録、読取、更新、削除)の方法について記事を書いていきたいと思います。

Postgresの環境は、Dockerで構築することを前提としてます。以下の記事でDocker + postgresの環境構築方法を紹介しています。まだみてない方は是非ご覧ください。

【エンジニア向け】Macbook + docker-composeでpostgresを動かす

PostgresでCRUDのSQL操作を覚えよう

  1. Postgresに接続する
  2. データベースを作成する
  3. テーブルを作成する
  4. データを新規登録(Insert)
  5. データを取得(select)
  6. データを更新(update)
  7. データを削除(delete)

1.Postgresに接続する

dockerでPostgresが立ち上がっている前提で、以下のコマンドを実行します。

$ docker exec --user postgres -it $(docker ps -aqf "name=postgres") /bin/bash

dockerにログインできたら、psqlでPostgresに接続します。

$ psql

うまく接続できれば、コンソールの画面が以下のようになっているはずです。

postgres=#

2.データベースを作成する

postgresに接続したら、テスト用のデータベースを作成しましょう。

まずは、現在のデータベース一覧を確認します。

postgres=# \l

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

既に3つのデータベースがあるかと思います。

ここから新たに「testdb」というデータベースを追加します

postgres=# create database testdb ENCODING = 'UTF8';

もう一度、データベースの一覧を確認しましょう。

postgres=# \l

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 testdb    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

新たに「testdb」が4行目に増えているのが分かりますね。

それでは、新しく作成した「testdb」に接続しましょう。

postgres=# \c testdb

3.テーブルを作成する

続いて、「testdb」内にテーブルを作成していきましょう。

今回は、employeeというテーブルを作ります。

testdb=# CREATE TABLE employee (
  id bigint,
  name varchar(50),
  job varchar(20)
);

作り終わったらテーブルの情報を確認しましょう

testdb=# \d employee
                     Table "public.employee"
 Column |         Type          | Collation | Nullable | Default
--------+-----------------------+-----------+----------+---------
 id     | bigint                |           |          |
 name   | character varying(50) |           |          |
 job    | character varying(20) |           |          |

4.データを新規登録(Insert)

テーブルまで作成できれば、ようやくデータのCRUDが試せます。

まずは、データを1件追加してみましょう。

testdb=# INSERT INTO employee (id, name, job) VALUES (1, '田中太郎', 'エンジニア');
INSERT 0 1

これで1件分の登録ができました。

5.データを取得(select)

次は、先ほど登録したデータを取得します。

testdb=# SELECT * FROM employee;

 id |   name   |    job
----+----------+------------
  1 | 田中太郎 | エンジニア
(1 row)

無事、データを取得できました。

6.データを更新(update)

次に、登録したデータの更新を来ないます。

田中太郎さんの、Jobを「エンジニア」から「デザイナー」に変更します。

testdb=# UPDATE employee SET job = 'デザイナー';
UPDATE 1

もう一度、データを確認してみましょう。

testdb=# SELECT * FROM employee;

 id |   name   |    job
----+----------+------------
  1 | 田中太郎 | デザイナー
(1 row)

田中太郎さんのjobがデザイナーに変わってますね。

7.データを削除(delete)

最後は、登録したデータを削除します。

testdb=# DELETE FROM employee;
DELETE 1

データが消えているか確認してみましょう。

testdb=# SELECT * FROM employee;

 id | name | job
----+------+-----
(0 rows)

データが無くなっているのが確認できました。

Postgresをこれから勉強したい方には、以下の書籍がおすすめです。

これからはじめる PostgreSQL入門【電子書籍】[ 高塚遙 ]

価格:3,278円
(2021/4/24 15:20時点)
感想(0件)

===============

以上、PostgresのCRUDのSQLについて紹介してみました。

この情報が皆さんの人生のお役に立てれば幸いです。

エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。

記事を最後まで見ていただきありがとうございました。

執筆者: hiroエンジニア

「【エンジニア初級】PostgresでCRUDのSQL操作を覚えよう」への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です