今回は、SQL初心者の方向けに、PostgresでデータのCRUD(登録、読取、更新、削除)の方法について記事を書いていきたいと思います。
Postgresの環境は、Dockerで構築することを前提としてます。以下の記事でDocker + postgresの環境構築方法を紹介しています。まだみてない方は是非ご覧ください。
【エンジニア向け】Macbook + docker-composeでpostgresを動かす
PostgresでCRUDのSQL操作を覚えよう
- Postgresに接続する
- データベースを作成する
- テーブルを作成する
- データを新規登録(Insert)
- データを取得(select)
- データを更新(update)
- データを削除(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円 |
===============
以上、PostgresのCRUDのSQLについて紹介してみました。
この情報が皆さんの人生のお役に立てれば幸いです。
エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。
記事を最後まで見ていただきありがとうございました。
執筆者: hiroエンジニア
「【エンジニア初級】PostgresでCRUDのSQL操作を覚えよう」への1件の返信