SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Pythonで学ぶバックエンド開発

【Pythonでデータベースを扱おう】Visual Studio Codeを使ったデータベース「SQLite3」を解説

Pythonで学ぶバックエンド開発 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、ベジェ曲線でお絵描きするWebアプリを使って、描いた絵を公開できる掲示板を開発しながら、Pythonを使ったバックエンド開発について学んでいきます。連載第4回は、まずVisual Studio Codeを使ったデータベース「SQLite3」を解説。それからPythonでプログラミングしてSQLite3を解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 前回は、Pythonから出力したWebページを表示する方法を解説しました。今回は、本連載で扱うデータベースについて解説します。

 本連載ではデータベースを使いますが、1番メジャーな「MariaDB」などの「MySQL」系のデータベースではなく「SQLite3」を使います。なぜならPythonの標準モジュールだけで使えるデータベースはSQLite3だけだからです。廉価なレンタルサーバでは「pip」でPythonの機能拡張ができないので、標準モジュールだけでPythonをプログラミングしなければなりません。本当はMySQL系の方がセキュリティの点でも、非同期に動作する点でも優れてはいますが、それはトレードオフです。

Visual Studio Codeの「SQLite3 Editor」拡張機能

 単純にSQLite3だけでデータベースを扱うには「Visual Studio Code」を使って「SQLite3 Editor」で機能拡張するのがお手軽です。これを使えば、「SQL文」と言うデータベース用の専用言語をコーディングするだけで、Pythonを全く使うことなくSQLite3でデータベースを扱えます。またPage 3でPythonからSQL文を使ってSQLite3のデータベースを扱う方法を解説します。

Visual Studio CodeでSQLite3 Editorを準備する

 次の図のようにVisual Studio Codeの「拡張機能(Extensions)」タブで、「SQLite3 Editor」を検索しインストールします。この拡張機能はPythonとは全く関係なく、Visual Studio Codeを拡張して、Visual Studio Code上でSQLite3のデータベースを使えるようにします。

Visual Studio CodeのSQLite3 Editor
Visual Studio CodeのSQLite3 Editor

「.db」ファイルを用意する

 Visual Studio Codeで現在のフォルダに右クリックメニューの「New File」メニューで「.db」拡張子の空のファイルを作成します。ここでは「sqlite3.db」ファイルを作成しました。この「.db」ファイルに次の図のようにデータベースのテーブルやカラム(列)やレコード(行)などのデータが保存されます。

データベースのテーブルとカラムとレコードとフィールドの概要図
データベースのテーブルとカラムとレコードとフィールドの概要図

Query Editor

 Visual Studio Codeでsqlite3.dbをダブルクリックします。それから次の図のように「Query Editor」タブをクリックします。次のサンプルコード「CREATE TABLE文」を入力し、「▷」でクエリを実行します。「クエリ(Query)」とはデータベースシステムに対して情報を検索・抽出・更新・削除などの操作を指示する命令文のことです。テーブルの作成にはSQL文「CREATE TABLE テーブル名 (カラム1 型,カラム2 型);」を使います。

SQLite3 EditorのQuery Editor
SQLite3 EditorのQuery Editor
サンプルコード「CREATE TABLE文」
CREATE TABLE new_table (new_column TEXT);

サンプルコードの解説

 テキスト(TEXT)の「new_column」カラムを作って、「new_table」テーブルを作成します。

コラム「完全にその個人だけを識別するログインシステム」

 この連載ではログインシステムは使いませんが、ログインシステムはIDとパスワードと昔から変わらないレガシーなシステムです。それで絶対他の人がログインできない仕組みを考えたいです。例えばスマホならタッチパネルを指サックをはめてタッチします。指サックに個人の情報が入っていて、これを使ってしかスマホを操作できないようにします。ただ指サックをなくしたらヤバいですが。

次のページ
Visual Studio CodeでSQLite3のCRUDをしてみる

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Pythonで学ぶバックエンド開発連載記事一覧

もっと読む

この記事の著者

大西 武(オオニシ タケシ)

 1975年香川県生まれ。大阪大学経済学部経営学科中退。プログラミング入門書などを30冊以上商業出版する作家。ドコモでグランプリなどコンテストに20回以上入賞するアーティスト。オリジナルの間違い探し「3Dクイズ」がTVで約10回出題。プロフィールサイト:https://profile.vixar.jp

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21527 2025/08/08 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング