データベースの作成

目次
  • 解説
  • 1. データベースの作成
  • 2. テーブルの作成
  • 3. 初期データの追加
進捗を変更する




解説

1. データベースの作成


次はDBを準備しましょう。

手順1

(1)環境設定』コース内の『Docker > PostgreSQL > DBの起動・停止手順』を参考にPostgreSQLを起動し、pgAdminにログインしてください。
(2)SQL』コース内の『データベースを作成しよう』を参考に「tweet_php」という名前のDBを作成してください。

2. テーブルの作成


作成したDBにテーブルを作成しましょう。

手順2

(1)SQL』コース内の『テーブルを作成しよう』を参考に、下記のクエリを実行し、「users」テーブルと、「tweets」テーブルを作成してください。
-- usersテーブルを作成
CREATE TABLE users (
	id serial PRIMARY KEY,
	name text NOT NULL,
	email text NOT NULL UNIQUE,
	password text NOT NULL,
	profile text
);

-- tweetsテーブルを作成
CREATE TABLE tweets (
	id serial PRIMARY KEY,
	user_id integer NOT NULL,
	post text,
	created_at timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
	updated_at timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP
);

3. 初期データの追加


つぶやきアプリ開発で使用する、初期データを登録しましょう。

手順3

(1)SQL』コース内の『データを登録しよう』を参考に、下記のクエリを実行し、「users」テーブルと、「tweets」テーブルに初期データを登録してください。
-- usersテーブルに初期データを挿入
INSERT INTO users (name, email, password, profile) VALUES
    ('テストユーザー', 'test@test.com', 'testpass', 'テストユーザーです、よろしくお願いします。'),
    ('山田一郎', 'yamada@test.com', 'testpass', '山田一郎と申します!よろしくお願いします!'),
    ('田中花子', 'tanaka@test.com', 'testpass', 'つぶやきアプリはじめました、よろしくお願いします。');

-- tweetsテーブルに初期データを挿入
INSERT INTO tweets (user_id, post, created_at, updated_at) VALUES
    (1, 'こんにちは、テストユーザーです。', CURRENT_TIMESTAMP - INTERVAL '4 MINUTES', CURRENT_TIMESTAMP - INTERVAL '1 MINUTES'),
    (2, 'はじめまして、山田一郎です!', CURRENT_TIMESTAMP - INTERVAL '3 MINUTES', CURRENT_TIMESTAMP - INTERVAL '3 MINUTES'),
    (3, '田中花子です、よろしくお願いします。', CURRENT_TIMESTAMP - INTERVAL '2 MINUTES', CURRENT_TIMESTAMP - INTERVAL '2 MINUTES');

完了したら、正しくデータが登録されているか、確認しておきましょう。

Tips
INTERVAL

PostgreSQLではINTERVAL型を使用することで日時データを増減させることができます。「CURRENT_TIMESTAMP - INTERVAL '1 MINUTES'」のように増減させたいフィールド(今回は「分」フィールド)を指定して、「現在日時の1~4分前」の日時データを登録しています。