コンテンツへスキップ

SQLによるテーブル作成

始めましょう!

私たちは

  • **DB Browser for SQLite** を使ってSQLiteデータベースを作成します。
  • **DB Browser for SQLite** を使ってデータベースにテーブルを作成します。

データの追加は後でします。今は、データベースと最初のテーブル構造を作成します。

このデータを入れるテーブルを作成します。

idnamesecret_nameage
1DeadpondDive Wilsonnull
2Spider-BoyPedro Parqueadornull
3Rusty-ManTommy Sharp48

データベースの作成

**SQLModel**とSQLAlchemyはSQLに基づいています。

これらはPythonのクラスとオブジェクトを通してSQLを使用する際に役立つように設計されています。しかし、SQLを理解することは常に非常に役立ちます。

そこで、簡単な純粋なSQLの例から始めましょう。

**DB Browser for SQLite** を開きます。

新規データベースボタンをクリックします。

ダイアログが表示されます。作成したプロジェクトディレクトリに移動し、ファイルをdatabase.dbという名前で保存します。

ヒント

SQLiteデータベースファイルは、拡張子.dbで保存するのが一般的です。.sqliteを使用する場合もあります。

テーブルの作成

その後、すぐに新しいテーブルを作成するように促される場合があります。

そうでない場合は、テーブルの作成ボタンをクリックします。

次に、新しいテーブルを作成するためのダイアログが表示されます。

では、次の列を持つheroという新しいテーブルを作成しましょう。

  • id: **主キー**(PK ✅をチェック)となるINTEGER
  • name: TEXT型、NOT NULL(NN ✅をチェック)である必要があります。つまり、常に値を持つ必要があります。
  • secret_name: TEXT型、これもNOT NULL(NN ✅をチェック)である必要があります。
  • age: INTEGER型、これはNULLでも構いません。そのため、他に何もチェックする必要はありません。

OKをクリックしてテーブルを作成します。

追加ボタンをクリックして情報を追加すると、テーブルを作成するために実行されるSQL文が作成および更新されます。

CREATE TABLE "hero" ( --(1)
  "id"  INTEGER, --(2)
  "name"  TEXT NOT NULL, --(3)
  "secret_name" TEXT NOT NULL, --(4)
  "age" INTEGER, --(5)
  PRIMARY KEY("id") --(6)
); --(7)
  1. heroという名前のテーブルを作成します。また、このテーブルの列は、ここで始まる括弧「(」の中に宣言されていることにも注意してください。
  2. id列はINTEGER型です。これは最後に主キーとして宣言されています。
  3. name列はTEXT型で、常に値を持つ必要がありますNOT NULL
  4. secret_name列は別のTEXT型で、これもNOT NULLです。
  5. age列はINTEGER型です。これはNOT NULLを持っていないため、NULLにすることができます。
  6. これらすべてのPRIMARY KEYid列です。
  7. これはSQLテーブルの最後で、最後の括弧「)」があります。「;」はSQL文の終わりを示すセミコロンです。同じSQL文字列には、複数のSQL文を含めることができます。

これで、指定した列を持つテーブルのリストに表示されるようになります🎉。

残りの手順は、変更を保存をクリックして、変更をファイルに保存することだけです。

その後、新しいテーブルは./database.dbファイルのこのデータベースに保存されます。

テーブルの確認

すべて保存されていることを確認しましょう。

まず、データベースを閉じるボタンをクリックしてデータベースを閉じます。

次に、データベースを開くをクリックしてデータベースを再度開き、同じファイル./database.dbを選択します。

作成したのと同じテーブルが再び表示されます。

SQLによるテーブルの再作成

SQLの動作を確認するために、テーブルをもう一度作成してみましょう。ただし、SQLを使って作成します。

もう一度データベースを閉じるボタンをクリックします。

そして、プロジェクトディレクトリから./database.dbファイルを削除します。

そして、もう一度新規データベースをクリックします。

ファイルをdatabase.dbという名前で再度保存します。

今回は、新しいテーブルを作成するためのダイアログが表示された場合は、キャンセルボタンをクリックして閉じます。

そして、SQLの実行タブに移動します。

前のステップで生成されたのと同じSQLを記述します。

CREATE TABLE "hero" (
  "id"  INTEGER,
  "name"  TEXT NOT NULL,
  "secret_name" TEXT NOT NULL,
  "age" INTEGER,
  PRIMARY KEY("id")
);

次に、「すべて実行」ボタンをクリックします。

「実行が正常に完了しました」というメッセージが表示されます。

データベース構造タブに戻ると、同じテーブルが実際に作成されていることがわかります。

SQLの詳細

このチュートリアルでは、SQLの小さな部分をいくつか示していきます。**SQLModel**を使用するためにSQLのエキスパートである必要はありません。

しかし、興味があり、SQLの概要をすばやく把握したい場合は、SQLiteの視覚的なドキュメントであるSQL As Understood By SQLiteをお勧めします。

CREATE TABLEから始めることができます。

もちろん、SQLの完全なコースを受講したり、SQLに関する本を読んだりすることもできますが、**SQLModel**で生産性を高めるために始めるには、ここで説明するチュートリアルの内容以上のものが必要ありません🤓。

まとめ

視覚的なユーザーインターフェースである**DB Browser for SQLite**を使用して、ファイル内のSQLiteデータベースとどのようにやり取りするかを確認しました。

また、SQLiteデータベースに直接SQLを記述する方法も確認しました。これは、データベース内のデータが正しく表示されていることを確認したり、デバッグしたりする際に役立ちます。

次の章では、**SQLModel**を使用してデータベースとやり取りし始め、同時に**DB Browser for SQLite**を使用してデータベースの下層構造を確認し続けます🔍。