TIL DAY.41[Flask]データベース


以前に作成したtwitterのミニ版ミニAPIを作成すると、APIが再起動されるたびに含まれるデータが消えてしまうため、非常に不便です.しかし、幸いなことに、データベースシステムを使用して永続的に保存する方法があることがわかりました.
今回はデータベースシステムのコアコンセプトとSQL(Structured Query Language)について学びます.

Database System


データベース・システムは、データベースに格納されているデータを読み取り、格納、アップロード、および削除できます.
データベースシステムには、RDBMSとNoSQLの2つの非関係データベースがあります.でもこの2つは前のTILで既にお話しした内容です
気になるなら上のTIL DAY35を参考にすればいいです.

SQL(Structured Query Language)


SQLは、MySQLなどのリレーショナル・データベースでデータを読み取り、作成、変更するための言語です.基本的に、CRUDはリレーショナル・データベース・システム専用言語であり、データの作成、読み取り、更新、削除機能を提供します.SQLには文法がたくさんありますが、基本的にはSELECT、INSERT、UPDATE、DELETE、JOINは理解しなければなりません.

SELECT


SELECT構文は、リレーショナル・データベース・システムでデータを読み込む際に使用されるSQL構文です.
SELECT
	id,
    name,
    age,
    gender
FROM users
usersという名前のテーブルでid、name、age、性別のコラムを読みたい場合は、上記のSELECT文を使用します.userという名前のテーブルからコラムの値を読み込む場合は、where構文を使用してuserのid、name、age、性別を同時に読み込むことができます.
SELECT
id,
name,
age,
gender
From users
WHERE name="金浩均"

INSERT


INSERT構文は、データ生成時に次のようになります.
{
"id" : 1,
"name" : "김호균",
"age" : 27,
"gender" : "남자"
}
上のデータを使用してUsersテーブルに作成
INSERT INTO users (
id,
name,
age,
gender
) VALUES (
1,
「金浩均」、
27,
「男」
)
1つ以上のデータを生成する場合は、INSERT構文を使用します.
INSERT INTO users (
id,
name,
age,
gender
) VALUES (
1,
「金浩均」、
27,
「男」
),(
2,
「宋俊基」、
33,
「女」
)

UPDATE


UPDATE構文を使用して既存のデータを変更します.
UPDATE table_name SET column1 = value1 WHERE column2 = value2
WHERE構文と一緒に使用しない場合、テーブルのすべての低値が変更されるため、一緒に使用されます.もちろん、修正が必要なWHERE文法は何も書かなければ大丈夫です.

DELETE


データの削除にはDELETE構文を使用します.
DELETE FROM table_name WHERE column = value
UPDATEと同様に、すべてのLOWをクリアする必要がない場合は、WHERE構文とともに使用する必要があります.

JOIN


JOIN構文は、複数のテーブルを接続するために使用されます.リレーショナル・データベースのプロパティのため、必要な情報を取得するには、1つ以上のテーブルを読み込む必要があります.この場合、これらのテーブルには、以下の形式のJOIN文を使用して接続できます.
SELECT
table1.column1,
table2.column2
FROM table1
JOIN table2 ON tabel1.id = table2.table1_id