PostgreSQLとは
フリーなオープンソースのリレーショナルデータベース管理システム
簡単にいうとこれに尽きるかと思います。
じゃあ、他のRDBMS(Relational DataBase Management System )との違いは何?と思ってらっしゃる方も多いのでしょうが、またその記事は後日書き記したいと思います。
ひとまず今回は、
「データベースを管理するシステムのことかー」
と思ってくださればOKです。
CRUDとは
CRUD = Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)
の操作をまとめてCRUDと呼んでいます。
webアプリケーションでいうと
Create(登録機能)、Read(参照機能)、Update(変更機能)、Delete(削除機能)
となります。
【PostgreSQL】基本的なCRUDとは
これで、タイトルの「【PostgreSQL】基本的なCRUD操作」の意味がわかったのではないでしょうか。
「データーベースに対する、基本的な登録、参照、変更、削除 の操作」
です。
基本的なCRUD操作
それでは、基本的なCRUD操作についてご紹介していきたいと思います。
CRUD操作に使用するテーブルはこちらです。
テーブル名はstudentsでid, name, age の列名があります。
id | name | age |
---|---|---|
これはCREATE TABLEをして作成しました。今回のCRUD操作とは別ですが、一応記しておきます。
基本構文はこちら
CREATE TABLE テーブル名 (列名 データ型 制約 [, 列名 データ型 制約 …] );
例はこちら
CREATE TABLE students(id CHAR(4) NOT NULL, name TEXT NOT NULL, age INTEGER, PRIMARY KEY (id));
まず、CREATE TABLEでテーブル名 = students を指定します。その後、列名 = idと、そのデータ型 = CHAR(4) と制約 = NOT NULLを指定しています。最後に主キーの指定をしています。
Create(生成)
まずは、INSERTです。テーブルに対して、値の追加をすることができます。
基本構文はこちら
INSERT INTO テーブル名 (列名,列名...) VALUES (値,値...)
例はこちら
INSERT INTO students (id, name, age) VALUES ('0001', '川端奈緒', 11);
まず、INSERT INTO
でテーブル名 = students
を指定します。その後、 列名 = id
, name
, age
を指定しています。 VALUES
では列に入れる値を指定しています。今回の場合は id ='0001'
, name = '川端奈緒'
, age = 11
という値を入れています。
この結果
id | name | age |
---|---|---|
上記のテーブルが、下記のようになります。
id | name | age |
---|---|---|
0001 | 川端奈緒 | 11 |
でも、毎回これをするのはめんどくさいですよね。
INSERT INTO students (id, name, age) VALUES ('0001', '川端奈緒', 11);
そういう時は
INSERT INTO students (id, name, age) VALUES ('0001', '川端奈緒', 11), ('0002', '安田梨沙', 21);
みたいな感じでVALUES
を,
で繋げると、連続で値を入れてくれます。
Read(読み取り)
続いてSELECTです。指定した値など様々なデータベースの情報を取得することができます。
基本構文はこちら
SELECT 列名 FROM テーブル名
例はこちら
SELECT * FROM students
まず、取得したい列名に*
を入れているので、全ての列を取得します。どこから列名を取得するのかというと、FROM
の後に指定した students
テーブルからです。
この結果はこちら。
id | name | age |
---|---|---|
0001 | 川端奈緒 | 11 |
全て取得しているので全て表示されます。
では、こちらはどうでしょう。
SELECT id FROM students
取得する列名のみid
に変更しました。
その結果はこちら
id |
---|
0001 |
id
を指定したので、id
のみを取得することができました。
Update(更新)
次はUPDATEです。既存の列に入っている値を更新することができます。
基本構文はこちら
UPDATE テーブル名 SET 列名 = 値
例はこちら
UPDATE students SET name = '多田典子'
UPDATE
の後に更新対象のテーブル名 = students
を指定します。その後のSET
で 更新する列名 = name
と更新する値 = '多田典子'
を入れます。
この結果はこちら。
id | name | age |
---|---|---|
0001 | 多田典子 | 11 |
name
の列が多田典子に更新されています。
ただし、この場合はname
の列が全て多田典子になってしまうので、1つの行を特定して更新したい場合は
UPDATE テーブル名 SET 列名 = 値 WHERE 削除する行を特定する条件
という風にWHERE
を追加します。
例はこちら
UPDATE students SET name = '多田典子' WHERE id = '0001'
例えばこのようなテーブルがあったとします。
id | name | age |
---|---|---|
0001 | 川端奈緒 | 11 |
0002 | 山田智 | 12 |
これに対して先ほどののSQLを流せば、
id | name | age |
---|---|---|
0001 | 多田典子 | 11 |
0002 | 山田智 | 12 |
という風にWHERE
以降で指定した条件の id = '0001'
に合致する行のみが更新対象となっています。
Delete(削除)
最後はDELETEです。値の削除をすることができます。
基本構文はこちら
DELETE FROM テーブル名 WHERE 削除する行を特定する条件
例はこちら
DELETE FROM students WHERE id = '0001'
DELETE FROM
の後にテーブル名 = students
を指定します。その後、WHERE
で 削除したい行を特定するために id = '0001'
を指定しました。
id | name | age |
---|---|---|
指定したid
の列が削除されています。WHERE
を使用しなかった場合はテーブルすべての行が削除されてしまうので注意してください。
まとめ
今回は、CRUD操作の基礎を書きました。
CRUD | 基本構文 |
---|---|
INSERT | INSERT INTO テーブル名 (列名,列名...) VALUES (値,値...) |
SELECT | SELECT 列名 FROM テーブル名 |
UPDATE | テーブル名 SET 列名 = 値 |
DELETE | DELETE FROM テーブル名 WHERE 削除する行を特定する条件 |
これはPostgreSQLの基礎中の基礎なので、今後はさらに詳しい記事を作成していきたいと思います。