皆さんこんばんは!
今日はいつもより涼しい気がしたので気温を調べたら最高気温31度でした。
これ位で勘弁して欲しいですよね。ポンコツツエンジニアのGONです。
明日も最高気温31度、最低気温23度との予想でしたので、猛暑も一休みといったところでしょうか。
前回までに人生賭けた求人サービスを構築するために『PHP』『postgreSQL』『AWS』を選んだ理由や、
サービス名の由来、求職者様向け&企業様向け機能のご紹介、面談の採用確率UP方法、
『PHP』『postgreSQL』『AWS』の実機練習用サイトをご紹介させていただき、
さらに『SQL』と『PHP』および『AWS』の基本的な操作方法について書かせていただきました。
今日は先日の『SQL』第二弾として別の構文をご紹介させていただきます。
「簡単すぎる」という声が聞こえてきそうですが、
『PHP』の回でも『SQL』が登場した様に、開発言語は何であれシステムはデータベース操作とは切っても切れない関係です。
なので基礎をしっかりおさえて置く事が大事だと考えていますので、もうしばらくお付き合いください。
【1】求職者が案件に応募する
→ 前回の例文にもあったように新規登録には『INSERT』文が使われます。
**
<構文>
ーーーーーーーーーーーーーーーー
INSERT INTO テーブル名1 (
カラム名1,
カラム名2,
カラム名3,
カラム名4
)
VALUES (
値1,
値2,
値3,
値4
);
ーーーーーーーーーーーーーーーー
<例>
→ applicationsテーブルの案件A(job_id=5001)に求職太郎さん(user_id=1001)が登録(応募)する場合
ーーーーーーーーーーーーーーーー
INSERT INTO applications (
user_id,
job_id,
status,
cover_letter
)
VALUES (
1001,
5001,
'applied',
'応募いたします。よろしくお願いいたします。
);`
ーーーーーーーーーーーーーーーー
【2】求職者が同じ案件に登録出来ない様に制約を設ける
→ 同じ求職者が同じ案件へ複数回応募できないようにするには、ユニーク制約を付けます。
<構文>
ーーーーーーーーーーーーーーーー
ALTER TABLE テーブル名
ADD CONSTRAINT 制約名
制約の種類 (...);
ーーーーーーーーーーーーーーーー
<例>
→ 同じ求職者が同じ案件へ複数回応募できないようにするには、ユニーク制約を付けます。
ーーーーーーーーーーーーーーーー
ALTER TABLE applications
ADD CONSTRAINT uniqueq_application
UNIQUE (user_id, job_id);
ーーーーーーーーーーーーーーーー
【3】企業側が登録ミスした案件を削除
→ 通常応募期限が切れた案件は論理削除しますが、登録ミスの案件は削除します
<構文>
ーーーーーーーーーーーーーーーー
DELETE FROM テーブル名
WHERE カラム名1 = 値1;
ーーーーーーーーーーーーーーーー
<例>
→ 対象の案件(job_id=10)を削除します
ーーーーーーーーーーーーーーーー
DELETE FROM jobs
WHERE job_id = 10;
ーーーーーーーーーーーーーーーー
今回は制約と、DELETE文について書かせていただきました。
基礎の基礎すぎてじれったいというそこのあなた!
「この位の構文をやった方がいいのでは?」というご意見いただけますとありがたいです。
これら『SQL』を四苦八苦しながら構築した求人サービスは以下になります。
企業の方、エンジニアの方に使っていただけると非常に喜びます。
▼求人マッチングサービス【ヴェテラン】
https://veteran-work.com/
「データベースごとのSQLの差異が知りたい」
「JIONはまだか」
など質問やご意見いただけますとモチベーション爆上げします!
それよりも前にまず見てくれたらいいね『♡』してもらえると勇気づけられます笑
本日もお疲れ様でした。
明日も頑張りましょう。