SQLによるテーブル作成¶
始めましょう!
私たちは
- **DB Browser for SQLite** を使ってSQLiteデータベースを作成します。
- **DB Browser for SQLite** を使ってデータベースにテーブルを作成します。
データの追加は後でします。今は、データベースと最初のテーブル構造を作成します。
このデータを入れるテーブルを作成します。
id | name | secret_name | age |
---|---|---|---|
1 | Deadpond | Dive Wilson | null |
2 | Spider-Boy | Pedro Parqueador | null |
3 | Rusty-Man | Tommy Sharp | 48 |
データベースの作成¶
**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)
hero
という名前のテーブルを作成します。また、このテーブルの列は、ここで始まる括弧「(
」の中に宣言されていることにも注意してください。id
列はINTEGER
型です。これは最後に主キーとして宣言されています。name
列はTEXT
型で、常に値を持つ必要がありますNOT NULL
。secret_name
列は別のTEXT
型で、これもNOT NULL
です。age
列はINTEGER
型です。これはNOT NULL
を持っていないため、NULL
にすることができます。- これらすべての
PRIMARY KEY
はid
列です。 - これは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**を使用してデータベースの下層構造を確認し続けます🔍。